顶顶通呼叫中心中间件-一句话语音识别安装步骤

news2024/9/28 23:24:33

顶顶通呼叫中心中间件-一句话语音识别安装步骤,对接mod_vad。一句话识别(http接口提交录音文件识别)

一、安装asrproxy

1、将下载软件压缩包上传到需要安装的服务器中

2、SSH终端依次执行以下命令:

  1. mkdir -p /ddt/asrproxy
  2. sudo unzip asrproxy_*.zip -d /ddt/asrproxy
  3. cd /ddt/asrproxy
  4. sudo chmod +x install.sh
  5. sudo ./install.sh
  • 启动asrproxy命令:sudo ./asrproxy -uddt
  • 如果能执行到asrproxy run...说明asrproxy启动成功;并且能通过ctrl+c或者shutdown正常退出asrproxy程序,说明asrproxy安装完成,安装完成asr后就可以使用服务的方式去启动asrproxy了

3、服务方式启动asrproxy,SSH终端依次执行以下命令:

  1. sudo systemctl daemon-reload
  2. sudo systemctl enable asrproxy
  3. sudo systemctl start asrproxy
  4. sudo systemctl status asrproxy

二、下载一句话模型

一句话识别(http接口提交录音文件识别),比如对接mod_vad(老电话机器人接口)执行下面的命令即可:

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

模型下载成功后会输出对应的配置信息,把配置信息保存下来,参考配置说明,加入到asrproxy.json,后续可以再次执行下载脚本,得到配置信息。

三、配置asrproxy.json文件

配置asrproxy.json文件,执行完安装一句话模型并且下载好了就可以下面的内容通篇复制,通篇复制之前建议先备份以防万一出现问题,如果有配置第三方的,就必须需要备份,因为这个是没有配置第三方的,这个是专属于顶顶通私有化部署一句话语音识别的,如果不想通篇复制的话可以看下方注释了私有化一句话识别的复制进你asrproxy.json文件即可,配置好了之后还需要重新启动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_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配置
                [
                    "改成要使用的ASR配置"
                ]
            },
            //一句话识别和文件识别使用的ASR
            "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":{
          //阿里云语音合成接口
            "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":[
                    "改成要使用的TTS配置名"
                ]
            },
 
            //自定义组,可以话术中指定使用那组TTS配置。
            "custom":{
                "mode":0,
                "enable":[
                ]
           }
        }
     }
  }

四、测试方法

浏览器上传文件测试一句话模型
  • 浏览器一句话测试:对接mod_vad

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

  • 声音文件要求:8K16位单声道PCM格式

  • 测试方法如图所示:

curl命令测试

可用curl命令测试,为了跳过验证签名步骤,需要把asrproxy.json->short_sentence_asr->users->id(test)里面添加”not_validate_signature”:true这个配置,上面的配置文件是已经有配置好这个的所以可以忽略,如果没有配置就需要配置一下

1、pos提交数据测试,1.wav改成要识别的文件,如果识别的文件是mp3的,datatype:wav也要改成datatype:mp3

curl -H "id:test" -H "engine:shortsentence" -H "datatype:wav" -X POST --data-binary @1.wav  http://服务器IP:9990/asr

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2066765.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

抖音商城随身wifi销量排行榜!排名第一的格行随身wifi怎么样?

对于经常出差办公,或者酷爱旅行的人来说随身wifi简直是必备神器,但是随身wifi行业乱象频发,不小心就会踩坑。这不,刚去青岛旅游回来的同事正在吐槽,旅游前特意买个随身wifi,咨询时商家一顿夸,结…

王丹妮演绎“美女与蛇” 红黑对撞下的超现实美学

今日,香港演员王丹妮(Louise Wong)释出一组时尚大片。 这组大片以浓郁饱满的红色和深邃奢华的黑色为主调,搭配超现实风装置,尽显神秘诗意之美。黑色背景与红色装置象征锐意与优雅的交锋;神秘面罩下&#xf…

当移动端H5中的display:flex不生效时,给我整破防了

情况&#xff1a; 在项目开发中遇到一个“更多”按钮放置于卡片的右下角时&#xff0c;在安卓9版本的浏览器打开项目&#xff0c;结果测试出来“更多”按钮样式错乱&#xff0c;做了这么久的开发&#xff0c;在移动端给我整破防了。。。 <style> display:flex; justify…

MyBatis-Plus 三、(进阶使用)

一、typeHandler 的使用 1、存储json格式字段 如果字段需要存储为json格式&#xff0c;可以使用JacksonTypeHandler处理器。使用方式非常简单&#xff0c;如下所示&#xff1a; 只需要加上两个注解即可&#xff1a; TableName(autoResultMap true) 表示自动…

使用Instrumentation创建代理程序监测Java对象信息

文章目录 创建代理使用代理监测测试代码运行配置运行效果 总结 Instrumentation 是Java提供的一种能够在程序运行时检查和修改类定义的技术。使用Instrumentation&#xff0c;可以构建一个独立于应用程序的代理程序&#xff0c;检测和协助运行在JVM上的程序&#xff0c;甚至可以…

Netty03-进阶

