FunASR/funasr/runtime/python/grpc
Yabin Li b454a1054f
update online runtime, including vad-online, paraformer-online, punc-online,2pass (#815)
* init

* update

* add LoadConfigFromYaml

* update

* update

* update

* del time stat

* update

* update

* update

* update

* update

* update

* update

* add cpp websocket online 2pass srv

* [feature] multithread grpc server

* update

* update

* update

* [feature] support 2pass grpc cpp server and python client, can change mode to use offline, online or 2pass decoding

* update

* update

* update

* update

* add paraformer online onnx model export

* add paraformer online onnx model export

* add paraformer online onnx model export

* add paraformer online onnxruntime

* add paraformer online onnxruntime

* add paraformer online onnxruntime

* fix export paraformer online onnx model bug

* for client closed earlier and core dump

* support GRPC two pass decoding (#813)

* [refator] optimize grpc server pipeline and instruction

* [refator] rm useless file

* [refator] optimize grpc client pipeline and instruction

* [debug] hanlde coredump when client ternimated

* [refator] rm useless log

* [refator] modify grpc cmake

* Create run_server_2pass.sh

* Update SDK_tutorial_online_zh.md

* Update SDK_tutorial_online.md

* Update SDK_advanced_guide_online.md

* Update SDK_advanced_guide_online_zh.md

* Update SDK_tutorial_online_zh.md

* Update SDK_tutorial_online.md

* update

---------

Co-authored-by: zhaoming <zhaomingwork@qq.com>
Co-authored-by: boji123 <boji123@aliyun.com>
Co-authored-by: haoneng.lhn <haoneng.lhn@alibaba-inc.com>
2023-08-08 11:17:43 +08:00
..
proto update online runtime, including vad-online, paraformer-online, punc-online,2pass (#815) 2023-08-08 11:17:43 +08:00
.gitignore adjust import lib order 2023-01-30 17:18:20 +08:00
grpc_main_client.py update online runtime, including vad-online, paraformer-online, punc-online,2pass (#815) 2023-08-08 11:17:43 +08:00
Readme.md update online runtime, including vad-online, paraformer-online, punc-online,2pass (#815) 2023-08-08 11:17:43 +08:00
requirements.txt update online runtime, including vad-online, paraformer-online, punc-online,2pass (#815) 2023-08-08 11:17:43 +08:00

GRPC python Client for 2pass decoding

The client can send streaming or full audio data to server as you wish, and get transcribed text once the server respond (depends on mode)

In the demo client, audio_chunk_duration is set to 1000ms, and send_interval is set to 100ms

1. Install the requirements

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

2. Generate protobuf file

# paraformer_pb2.py and paraformer_pb2_grpc.py are already generated, 
# regenerate it only when you make changes to ./proto/paraformer.proto file.
python -m grpc_tools.protoc --proto_path=./proto -I ./proto --python_out=. --grpc_python_out=./ ./proto/paraformer.proto

3. Start grpc client

# Start client.
python grpc_main_client.py --host 127.0.0.1 --port 10100 --wav_path /path/to/your_test_wav.wav

Acknowledge

  1. This project is maintained by FunASR community.
  2. We acknowledge burkliu (刘柏基, liubaiji@xverse.cn) for contributing the grpc service.