顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-语音识别(asr)接口

简介: 顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-语音识别(asr)接口 接口说明

启动ASR识别

APP

cti_detect_speech_session asrproxy_addr vad_mode vad_min_active_time_ms vad_max_end_silence_time_ms vad_level vad_filter wait_speech_timeout_ms max_speech_time_ms hot_word asr_params asr_notify asr_notify_uuid asr_mode [record_mode] [record_template] [record_format]

例子:

API

uuid_cti_start_detect_speech uuid asrproxy_addr vad_mode vad_min_active_time_ms vad_max_end_silence_time_ms vad_level vad_filter wait_speech_timeout_ms max_speech_time_ms hot_word asr_params asr_notify asr_notify_uuid asr_mode [record_mode] [record_template] [record_format]
  • asrproxy_addr asrproxy程序IIP和端口
  • vad_mode

    • 0:使用本地VAD检测说话开始和结束
    • 1:等待ASR反馈说开始和结束(需要ASR支持)
    • 2:使用本地VAD检测检测说话开始,等待ASR反馈说话结束。
  • vad_min_active_time_ms 说话时间大于这个值才开始提交ASR
  • vad_max_end_silence_time_ms 静音时间大于这个值认为说话停止
  • vad_level vad检测灵敏度 0-3,值越大越迟钝,建议3
  • vad_filter 噪音过滤等级0-1.0,建议0.2,值越大过滤范围越大,会导致小的声音给过滤。 0.8启用神经网络的噪音过滤。
  • wait_speech_timeout_ms 最大等待说话时间,用于一句话识别(asr_mod:0),等待时间超过这个值还没说话,就停止。
  • max_speech_time_ms 说话事件超过这个值,会强制认为一句话结束。如果对接是是一句话识别ASR接口,建议设置60000以内。
  • hot_word ASR热词
  • asr_params ASR自定义参数
  • asr_notify ASR识别结果通知类型 0:ESL事件 1:FS的内部队列 2:ESL事件和FS的内部队列
  • asr_notify_uuid asr识别结果通知uuid
  • asr_mod 0:只识别一句话就停止 1: 执行一次会持续进行ASR识别,直到挂机或者调用uuid_cti_stop_detect_speech才停止ASR识别

停止ASR识别

API

uuid_cti_stop_detect_speech uuid
  • uuid 操作通道的UUID

放音的同时执行ASR识别

app

cti_play_and_detect_speech <file> <mode> <interrupt> <vad_mode> <vad_filter> <asrproxy_addr> vad_min_active_time_ms vad_max_end_silence_time_ms wait_speech_timeout_ms max_speech_time_ms hot_word asr_params asr_notify_uuid record_mode record_template record_format
  • file 放音文件
  • mode 0:不启动ASR识别 1:放音的同时开启ASR识别; 2:放音完成之后才开启ASR识别。
  • interrupt 打断模式:

    • 0:关键词打断; 【关键词打断的可选功能,可以组合使用,比如要使用128和256,就设置384。】

      • 16: 放音结束后识别到一句话就停止等待(执行完成)。
      • 32 : 放音时识别到一句话,放音完成后就不等待(执行完成)(隐含16)。
      • 64:放音时检测到声音就暂停放音(只暂停放音,识别结果未匹配到关键词,还会恢复放音)。
      • 128 : 放音时如果有被禁止打断(disablebreak)过滤的识别结果,放音完成时,如果用户不在说话中,重新尝试关键词匹配(识别结果前面会加一个P)。
      • 256 : 放音时如果有未匹配的识别结果,放音完成时,如果用户不在说话中,再次尝试关键词匹配(识别结果前面会加一个P)。
      • 512 : dtmf按键打断(默认只有符合按键终止符才会停止放音,如果需要不符合按键终止符也停止放音,就需要设置这个参数)
    • 1:检测到声音就打断;
    • 2:ASR识别到文字就打断;
    • 3:ASR识别到一句话就打断。
  • vad_mode

    • 0:使用本地VAD检测说话开始和结束
    • 1:等待ASR反馈说开始和结束(需要ASR支持)
    • 2:使用本地VAD检测检测说话开始,等待ASR反馈说话结束。
  • vad_filter 噪音过滤等级0-1。0.8使用深度神经网络过滤噪音。
  • asrproxy_addr asr代理地址。
  • vad_min_active_time_ms 说话时间大于这个值才开始提交ASR。
  • vad_max_end_silence_time_ms 静音时间大于这个值认为说话停止。
  • wait_speech_timeout_ms 放音完成后等待用户说话的等待时间。
  • max_speech_time_ms 最大说话时间,说话时间超过这个值就停止ASR。
  • hot_word ASR热词。
  • asr_params ASR私有参数,JOSN格式{\"变量\"=\"名字\"}。例如:{“group”:”default”},控制asrproxy使用那个asr配置组去识别。
  • asr_notify_uuid asr识别结果通知uuid
  • record_mode 录音方式。0:不录音,1:检测到声音开始录音,2:全部录音。
  • record_template 录音路径模板。如果不是绝对路径,会把这个路径追加到FreeSWITCH的recordings后面。支持变量,比如日期 ${strftime(%Y-%m-%d)}。最后一个录音文件路径会保存到变量 ${cti_asr_last_record_filename}
  • record_format 录音格式wav或者mp3

ASR识别结果通知

事件类型 SWITCH_EVENT_CUSTOM cti_asr
事件头

  • Speech-Notify-UUID asr_notify_uuid
  • Speech-Type 

    • b:检测到开始说话
    • 0:识别结果更新,如果结果是空,表示远端VAD检测到开始说话
    • 1:一句话结果 ASR_MODE_MULTI模式才有
    • f:远端结束
    • F:本段结束
    • e:本段错误
    • E:远端错误
    • t:wait_speech_timeout 超时
    • P:放音时的识别结果(打断模式128和256时放音时候说话才触发)
  • Speech-Time 开始说话时间,linux时间戳(微妙)

事件体 识别结果

相关文章
|
存储 机器学习/深度学习 人工智能
顶顶通呼叫中心中间件介绍
顶顶通呼叫中心中间件包含IPPBX、自动外呼、质检、ACD、呼叫路由等呼叫中心功能,也包含电话机器人开发接口(ASR【对接了华为云,腾讯云,科大讯飞,阿里云,捷通华声等,mrcp等语音识别接口】,TTS【支持外呼时预先文字转换成声音和mrcp实时TTS】,VAD【集成噪音人声识别引擎】),话术引擎等ai机器人功能。所有数据都存储redis【话单可以存储到数据库】,支持群集,超大并发,可用于开发呼叫中心系统,智能外呼机器人系统,机器人客服系统。
670 93
|
JavaScript 前端开发 中间件
Node.js—Express使用、Express 路由 、Express 中间件、托管静态资源、使用 Express 写接口、node.js链接sqlite数据库
Node.js—Express使用、Express 路由 、Express 中间件、托管静态资源、使用 Express 写接口、node.js链接sqlite数据库
609 0
|
网络协议 中间件 机器人
通过顶顶通呼叫中心中间件玩转FreeSWITCH媒体流
怎么获取FreeSWITCH的媒体流是一个老生常谈的问题了,最常见的方法media_bug 很多人需要直接获取原始的声音流,然后自己处理,其实FreeSWITCH也是支持的,只是知道的极少,FreeSWITCH原生支持 unicast 通过udp 把声音流推送到一个UDP端口,和播放网络的声音流。 fs实现的unicast,有一个缺陷如果启动了unicast 就没办法调用playback等放音函数了。
1260 0
|
机器学习/深度学习 自然语言处理 算法
基于深度学习的语音识别技术应用与发展
在当今数字化时代,语音识别技术已经成为人机交互领域的重要组成部分。本文将介绍基于深度学习的语音识别技术在智能助手、智能家居和医疗健康等领域的应用与发展,同时探讨该技术在未来的潜在应用和发展方向。
570 4
|
机器学习/深度学习 自然语言处理 算法
未来语音交互新纪元:FunAudioLLM技术揭秘与深度评测
人类自古以来便致力于研究自身并尝试模仿,早在2000多年前的《列子·汤问》中,便记载了巧匠们创造出能言善舞的类人机器人的传说。
14137 116
|
机器学习/深度学习 人工智能 自然语言处理
医疗行业的语音识别技术解析:AI多模态能力平台的应用与架构
AI多模态能力平台通过语音识别技术,实现实时转录医患对话,自动生成结构化数据,提高医疗效率。平台具备强大的环境降噪、语音分离及自然语言处理能力,支持与医院系统无缝集成,广泛应用于门诊记录、多学科会诊和急诊场景,显著提升工作效率和数据准确性。
1035 4
|
机器学习/深度学习 自然语言处理 搜索推荐
智能语音交互技术:构建未来人机沟通新桥梁####
【10月更文挑战第28天】 本文深入探讨了智能语音交互技术的发展历程、当前主要技术框架、核心算法原理及其在多个领域的应用实例,旨在为读者提供一个关于该技术全面而深入的理解。通过分析其面临的挑战与未来发展趋势,本文还展望了智能语音交互技术如何继续推动人机交互方式的革新,以及它在未来社会中的潜在影响。 ####
1336 0
|
机器学习/深度学习 搜索推荐 人机交互
智能语音交互技术的突破与未来展望###
【10月更文挑战第27天】 本文聚焦于智能语音交互技术的最新进展,探讨了其从早期简单命令识别到如今复杂语境理解与多轮对话能力的跨越式发展。通过深入分析当前技术瓶颈、创新解决方案及未来趋势,本文旨在为读者描绘一幅智能语音技术引领人机交互新纪元的蓝图。 ###
808 0
|
人工智能 算法 人机交互
FunAudioLLM技术深度测评:重塑语音交互的未来
在人工智能的浪潮中,语音技术作为人机交互的重要桥梁,正以前所未有的速度发展。近期,FunAudioLLM以其独特的魅力吸引了业界的广泛关注。本文将以SenseVoice大模型为例,深入探索FunAudioLLM在性能、功能及技术先进性方面的表现,并与国际知名语音大模型进行对比分析,同时邀请各位开发者共同参与,为开源项目贡献一份力量。
346 4
|
机器学习/深度学习 人工智能 语音技术
使用深度学习进行语音识别:技术探索与实践
【8月更文挑战第12天】深度学习技术的快速发展为语音识别领域带来了革命性的变化。通过不断优化模型架构和算法,我们可以期待更加准确、高效和智能的语音识别系统的出现。未来,随着技术的不断进步和应用场景的不断拓展,语音识别技术将在更多领域发挥重要作用,为人类带来更加便捷和智能的生活体验。