| funasr/runtime/docs/SDK_advanced_guide_offline.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| funasr/runtime/docs/SDK_advanced_guide_offline_zh.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| funasr/runtime/docs/SDK_tutorial.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| funasr/runtime/docs/SDK_tutorial_zh.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| funasr/runtime/python/websocket/funasr_wss_client.py | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| funasr/runtime/python/websocket/funasr_wss_server.py | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
funasr/runtime/docs/SDK_advanced_guide_offline.md
@@ -169,7 +169,7 @@ ### python-client ```shell python wss_client_asr.py --host "127.0.0.1" --port 10095 --mode offline --audio_in "./data/wav.scp" --send_without_sleep --output_dir "./results" python funasr_wss_client.py --host "127.0.0.1" --port 10095 --mode offline --audio_in "./data/wav.scp" --send_without_sleep --output_dir "./results" ``` Introduction to command parameters: funasr/runtime/docs/SDK_advanced_guide_offline_zh.md
@@ -186,7 +186,7 @@ ### python-client ```shell python wss_client_asr.py --host "127.0.0.1" --port 10095 --mode offline --audio_in "./data/wav.scp" --send_without_sleep --output_dir "./results" python funasr_wss_client.py --host "127.0.0.1" --port 10095 --mode offline --audio_in "./data/wav.scp" --send_without_sleep --output_dir "./results" ``` 命令参数介绍: ```text funasr/runtime/docs/SDK_tutorial.md
@@ -275,7 +275,7 @@ Looking in indexes: http://mirrors.cloud.aliyuncs.com/pypi/simple/ Requirement already satisfied: websockets in /usr/local/lib/python3.8/dist-packages (from -r /root/funasr_samples/python/requirements_client.txt (line 1)) (11.0.3) Run python3 /root/funasr_samples/python/wss_client_asr.py --host 127.0.0.1 --port 10095 --mode offline --audio_in /root/funasr_samples/audio/asr_example.wav --send_without_sleep --output_dir ./funasr_samples/python Run python3 /root/funasr_samples/python/funasr_wss_client.py --host 127.0.0.1 --port 10095 --mode offline --audio_in /root/funasr_samples/audio/asr_example.wav --send_without_sleep --output_dir ./funasr_samples/python ... ... @@ -284,7 +284,7 @@ Exception: sent 1000 (OK); then received 1000 (OK) end If failed, you can try (python3 /root/funasr_samples/python/wss_client_asr.py --host 127.0.0.1 --port 10095 --mode offline --audio_in /root/funasr_samples/audio/asr_example.wav --send_without_sleep --output_dir ./funasr_samples/python) in your Shell. If failed, you can try (python3 /root/funasr_samples/python/funasr_wss_client.py --host 127.0.0.1 --port 10095 --mode offline --audio_in /root/funasr_samples/audio/asr_example.wav --send_without_sleep --output_dir ./funasr_samples/python) in your Shell. ``` @@ -292,7 +292,7 @@ If you want to directly run the client for testing, you can refer to the following simple instructions, taking the Python version as an example: ```shell python3 wss_client_asr.py --host "127.0.0.1" --port 10095 --mode offline --audio_in "../audio/asr_example.wav" --send_without_sleep --output_dir "./results" python3 funasr_wss_client.py --host "127.0.0.1" --port 10095 --mode offline --audio_in "../audio/asr_example.wav" --send_without_sleep --output_dir "./results" ``` Command parameter instructions: funasr/runtime/docs/SDK_tutorial_zh.md
@@ -37,7 +37,7 @@ 我们以Python语言客户端为例,进行说明,支持多种音频格式输入(.wav, .pcm, .mp3等),也支持视频输入(.mp4等),以及多文件列表wav.scp输入,其他版本客户端请参考文档([点击此处](#客户端用法详解)) ```shell python3 wss_client_asr.py --host "127.0.0.1" --port 10095 --mode offline --audio_in "../audio/asr_example.wav" --output_dir "./results" python3 funasr_wss_client.py --host "127.0.0.1" --port 10095 --mode offline --audio_in "../audio/asr_example.wav" --output_dir "./results" ``` ## 客户端用法详解 @@ -56,7 +56,7 @@ 若想直接运行client进行测试,可参考如下简易说明,以python版本为例: ```shell python3 wss_client_asr.py --host "127.0.0.1" --port 10095 --mode offline --audio_in "../audio/asr_example.wav" --output_dir "./results" python3 funasr_wss_client.py --host "127.0.0.1" --port 10095 --mode offline --audio_in "../audio/asr_example.wav" --output_dir "./results" ``` 命令参数说明: funasr/runtime/python/websocket/funasr_wss_client.py
@@ -8,7 +8,7 @@ import json import traceback from multiprocessing import Process from funasr.fileio.datadir_writer import DatadirWriter # from funasr.fileio.datadir_writer import DatadirWriter import logging @@ -72,11 +72,13 @@ voices = Queue() offline_msg_done=False ibest_writer = None if args.output_dir is not None: writer = DatadirWriter(args.output_dir) ibest_writer = writer[f"1best_recog"] # if os.path.exists(args.output_dir): # os.remove(args.output_dir) if not os.path.exists(args.output_dir): os.makedirs(args.output_dir) async def record_microphone(): @@ -186,6 +188,10 @@ text_print = "" text_print_2pass_online = "" text_print_2pass_offline = "" if args.output_dir is not None: ibest_writer = open(os.path.join(args.output_dir, "text.{}".format(id)), "w+", encoding="utf-8") else: ibest_writer = None try: while True: @@ -193,13 +199,15 @@ meg = json.loads(meg) wav_name = meg.get("wav_name", "demo") text = meg["text"] if ibest_writer is not None: ibest_writer["text"][wav_name] = text if ibest_writer is not None: text_write_line = "{}\t{}\n".format(wav_name, text) ibest_writer.write(text_write_line) if meg["mode"] == "online": text_print += "{}".format(text) text_print = text_print[-args.words_max_print:] # os.system('clear') os.system('clear') print("\rpid" + str(id) + ": " + text_print) elif meg["mode"] == "offline": text_print += "{}".format(text) @@ -216,7 +224,7 @@ text_print = text_print_2pass_offline + "{}".format(text) text_print_2pass_offline += "{}".format(text) text_print = text_print[-args.words_max_print:] # os.system('clear') os.system('clear') print("\rpid" + str(id) + ": " + text_print) offline_msg_done=True @@ -227,17 +235,6 @@ async def print_messge(): global websocket while True: try: meg = await websocket.recv() meg = json.loads(meg) print(meg) except Exception as e: print("Exception:", e) #traceback.print_exc() exit(0) async def ws_client(id, chunk_begin, chunk_size): if args.audio_in is None: funasr/runtime/python/websocket/funasr_wss_server.py
@@ -243,7 +243,7 @@ param_dict=websocket.param_dict_punc) # print("offline", rec_result) if 'text' in rec_result: message = json.dumps({"mode": "2pass-offline", "text": rec_result["text"], "wav_name": websocket.wav_name}) message = json.dumps({"mode": websocket.mode, "text": rec_result["text"], "wav_name": websocket.wav_name}) await websocket.send(message) @@ -260,7 +260,7 @@ if "text" in rec_result: if rec_result["text"] != "sil" and rec_result["text"] != "waiting_for_more_voice": # print("online", rec_result) message = json.dumps({"mode": "2pass-online", "text": rec_result["text"], "wav_name": websocket.wav_name}) message = json.dumps({"mode": websocket.mode, "text": rec_result["text"], "wav_name": websocket.wav_name}) await websocket.send(message) if len(args.certfile)>0: