瀏覽代碼

讯飞asr测试,debug

Davidliu 1 月之前
父節點
當前提交
b595104727
共有 2 個文件被更改,包括 13 次插入7 次删除
  1. 11 6
      src/core/callcenter/test.py
  2. 2 1
      src/core/voip/asr.py

+ 11 - 6
src/core/callcenter/test.py

@@ -25,10 +25,15 @@ if __name__ == '__main__':
     #     num, bucket = get_bucket(custom_uuid=custom_uuid, buckets=buckets)
     #     print(custom_uuid, num, bucket.name)
 
-    message = """{"seg_id": 2, "cn": {"st": {"rt": [{"ws": [{"cw": [{"sc": 0.00, "w": "停水", "wp": "n", "rl": "0", "wb": 9, "wc": 0.00, "we": 64}], "wb": 9,"we": 64},{"cw": [{"sc": 0.00, "w": "咨询", "wp": "n", "rl": "0", "wb": 65, "wc": 0.00, "we": 132}], "wb": 65,"we": 132}]}], "bg": "9510", "type": "0", "ed": "10950"}}, "ls": false}"""
-    result_dict = json.loads(message)
-    st = result_dict["cn"]["st"]
-    rt = st["rt"]
-    result = ''.join(cw["w"] for item in rt for ws in item["ws"] for cw in ws["cw"])
+    # message = """{"seg_id": 2, "cn": {"st": {"rt": [{"ws": [{"cw": [{"sc": 0.00, "w": "停水", "wp": "n", "rl": "0", "wb": 9, "wc": 0.00, "we": 64}], "wb": 9,"we": 64},{"cw": [{"sc": 0.00, "w": "咨询", "wp": "n", "rl": "0", "wb": 65, "wc": 0.00, "we": 132}], "wb": 65,"we": 132}]}], "bg": "9510", "type": "0", "ed": "10950"}}, "ls": false}"""
+    message = '{"action":"result","code":"0","data":"{\"seg_id\":0,\"cn\":{\"st\":{\"rt\":[{\"ws\":[{\"cw\":[{\"sc\":0.00,\"w\":\"蜓\",\"wp\":\"n\",\"rl\":\"0\",\"wb\":13,\"wc\":0.00,\"we\":26}],\"wb\":0,\"we\":0}]}],\"bg\":\"9160\",\"type\":\"1\",\"ed\":\"0\"}},\"ls\":false}","desc":"success","sid":"rta108a8500@dx2f5f1b177d38000100"}'
+    # 解析最外层 JSON
+    message_dict = json.loads(message)
 
-    print(result)
+    # 解析嵌套的 JSON 字符串
+    data = json.loads(message_dict['data'])
+
+    # 提取 "w" 字段中的词汇
+    words = ''.join(cw["w"] for item in data["cn"]["st"]["rt"] for ws in item["ws"] for cw in ws["cw"])
+
+    print(words)

+ 2 - 1
src/core/voip/asr.py

@@ -308,7 +308,8 @@ class XfAsr:
             final_result['name'] = 'SentenceBegin'
         elif result_dict["action"] == "result":
             result_dict = json.loads(message)
-            st = result_dict["cn"]["st"]
+            result_1 = json.loads(result_dict["data"])
+            st = result_1["data"]["cn"]["st"]
             rt = st["rt"]
             if st.get('type') == 1:
                 final_result['name'] = 'TranscriptionResultChanged'