顶顶通呼叫中心中间件-私有化asrproxy安装指南

一、安装asrproxy

  • 上传asrproxy安装包到服务器目录:/root 上传完成之后依次执行下面的命令即可
  • 依次执行以下命令
  1. cd ~
  2. mkdir -p /ddt/asrproxy
  3. unzip asrproxy_*.zip -d /ddt/asrproxy
  4. cd /ddt/asrproxy
  5. chmod +x installlib.sh
  6. ./installlib.sh
  7. chmod +x asrproxy
  8. chmod +x cli
  • 启动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:
  1. 进入asrproxy目录:cd /ddt/asrproxy
  2. 终端输入:pgrep asrproxy
  3. 杀死进程:kill -9 上面命令的输出
  4. 启动asr:./asrproxy

重新启动asr很多地方会使用到所以需要看一下,如果有配置自动启动就不需要执行步骤1跟4,执行2和3即可,然后等待一分钟asrproxy就自动启动了。

二、顶顶通私有化asr配置方法

  • 以下是安装实时识别和一句话识别的命令

这个是实时识别

“Paraformer语音识别-中文-通用-16k-实时”脚本命令:

curl -s http://down.ddrj.com/getasrmodel.sh | bash -s paraformer-large paraformer-large-online

这个是一句话识别

“Paraformer语音识别-中文-通用-16k-离线”脚本命令:

curl -s http://down.ddrj.com/getasrmodel.sh | bash -s paraformer-large

