Commit 74a4126

benny-dou <60535774+benny-dou@users.noreply.github.com>
2025-05-19 10:30:38
fix(asr): handle empty audio
1 parent 4cc7b09
Changed files (1)
src/asr/tecent_asr.py
@@ -90,6 +90,8 @@ async def tencent_single_asr(path: str | Path, engine: str, voice_format: str) -
         proxy=ASR.TENCENT_PROXY,
         check_keys=["Response.WordList"],
     )
+    if res["Response"]["WordList"] is None:
+        return "⚠️该音频未识别到文字"
     return generate_tencent_transcription(sentence_start_ms=[0], words=[res["Response"]["WordList"]])
 
 
@@ -127,6 +129,10 @@ async def tencent_flash_asr(path: str | Path, engine: str, voice_format: str) ->
             check_kv={"code": 0},
             check_keys=["flash_result.0.sentence_list.0.word_list"],
         )
+        if error := res.get("hx_error", ""):
+            if "audio data empty" in error:
+                return "⚠️该音频未识别到文字"
+            return error
         sentence_start_ms = flatten(glom(res, "flash_result.*.sentence_list.*.start_time"), levels=1)
         words = flatten(glom(res, "flash_result.*.sentence_list.*.word_list"), levels=1)
         return generate_tencent_transcription(sentence_start_ms, words)