|
@@ -181,7 +181,7 @@ async def _asr_transcribe(audio_data: np.ndarray, asr_engine=None) -> str:
|
|
|
text = ""
|
|
text = ""
|
|
|
async for chunk, is_done in _asr_mimo_stream(audio_data):
|
|
async for chunk, is_done in _asr_mimo_stream(audio_data):
|
|
|
if chunk:
|
|
if chunk:
|
|
|
- text = chunk # last partial becomes final
|
|
|
|
|
|
|
+ text += chunk
|
|
|
return text.strip()
|
|
return text.strip()
|
|
|
loop = asyncio.get_running_loop()
|
|
loop = asyncio.get_running_loop()
|
|
|
result = await loop.run_in_executor(None, asr_engine.transcribe_array, audio_data)
|
|
result = await loop.run_in_executor(None, asr_engine.transcribe_array, audio_data)
|
|
@@ -213,7 +213,7 @@ async def _asr_mimo_stream(audio_data: np.ndarray):
|
|
|
"data": f"data:audio/wav;base64,{audio_b64}"}}
|
|
"data": f"data:audio/wav;base64,{audio_b64}"}}
|
|
|
]}],
|
|
]}],
|
|
|
"stream": True,
|
|
"stream": True,
|
|
|
- "extra_body": {"asr_options": {"language": "auto"}},
|
|
|
|
|
|
|
+ "asr_options": {"language": "auto"},
|
|
|
},
|
|
},
|
|
|
headers=h, timeout=aiohttp.ClientTimeout(total=20),
|
|
headers=h, timeout=aiohttp.ClientTimeout(total=20),
|
|
|
) as r:
|
|
) as r:
|