执行完这两个命令并且下载好了就可以下面的内容通篇复制,通篇复制之前介意先备份以防万一出现问题,如果有配置第三方法的,就必须需要配置,因为这个是没有配置第三方的,这个是专属于顶顶通私有化部署的。配置好了之后还需要重新启动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_realtime_16K": { 
		"type": "funasr", 
		"engine": "2pass", 
		"quantize": true, 
		"enable_itn": true, 
		"itn-dir": "/ddt/asrproxy/funasr/fst_itn_zh", 
		"vad-dir": "/ddt/asrproxy/funasr/speech_fsmn_vad_zh-cn-16k-common-onnx", 
		"vad-quant": true, 
		"punc-dir": "/ddt/asrproxy/funasr/punc_ct-transformer_zh-cn-common-vad_realtime-vocab272727-onnx", 
		"model-dir": "/ddt/asrproxy/funasr/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-onnx", 
		"online-model-dir": "/ddt/asrproxy/funasr/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-online-onnx", 
		"lm-dir": "", 
		"hotword": "", 
		"chunk-size": 800
	},
             //顶顶通私有化一句话识别
             "paraformer_16K": { 
		"type": "funasr", 
		"engine": "sentence", 
		"quantize": true, 
		"enable_itn": true, 
		"itn-dir": "/ddt/asrproxy/funasr/fst_itn_zh", 
		"vad-dir": "/ddt/asrproxy/funasr/speech_fsmn_vad_zh-cn-16k-common-onnx", 
		"vad-quant": true, 
		"punc-dir": "/ddt/asrproxy/funasr/punc_ct-transformer_zh-cn-common-vocab272727-onnx", 
		"model-dir": "/ddt/asrproxy/funasr/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-onnx", 
		"online-model-dir": "", 
		"lm-dir": "", 
		"hotword": ""
	},

            /*阿里云私有云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_realtime_16K"
                ]
            },
            
            "shortsentence":{
                "mode":0,
                "enable":[
                    "paraformer_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":{
          //顶顶通私有化语音合成接口
           "paddlespeech": {
            "type": "paddlespeech",
            "front_conf":"paddlespeech_tts/front.conf",
            "am_model":"paddlespeech_tts/weights/fastspeech2_csmsc.onnx",
            "voc_model":"paddlespeech_tts/weights/mb_melgan_csmsc.onnx",
            "thread_num":1
         },
          //阿里云语音合成接口
            "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":[
                    "paddlespeech"
                ]
            },

            //自定义组,可以话术中指定使用那组TTS配置。
            "custom":{
                "mode":0,
                "enable":[
                ]
           }
        }
     }
  }

三、测试方法

  • 浏览器实时测试:对接mod_cti(质检或者机器人)
  • 测试网址:http://demo.ddrj.com/wsasr.html

  • 测试方法如图所示:

  • 浏览器一句话测试:对接mod_vad(和浏览器一句话测试一样

  • 测试网址:http://服务器ip:9990/test

  • 测试方法如图所示:

  • 21
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
东南亚位于我国倡导推进的“一带一路”海陆交汇地带,作为当今全球发展最为迅速的地区之一,近年来区域内生产总值实现了显著且稳定的增长。根据东盟主要经济体公布的最新数据,印度尼西亚2023年国内生产总值(GDP)增长5.05%;越南2023年经济增长5.05%;马来西亚2023年经济增速为3.7%;泰国2023年经济增长1.9%;新加坡2023年经济增长1.1%;柬埔寨2023年经济增速预计为5.6%。 东盟国家在“一带一路”沿线国家中的总体GDP经济规模、贸易总额与国外直接投资均为最大,因此有着举足轻重的地位和作用。当前,东盟与中国已互相成为双方最大的交易伙伴。中国-东盟贸易总额已从2013年的443亿元增长至 2023年合计超逾6.4万亿元,占中国外贸总值的15.4%。在过去20余年中,东盟国家不断在全球多变的格局里面临挑战并寻求机遇。2023东盟国家主要经济体受到国内消费、国外投资、货币政策、旅游业复苏、和大宗商品出口价企稳等方面的提振,经济显现出稳步增长态势和强韧性的潜能。 本调研报告旨在深度挖掘东南亚市场的增长潜力与发展机会,分析东南亚市场竞争态势、销售模式、客户偏好、整体市场营商环境,为国内企业出海开展业务提供客观参考意见。 本文核心内容: 市场空间:全球行业市场空间、东南亚市场发展空间。 竞争态势:全球份额,东南亚市场企业份额。 销售模式:东南亚市场销售模式、本地代理商 客户情况:东南亚本地客户及偏好分析 营商环境:东南亚营商环境分析 本文纳入的企业包括国外及印尼本土企业,以及相关上下游企业等,部分名单 QYResearch是全球知名的大型咨询公司,行业涵盖各高科技行业产业链细分市场,横跨如半导体产业链(半导体设备及零部件、半导体材料、集成电路、制造、封测、分立器件、传感器、光电器件)、光伏产业链(设备、硅料/硅片、电池片、组件、辅料支架、逆变器、电站终端)、新能源汽车产业链(动力电池及材料、电驱电控、汽车半导体/电子、整车、充电桩)、信产业链(信系统设备、终端设备、电子元器件、射频前端、光模块、4G/5G/6G、宽带、IoT、数字经济、AI)、先进材料产业链(金属材料、高分子材料、陶瓷材料、纳米材料等)、机械制造产业链(数控机床、工程机械、电气机械、3C自动化、工业机器人、激光、工控、无人机)、食品药品、医疗器械、农业等。邮箱:market@qyresearch.com
要动态生成顶部对齐的 Checkbox,可以使用以下代码: ```java LinearLayout linearLayout = findViewById(R.id.linear_layout); // 获取线性布局 for (int i = 0; i < 5; i++) { // 循环生成 Checkbox CheckBox checkBox = new CheckBox(this); // 创建 Checkbox checkBox.setText("选项 " + (i + 1)); // 设置 Checkbox 的文本 checkBox.setButtonDrawable(R.drawable.checkbox_top); // 设置 Checkbox 的样式 LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT ); // 创建布局参数 layoutParams.gravity = Gravity.TOP; // 设置布局参数的对齐方式为顶部对齐 linearLayout.addView(checkBox, layoutParams); // 将 Checkbox 添加到线性布局中,并设置布局参数 } ``` 其中,`checkbox_top` 是你定义的 Checkbox 的顶部对齐样式,可以在 `drawable` 文件夹下创建一个名为 `checkbox_top.xml` 的文件,文件内容如下: ```xml <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/checkbox_checked" android:state_checked="true" android:state_pressed="false"/> <item android:drawable="@drawable/checkbox_unchecked" android:state_checked="false" android:state_pressed="false"/> <item android:drawable="@drawable/checkbox_checked_pressed" android:state_checked="true" android:state_pressed="true"/> <item android:drawable="@drawable/checkbox_unchecked_pressed" android:state_checked="false" android:state_pressed="true"/> </selector> ``` 这个文件定义了 Checkbox 的四种状态:选中未按下、未选中未按下、选中按下和未选中按下,对应的样式分别为 `checkbox_checked`、`checkbox_unchecked`、`checkbox_checked_pressed` 和 `checkbox_unchecked_pressed`。你可以根据自己的需要修改这些样式。 这段代码会生成 5 个顶部对齐的 Checkbox,每个 Checkbox 的文本分别为“选项 1”、“选项 2”、“选项 3”、“选项 4”和“选项 5”,并将它们添加到 LinearLayout 中。你可以根据自己的需要修改循环次数和 Checkbox 的文本。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值