small fixes

This commit is contained in:
2018-08-22 03:36:00 +02:00
parent 034d8b426f
commit 2fb60fce07
4 changed files with 32 additions and 7 deletions

View File

View File

@@ -20,7 +20,6 @@ class AppRequestHandler(socketserver.BaseRequestHandler):
data += tmp[:-len("\nterminate\n")]
break
data += tmp
print("Request: {}".format(data))
retval = server_interface.parse_request(data)
self.request.send(retval)
self.request.send(b"terminate\n")

View File

@@ -1,15 +1,29 @@
import speech
import filesystem
MAIN_DIR = b"data/"
def parse_request(data):
''' parse request and call correct function '''
# echo/test connection
# echo/test connection #
cleared_data = is_data_type(b"ECHOREQUEST,",data)
if cleared_data:
return cleared_data
# handle audio transmission #
cleared_data = is_data_type(b"AUDIO_TRANSMISSION,",data)
if cleared_data:
with open("test.wav","wb") as f:
f.write(cleared_data)
return b"SUCCESS"
filename = None
try:
filename, base64_string = cleared_data.split(b',')
filename = MAIN_DIR + filename.split(b"/")[-1] + b".wav"
filename = filename.decode("utf-8")
except ValueError:
return b"ERROR_MALFORMED_REQUEST"
ret = filesystem.save_audio(filename, base64_string)
speech.async_create_transcript(filename)
return ret
# other shit
return b"UNRECOGNIZED_SERVER_OPTION\n"

View File

@@ -1,8 +1,20 @@
import speech_recognition as spr
def analyse(file_path):
import multiprocessing as mp
import os.path
import filesystem
import log
def async_create_transcript(filename):
mp.Process(target=create_and_save_transcript,args=(filename,)).start()
def create_and_save_transcript(filename):
transcript = analyse(filename)
filesystem.save_transcript(transcript)
def analyse(filename):
''' returns the transcripted audio, or None if the analysis fails '''
recognizer = spr.Recognizer()
with spr.AudioFile(file_path) as source:
with spr.AudioFile(filename) as source:
audio = recognizer.record(source)
try: