mirror of
https://github.com/modelscope/FunASR
synced 2025-09-15 14:48:36 +08:00
for python ws client multiple files bug (#710)
* for python ws client multiple files bug * changes for microphone
This commit is contained in:
parent
e3c38415f1
commit
dfda451120
@ -100,11 +100,13 @@ async def record_microphone():
|
|||||||
|
|
||||||
message = json.dumps({"mode": args.mode, "chunk_size": args.chunk_size, "chunk_interval": args.chunk_interval,
|
message = json.dumps({"mode": args.mode, "chunk_size": args.chunk_size, "chunk_interval": args.chunk_interval,
|
||||||
"wav_name": "microphone", "is_speaking": True})
|
"wav_name": "microphone", "is_speaking": True})
|
||||||
voices.put(message)
|
#voices.put(message)
|
||||||
|
await websocket.send(message)
|
||||||
while True:
|
while True:
|
||||||
data = stream.read(CHUNK)
|
data = stream.read(CHUNK)
|
||||||
message = data
|
message = data
|
||||||
voices.put(message)
|
#voices.put(message)
|
||||||
|
await websocket.send(message)
|
||||||
await asyncio.sleep(0.005)
|
await asyncio.sleep(0.005)
|
||||||
|
|
||||||
async def record_from_scp(chunk_begin, chunk_size):
|
async def record_from_scp(chunk_begin, chunk_size):
|
||||||
@ -178,25 +180,7 @@ async def record_from_scp(chunk_begin, chunk_size):
|
|||||||
await websocket.close()
|
await websocket.close()
|
||||||
|
|
||||||
|
|
||||||
async def ws_send():
|
|
||||||
global voices
|
|
||||||
global websocket
|
|
||||||
print("started to sending data!")
|
|
||||||
while True:
|
|
||||||
while not voices.empty():
|
|
||||||
data = voices.get()
|
|
||||||
voices.task_done()
|
|
||||||
try:
|
|
||||||
await websocket.send(data)
|
|
||||||
except Exception as e:
|
|
||||||
print('Exception occurred:', e)
|
|
||||||
traceback.print_exc()
|
|
||||||
exit(0)
|
|
||||||
await asyncio.sleep(0.005)
|
|
||||||
await asyncio.sleep(0.005)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
async def message(id):
|
async def message(id):
|
||||||
global websocket,voices,offline_msg_done
|
global websocket,voices,offline_msg_done
|
||||||
text_print = ""
|
text_print = ""
|
||||||
@ -234,6 +218,7 @@ async def message(id):
|
|||||||
text_print = text_print[-args.words_max_print:]
|
text_print = text_print[-args.words_max_print:]
|
||||||
os.system('clear')
|
os.system('clear')
|
||||||
print("\rpid" + str(id) + ": " + text_print)
|
print("\rpid" + str(id) + ": " + text_print)
|
||||||
|
offline_msg_done=True
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print("Exception:", e)
|
print("Exception:", e)
|
||||||
@ -277,9 +262,8 @@ async def ws_client(id, chunk_begin, chunk_size):
|
|||||||
task = asyncio.create_task(record_from_scp(i, 1))
|
task = asyncio.create_task(record_from_scp(i, 1))
|
||||||
else:
|
else:
|
||||||
task = asyncio.create_task(record_microphone())
|
task = asyncio.create_task(record_microphone())
|
||||||
task2 = asyncio.create_task(ws_send())
|
|
||||||
task3 = asyncio.create_task(message(str(id)+"_"+str(i))) #processid+fileid
|
task3 = asyncio.create_task(message(str(id)+"_"+str(i))) #processid+fileid
|
||||||
await asyncio.gather(task, task2, task3)
|
await asyncio.gather(task, task3)
|
||||||
exit(0)
|
exit(0)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user