FunASR/funasr/runtime/python/websocket
2023-05-08 00:41:21 +08:00
..
tmp/1best_recog vad begin point bias 2023-05-08 00:41:21 +08:00
parse_args.py websocket offline 2023-05-07 23:02:56 +08:00
README.md websocket offline 2023-05-08 00:11:30 +08:00
requirements_client.txt websocket 2023-03-23 13:41:38 +08:00
requirements_server.txt websocket 2023-03-23 13:33:55 +08:00
ws_client.py websocket offline 2023-05-08 00:11:30 +08:00
ws_server_offline.py vad begin point bias 2023-05-08 00:41:21 +08:00
ws_server_online.py websocket offline 2023-05-08 00:11:30 +08:00

Service with websocket-python

This is a demo using funasr pipeline with websocket python-api.

For the Server

Install the modelscope and funasr

pip install -U modelscope funasr
# For the users in China, you could install with the command:
# pip install -U modelscope funasr -i https://mirror.sjtu.edu.cn/pypi/web/simple
git clone https://github.com/alibaba/FunASR.git && cd FunASR

Install the requirements for server

cd funasr/runtime/python/websocket
pip install -r requirements_server.txt

Start server

ASR offline server

python ws_server_offline.py --port 10095 --asr_model "damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch"

ASR streaming server

python ws_server_online.py --port 10095 --asr_model_online "damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online"

ASR offline/online 2pass server

For the client

Install the requirements for client

git clone https://github.com/alibaba/FunASR.git && cd FunASR
cd funasr/runtime/python/websocket
pip install -r requirements_client.txt

Start client

ASR offline client

Recording from mircrophone
# --chunk_interval, "10": 600/10=60ms, "5"=600/5=120ms, "20": 600/12=30ms
python ws_client.py --host "0.0.0.0" --port 10095 --chunk_interval 10 --words_max_print 100
Loadding from wav.scp(kaldi style)
# --chunk_interval, "10": 600/10=60ms, "5"=600/5=120ms, "20": 600/12=30ms
python ws_client.py --host "0.0.0.0" --port 10095 --chunk_interval 10 --words_max_print 100 --audio_in "./data/wav.scp" --send_without_sleep --output_dir "./results"

ASR streaming client

Recording from mircrophone
# --chunk_size, "5,10,5"=600ms, "8,8,4"=480ms
python ws_client.py --host "0.0.0.0" --port 10095 --chunk_size "5,10,5" --words_max_print 100
Loadding from wav.scp(kaldi style)
# --chunk_size, "5,10,5"=600ms, "8,8,4"=480ms
python ws_client.py --host "0.0.0.0" --port 10095 --chunk_size "5,10,5" --audio_in "./data/wav.scp" --words_max_print 100 --output_dir "./results"

ASR offline/online 2pass client

Acknowledge

  1. This project is maintained by FunASR community.
  2. We acknowledge zhaoming for contributing the websocket service.
  3. We acknowledge cgisky1980 for contributing the websocket service of offline model.