三. Netty 进阶 1. 粘包与半包 1.1 粘包现象 服务端代码 public class HelloWorldServer {static final Logger log LoggerFactory.getLogger(HelloWorldServer.class);void start() {NioEventLoopGroup boss new NioEventLoopGroup(1);NioEventLoopGroup worker new Ni…

高性能4G灯杆网关,未来智慧城市的神经中枢

在智慧城市的建设浪潮中&#xff0c;灯杆作为城市基础设施的重要组成部分&#xff0c;正在经历一场革命性的转变。SG600 4G灯杆网关就是这场革命的核心产品&#xff0c;它将普通的路灯转变为集照明、监控、通信、环境监测等多功能于一体的智慧终端。 产品优势&#xff1a; 高度…

[图解]分析工作流开始01

1 00:00:02,650 --> 00:00:04,200 需求工作流结束之后 2 00:00:04,610 --> 00:00:06,880 我们就要进入分析工作流了 3 00:00:07,890 --> 00:00:09,020 在分析工作流里面 4 00:00:09,030 --> 00:00:13,060 我们使用类图、序列图 5 00:00:13,710 --> 00:00:16…

深度学习入门-03

PS&#xff1a;基于小土堆视频学习https://www.bilibili.com/video/BV1hE411t7RN?p6&vd_source22926f91481026cd10af799bb45e448b 1、Dateset Dateset就是我们的目标数据&#xff0c;告诉我们如何获取数据&#xff0c;距离&#xff1a;从多种类型的数据中&#xff0c;提取…

Go语言反射入门:理解类型与值的动态操作

简介 Go 语言的反射机制是一种在运行时检查程序本身的能力&#xff0c;它允许程序在运行时动态地操作对象的类型和值。 基本概念 1.反射与类型 在静态类型语言中&#xff0c;变量的类型在编译时确定。反射允许在运行时查询和修改变量的类型信息。 2.接口与反射 Go 中的接口…

云等保安全合规解决方案

在当今数字化时代&#xff0c;云计算已成为企业数字化转型的基石&#xff0c;它不仅极大地提升了数据处理能力、降低了运营成本&#xff0c;还促进了业务模式的创新与发展。然而&#xff0c;随着云服务的广泛应用&#xff0c;云环境的安全性问题也日益凸显&#xff0c;成为制约…

Tita的OKR:研发人员的OKR

当您要建立一个以产品为中心的团队&#xff0c;并希望你的团队有一个产品的心态和时刻围绕你的客户&#xff0c;此工程研发 OKR 示例就是实现此目标的伟大方法。您将在以下文章中找到相关的技术研发 OKR 示例。 技术研发团队是任何组织中的重要组成部分&#xff0c;正确的OKR可…

U盘车载专用音乐合集 3068首 24G

包含3068首适合车载播放的音乐。 拿走的麻烦评论一下&#xff0c;感谢&#xff01;&#xff01;&#xff01; 拿走的麻烦评论一下&#xff0c;感谢&#xff01;&#xff01;&#xff01; 拿走的麻烦评论一下&#xff0c;感谢&#xff01;&#xff01;&#xff01; 链接&#…

主流短视频评论采集python爬虫(含一二级评论内容)

声明 仅用于学习交流&#xff0c;不用于其他用途 正文 随着主流短视频评论采集更新需要登录&#xff0c;由于不懈的努力&#xff0c;攻破这一难点&#xff0c;不需要登录采集作品所有评论信息 话不多说上代码看效果&#xff1a; 输入作品id: 这样就拿到评论信息了&#xff…

c++中调用函数时出现“warning C4715: “controlMode”: 不是所有的控件路径都返回值”警告的问题

调用函数时出现“warning C4715: “controlMode”: 不是所有的控件路径都返回值”警告的问题 问题描述解决方案 问题描述 如图所示&#xff0c;我的函数定义如下 在编译的时候&#xff0c;会出现如下警告 warning C4715: “controlMode”: 不是所有的控件路径都返回值 解决方案…

易通博客项目测试报告

目录 1. 项目背景1.1 测试目标 2. 项目功能3.测试分类3.1 功能测试3.2 自动化测试3.2.1自动化测试遇到的问题以及解决&#xff1a;3.2.2 自动化测试结果 3.3 性能测试 4. 基于场景性能测试下遇到的一些问题4.1 解决博客id不存在的问题&#xff1f;4.2 添加博客请求响应失败&…

[Other]-安装ruby、ascli、ascp

最近新接到这样一个需求&#xff0c;将生物原始数据上传到某中心&#xff0c;其中用到ascp命令&#xff0c;阴差阳错的装了ruby、ascli&#xff0c;这里就都一并介绍下安装方式&#xff0c;由于服务器老旧默认安装时ruby2.0&#xff0c;又 升级到2.7等引发的一系列问题&#xf…

Anaconda与conda、pip与conda的区别

Anaconda与conda、pip与conda的区别 1. 引言1.1 背景介绍1.2 文章目的 2. 什么是Anaconda&#xff1f;2.1 Anaconda简介2.2 Anaconda的优势2.3 Anaconda的安装与配置 3. 什么是Conda&#xff1f;3.1 Conda简介3.2 Conda的功能和用途3.3 Conda与Anaconda的关系 4. 什么是Pip&…

如何将精益生产目标的设定与企业财务状况相结合?

在探讨如何将精益生产目标的设定与企业财务状况相结合时&#xff0c;我们首先需要明确两者的核心要素及其相互关系。精益生产&#xff0c;起源于丰田生产方式&#xff0c;旨在通过消除浪 费、持续改进和全员参与&#xff0c;实现生产过程的最大化效率和最小化成本。而企业财务状…

NC 寻找第K大

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 描述 有一个整数数…