一、安装asrproxy
- 上传asrproxy安装包到服务器目录:/root 上传完成之后依次执行下面的命令即可
- 依次执行以下命令
- cd ~
- mkdir -p /ddt/asrproxy
- unzip asrproxy_*.zip -d /ddt/asrproxy
- cd /ddt/asrproxy
- chmod +x installlib.sh
- ./installlib.sh
- chmod +x asrproxy
- chmod +x cli
- 申请了asrserver就需要删除asrproxy.json文档中的指定段落 文件路径:/ddt/asrproxy/asrproxy.json
- 启动asrproxy命令:./asrproxy
- 如果能执行到asrproxy run...说明asrproxy启动成功;并且能通过ctrl+c或者shutdown正常退出asrproxy程序,说明asrproxy安装完成
自动启动设置
检查asrproxy进程文件是否存在于路径:/ddt/asrproxy/asrproxy。
如果不是,修改asrcheck脚本的路径,需要该脚本与asrproxy进程文件处于同一路径中;如果是,规则继续下一步
依次执行以下命令:
chmod +x /ddt/asrproxy/asrcheck
echo "*/1 * * * * root /ddt/asrproxy/asrcheck> /dev/null 2>&1" >> /etc/crontab
杀死asrproxy程序进程,查看1分钟后是否会自动启动。
重新启动asrproxy
- 重新启动asr:
- 进入asrproxy目录:cd /ddt/asrproxy
- 终端输入:pgrep asrproxy
- 杀死进程:kill -9 上面命令的输出
- 启动asr:./asrproxy
重新启动asr很多地方会使用到所以需要看一下,如果有配置自动启动就不需要执行步骤1跟4,执行2和3即可,然后等待一分钟asrproxy就自动启动了。
二、顶顶通私有化asr配置方法
- 以下是安装实时识别和一句话识别的命令
这个是实时识别
“Paraformer语音识别-中文-通用-16k-实时”脚本命令:
curl -s http://129.211.24.206/downloadModel.sh | sh -s 4
这个是一句话识别
“Paraformer语音识别-中文-通用-16k-离线”脚本命令:
curl -s http://129.211.24.206/downloadModel.sh | sh -s 5 a
执行完这两个命令并且下载好了就可以下面的内容通篇复制,通篇复制之前介意先备份以防万一出现问题,如果有配置第三方法的,就必须需要配置,因为这个是没有配置第三方的,这个是专属于顶顶通私有化部署的。配置好了之后还需要重新启动asrproxy。
/*asrproxy启动不了,一般都是JSON格式不对,可以用 http://tools.jb51.net/code/jsonformat 这个工具检查JOSN是否存在错误。*/
{"key":"asrproxy.license", //授权文件路径"log":{"console_level":0, //输出控制台日志等级0-5(0:DEBUG, 1:INFO, 2:NOTICE, 3:WARNING, 4:CRIT, 5:CONSOLE)"file_level":0, //输出到文件日志等级0-5(0:DEBUG, 1:INFO, 2:NOTICE, 3:WARNING, 4:CRIT, 5:CONSOLE)"file_maxsize":100, //文件大于多少M就自动创建新的日志文件。"file_number":10 //最大保留日志文件个数},"short_sentence_asr":{"listen_ip":"0.0.0.0","listen_port":9990,"users":{// samrtivr.json配置的keylist.id"test":{ "not_validate_signature":true,//是否禁用验证签名,改为true,就是不验证签名 "key":"test", //smartivr.json配置的 keylist.secret"ip":"*" //*任意IP都可以访问,也可以限制可以访问的ip}}},"asr":{"listen_ip":"0.0.0.0","listen_port":9988,"storage":"record", //asr录音目录,调用asr时,设置了asr_params.recordfilename才会录音。"acl":"*", //哪些IP可以访问,配置*任意IP都可以访问,多个IP用逗号隔开,如果不配置acl,通过127.0.0.1不需要配置在ACL里面也可以访问。"interface": {"paraformer_large_16k_online": {"type": "funasr","engine": "2pass", "enable_itn":false, "itn":"model/itn", "vad-dir":"model/speech_fsmn_vad_zh-cn-16k-common-pytorch", "vad-quant":"true", "model-dir": "model/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch", "online-model-dir": "model/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online","punc-dir": "model/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727", "chunk-size":4800},"paraformer_large_16k": {"type": "funasr", "engine": "sentence", "quantize":true, "enable_itn":false, "itn":"model/itn","vad-dir":"model/speech_fsmn_vad_zh-cn-16k-common-pytorch", "vad-quant":"true", "punc-dir":"model/punc_ct-transformer_cn-en-common-vocab471067-large-onnx","model-dir": "model/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch"},/*阿里云私有云asr配置例子*/"aliyun_test": {"count": 0,"fault_threshold": 0,"fault_try_interval": 600,"type": "aliyun","engine": "transcriber", /*transcriber:流接口,recognizer:一句话接口 */"appid": "default","key": "default","token": "default","url": "ws://ip:8101/ws/v1","secret": "default","enable_intermediate_result": true,"enable_punctuation_prediction": false,"enable_inverse_text_normalization": false,"enable_semantic_sentence_detection": false},/*阿里云实时语音识别配置例子 ,参数说明看 https://help.aliyun.com/document_detail/148847.html */"aliyun_01": {"count": 0, //最大多少并发"fault_threshold": 0, //连续错误多少次停用"fault_try_interval": 600, //停用多久后,从新尝试用这个KEY"type": "aliyun", //识别引擎,通过配置指定调用的ASR类型"engine": "transcriber", //transcriber:流接口,recognizer:一句话接口 "appid": "", //项目ID,详细看开通说明 https://help.aliyun.com/document_detail/71936.html"key": "", //AccessKey ID 详细看 https://help.aliyun.com/document_detail/324194.html "secret": "", //AccessKey Secret 详细看 https://help.aliyun.com/document_detail/69835.htm?spm=a2c4g.11186623.0.0.2f773f87BMksCK#section-iqi-ojp-tqk "enable_intermediate_result": true, //设置是否返回中间识别结果"enable_punctuation_prediction": false, //设置是否在后处理中添加标点"enable_inverse_text_normalization": false, //设置是否在后处理中执行数字转换"enable_semantic_sentence_detection": false, //设置是否使用语义断句。"nlpmodel": "", //设置NLP模型名称,开启NLP服务后必填"customizationid": "", //设置定制模型"vocabularyid": "", //设置泛热词"enable_ignore_sentencetimeout": true, //是否忽略实时识别中的单句识别超时, 默认是False"disfluency": true, //是否对识别文本进行顺滑(去除语气词,重复说等), 默认是False"speech_noise_threshold": 0.1, //噪音参数阈值,参数范围:[-1,1]取值越趋于-1:噪音被判定为语音的概率越大,取值越趋于+1:语音被判定为噪音的概率越大,该参数属高级参数, 调整需慎重并重点测试"enable_sdk_log": false},/*阿里云一句话识别配置例子 ,参数说明看 https://help.aliyun.com/document_detail/148702.html*/"aliyun_02": {"count": 0,"fault_threshold": 0,"fault_try_interval": 600,"type": "aliyun","engine": "recognizer", //transcriber:流接口,recognizer:一句话接口 "appid": "","key": "","secret": "","enable_intermediate_result": true,"enable_punctuation_prediction": false,"enable_inverse_text_normalization": false,"enable_voice_detection": true //设置是否启动自定义静音检测},//讯飞语音听写接口,开通地址 https://www.xfyun.cn/services/voicedictation ,如果需要启用抢话功能,需要开通 "动态修正""xfyun_0": {"count": 0,"fault_threshold": 0,"fault_try_interval": 600,"connect_timeout":3000, //建立ws连接最大等待时间"accent" : "mandarin", //方言,这几个参数的说明看接口文档 https://www.xfyun.cn/doc/asr/voicedictation/API.htm"domain" : "iat", //应用领域"language" : "zh_cn", //语种"dwa" : "wpgs", //动态修正"pd" : "", //领域个性化参数"rlang" : "zh-cn", //繁体简体"ptt" : 1, //是否开启标点符号添加"nunum" : 1, //将返回结果的数字格式规则为阿拉伯数字格式"type": "xfyun", //xfyun 标识这个配置试用讯飞云ASR引擎"appid": "", //APPID"key": "", //APIKey"secret": "" //APISecret},"xfyun_1": {"count": 0,"fault_threshold": 0,"fault_try_interval": 600,"type": "xfyun","url": "ws://ip:1078/iat", //私有云地址,公有云默认地址ws://iat-api.xfyun.cn/v2/iat,可以不配置。"appid": "", "key": "", "secret": "" },/*"mrcp": {"count": 0,"fault_threshold": 0,"fault_try_interval": 600,"type": "mrcp","engine": "uni2","grammar": "","appid": "","key": "","secret": ""},*/"tencent": {"count": 0,"fault_threshold": 0,"fault_try_interval": 600,"type": "tencent","engine": "8k_zh","appid": "","key": "","secret": ""},//获取取帐号名、帐号ID、用户名、用户ID、项目名称、项目ID 方法看这里 https://support.huaweicloud.com/api-iam/iam_17_0002.html //区域 列表 https://developer.huaweicloud.com/endpoint?IAM//可用终端节点 https://support.huaweicloud.com/api-sis/sis_03_0004.html 写这个说明的时以下节点可用//华北-北京一 cn-north-1, 华北-北京四 cn-north-4, 华东-上海一 cn-east-3//账户信息 请看 https://support.huaweicloud.com/api-sis/sis_03_0058.html Token认证的描述"huawei": {"type": "huawei","projectname": "", //项目名字实际含义是项目节点 我的凭证处获取,如果没有项目先创建项目"projectid": "", //项目ID 我的凭证处获取"add_punc": true, //表示是否在识别结果中添加标点"digit_norm": true, //表示是否将语音中的数字识别为阿拉伯数字"interim_results": true, //是否输出中间结果"vocabulary_id": "", //热词表id 创建方法看 https://support.huaweicloud.com/api-sis/sis_03_0071.html"engine": "short-audio", //short-audio:一句话接口 https://support.huaweicloud.com/api-sis/sis_03_0095.html"key": "", //Access Key Id 我的凭证(访问密钥)处创建"secret": "" //Secret Access Key 创建访问密钥时下载获取},/* 多方ASR */"duofang": {"type": "duofang","appid": "","key": "","secret": "","im":true, //中间结果是否返回"itn":true, //是否开启文本规整"pct":true //是否添加标点},"asr配置名字:新加ASR配置会自动生效(1分钟之内)": {"说明": "已经存在的修改type,engine,appid,key,secret 不会生效,如果要修改这几个参数只能新添加一个ASR配置或者重启asrproxy程序,其他参数修改后自动生效"}},"groups":{//默认使用的ASR"default":{ "mode":0, //0:顺序使用,当使用数量等于count的时候切换下一个 1:循环使用"enable": //启用的那些ASR配置["paraformer_large_16k_online"]},"shortsentence":{"mode":0,"enable":["paraformer_large_16k"]} ,//自定义组,可以话术中指定使用那组ASR配置。"custom":{"mode":0,"enable":[]}}},"tts":{"storage": "tts", //tts缓存目录"append_silence": 20, //tts后的声音文件前后追加静音"trim_threshold_volume": 50, //tts后的声音文件前后小于多少音量认为是静音去除"listen_ip":"0.0.0.0","listen_port": 9989,"bgtts_thread_count":10,"acl":"*", //哪些IP可以访问,配置*任意IP都可以访问,多个IP用逗号隔开,如果不配置acl,通过127.0.0.1不需要配置在ACL里面也可以访问。"interface":{"aliyun":{"count":0,"fault_threshold":0,"fault_try_interval":600,"type":"aliyun","appid":"","key":"","secret":""},"baidu":{"connect_timeout":3000,"response_timeout":60000,"count":0,"fault_threshold":0,"fault_try_interval":600,"type":"baidu","appid":"","key":"","secret":""},//讯飞语音合成接口,开通地址 https://console.xfyun.cn/services/tts"xfyun": {"count": 0,"fault_threshold": 0,"fault_try_interval": 600,"rdn": "0", //合成音频数字发音方式,参数说明 https://www.xfyun.cn/doc/tts/online_tts/API.html"reg": "0", //设置英文发音方式:"connect_timeout": 3000, //建立ws连接最大等待时间"response_timeout": 60000, //等待tts返回的最大时间"type": "xfyun", //xfyun 标识这个配置试用讯飞云ASR引擎"appid": "", //APPID"key": "", //APIKey"secret": "" //APISecret},//华为语音合成 https://support.huaweicloud.com/api-sis/sis_03_0111.html"huawei": {"connect_timeout": 3000,"response_timeout": 60000,"type": "huawei","projectname": "", //项目名字实际含义是项目节点 我的凭证处获取,如果没有项目先创建项目"projectid": "", //项目ID 我的凭证处获取"key": "", //Access Key Id 我的凭证(访问密钥)处创建"secret": "" //Secret Access Key 创建访问密钥时下载获取},/* 多方TTS */"duofang": {"connect_timeout":3000,"response_timeout":60000,"type": "duofang","appid": "","key": "","secret": ""},/*"mrcp": {"count": 0,"fault_threshold": 0,"fault_try_interval": 600,"type": "mrcp","engine": "uni2","appid": "","key": "","secret": ""}*/},"groups":{"default":{"mode":1,"enable":["xfyun"]},//自定义组,可以话术中指定使用那组TTS配置。"custom":{"mode":0,"enable":[]}}}}
三、测试方法
- 浏览器实时测试:对接mod_cti(质检或者机器人)
-
测试网址:http://demo.ddrj.com/wsasr.html
-
测试方法如图所示:
-
浏览器一句话测试:对接mod_vad(和浏览器一句话测试一样
-
测试网址:http://服务器ip:9990/test
-
测试方法如图所示: