Crystal ASR
crystal-asr版本和源头对应关系
| crsytal-asr名称 | 源头 | 调整 |
|---|---|---|
| crystal-asr:online-cpu-1.0.13 | funasr |
crystal-asr安装步骤
版本历史
| 版本 | 说明 |
|---|---|
| 1.0 | 初始版本,在线识别的安装 |
安装环境
系统已安装好 docker。
安装
1. 复制文件到服务器
发布包文件夹中包含以下几部分内容:
- docker 镜像 tar 包,
crystal-asr-online-cpu-1.0.13.tar - 安装脚本,sh脚本文件;
- 资源文件夹。主要是模型。部署过程中,若工作目录下没有,服务会自动联网下载。
- 客户端测试程序
asr_samples
将 crystalasr 相关文件复制到服务器工作目录,并进入,解压各压缩包。如:/home/apps/simperfect/crystalasr。
目录结构如下:
crystalASR
├── asr-runtime-resources :asr资源文件目录
│ └── models :模型文件目录(提前拷贝或第一次运行时自动联网下载)
│ ├── damo
│ │ ├── punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx
│ │ │ ├── configuration.json
│ │ │ ├── config.yaml
│ │ │ ├── model_quant.onnx
│ │ │ ├── quickstart.md
│ │ │ ├── README.md
│ │ │ └── tokens.json
│ │ ├── speech_fsmn_vad_zh-cn-16k-common-onnx
│ │ │ ├── am.mvn
│ │ │ ├── configuration.json
│ │ │ ├── config.yaml
│ │ │ ├── model_quant.onnx
│ │ │ ├── quickstart.md
│ │ │ └── README.md
│ │ ├── speech_ngram_lm_zh-cn-ai-wesp-fst
│ │ │ ├── configuration.json
│ │ │ ├── config.yaml
│ │ │ ├── lexicon.txt
│ │ │ ├── README.md
│ │ │ └── TLG.fst
│ │ ├── speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx
│ │ │ ├── am.mvn
│ │ │ ├── configuration.json
│ │ │ ├── config.yaml
│ │ │ ├── decoder_quant.onnx
│ │ │ ├── model_quant.onnx
│ │ │ ├── quickstart.md
│ │ │ ├── README.md
│ │ │ └── tokens.json
│ │ └── speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx
│ │ ├── am.mvn
│ │ ├── configuration.json
│ │ ├── config.yaml
│ │ ├── model_quant.onnx
│ │ ├── quickstart.md
│ │ ├── README.md
│ │ └── tokens.json
│ ├── iic
│ │ └── SenseVoiceSmall-onnx :支持情绪的ASR模型
│ │ ├── am.mvn
│ │ ├── configuration.json
│ │ ├── config.yaml
│ │ ├── model_quant.onnx
│ │ ├── README.md
│ │ └── tokens.json
│ └── thuduj12
│ └── fst_itn_zh
│ ├── configuration.json
│ ├── README.md
│ ├── zh_itn_tagger.fst
│ └── zh_itn_verbalizer.fst
├── asr_samples.rar :客户端测试程序
├── crystal-asr-online-cpu-1.0.13.tar :docker镜像文件包
├── crystalasr-runtime-deploy-online-cpu-zh-paraformer.sh :在线识别时间戳模型服务部署脚本
└── crystalasr-runtime-deploy-online-cpu-zh-sensevoice.sh :在线识别情绪模型服务部署脚本2. 加载docker image
❯ sudo docker load -i crystal-asr-online-cpu-1.0.13.tar
5d4305e9839a: Loading layer [==================================================>] 2.62MB/2.62MB
Loaded image: crystal-asr:online-cpu-1.0.133. 安装ASR服务
在线服务器目前支持带时间戳模型和情绪模型。根据项目实际需要进行部署。
如果仅仅是实时转写,部署时间戳模型的服务就可以了。使用 basicpaper
3.1安装时间戳模型的ASR服务
使用部署脚本 crystalasr-runtime-deploy-online-cpu-zh-paraformer.sh 进行安装:
# install参数为安装,ssl参数设为0,表示不启用wss,用ws。如果要启用wss,需要事先生成SSL证书
sudo bash crystalasr-runtime-deploy-online-cpu-zh-paraformer.sh --install --ssl 0然后按照指导步骤一步一步执行(大部分使用默认设置即可,直接回车):
- 选择Docker镜像,目前只有唯一选择——
crystal-asr:online-cpu-1.0.13,前面第2步加载的镜像

- 模型选择。
- ASR模型,一般选择
damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-onnx - VAD模型选择
damo/speech_fsmn_vad_zh-cn-16k-common-onnx,目前只有唯一选择 - 标点模型选择
damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx,目前只有唯一选择

- 指定ASR 服务的访问端口(服务器的端口,而不是容器内部端口)。根据实际情况分配,如果在一台服务器部署多个ASR服务,端口不能重复。时间戳模型服务建议用10096

- 最后确认一下所有参数,没问题就输入Y或直接确认。

这样就安装完成。通过 docker ps 能看到一个名称为 crystalasr-online-paraformer 的容器运行。
3.2安装情绪模型的ASR服务
类似于安装时间戳模型的ASR服务的步骤,使用部署脚本crystalasr-runtime-deploy-online-cpu-zh-sensevoice.sh
sudo bash crystalasr-runtime-deploy-online-cpu-zh-sensevoice.sh --install --ssl 0然后按照指导步骤一步一步执行(大部分使用默认设置即可,直接回车):
- 选择 Docker 镜像,目前只有唯一选择——
crystal-asr:online-cpu-1.0.13,前面第2步加载的镜像

- 模型选择。
- ASR模型,不同于前面的时间戳模型,选择
iic/SenseVoiceSmall-onnx - VAD模型选择
damo/speech_fsmn_vad_zh-cn-16k-common-onnx - 标点模型选择
damo/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx
- 指定 ASR 服务的访问端口(服务器的端口,而不是容器内部端口)。根据实际情况分配,如果在一台服务器部署多个 ASR 服务,端口不能重复。情绪模型服务建议用
10098

- 最后确认一下所有参数后完成安装:

通过docker ps能看到一个名称为 crystalasr-online-sensevoice 的容器运行。
3.3 测试验证ASR服务
将 asr_samples 目录复制到任意能访问ASR服务的PC,用浏览器打开 asr_samples/html/static/index.html,页面内容如下:

该测试页面支持麦克风输入和打开语音文件输入测试。根据实际情况选择。
在asr服务器地址处填写部署好的ASR服务地址(websocket 协议地址),格式为 ws://ip:port 或 wss://ip:port。若服务器未启用ssl加密,使用ws。
假如服务器地址为 172.28.168.129,端口为 10096,则输入地址:
ws://172.28.168.129:10096然后点击连接,连上服务器后点击开始即可进行测试。“语音识别结果显示”框显示识别结果表示服务运行正常。