FreeSWITCH 语音识别 ASR 模块

简介: 最近很多人都对FreeSWITCH和ASR对接比较感谢兴趣,(,考虑到大部分人,只是研究一下,并不准确购买商业模块,特意做一个开源项目给大家提供一个参考。

最近很多人都对FreeSWITCH和ASR对接比较感谢兴趣,(,考虑到大部分人,只是研究一下,并不准确购买商业模块,特意做一个开源项目给大家提供一个参考。

第一个版本实现 阿里云ASR和FreeSWITCH的直接对接,把识别结果通过ESL输出。

安装


如果你觉得自己编译太麻烦,可以直接下载我编译好的,放在bin 目录里面。路径请根据自己情况修改。注意只支持x64系统 mod_asr.so 复制到到 FreeSWITCH mod 目录。 cp mod_asr.so /usr/local/freeswitch/mod/,如果是fs1.2,请用fs1.2_mod_asr.so的那个。 librealTimeUnity.so FreeSWITCH lib 目录,或者系统lib目录。cp


librealTimeUnity.so /usr/local/freeswitch/lib/ libopus.so FreeSWITCH lib 目录,或者系统lib目录。cp libopus.so.0 /usr/local/freeswitch/lib/ config-realtime.txt 复制到 /etc/目录。cp config-realtime.txt /etc/ /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml 加入  重启FreeSWITCH,或者fs_cli 里面执行 reload mod_asr 注意默认只支持单声道8000hz的编码,opus或者g722编码不支持。 编译


下载阿里云语音识别SDK download.taobaocdn.com/freedom/337…安装FreeSWITCH freeswitch.org/confluence/…下载mod_asr代码 git clone github.com/cdevelop/Fr…编译 g++ -shared -fPIC -o mod_asr.so mod_asr.cpp -pthread -I ./nlsSpeech-release/include -I /usr/local/freeswitch/include -L./nlsSpeech-release/lib/linux -L /usr/local/freeswitch/lib -ldl -lopus -lrealTimeUnity -lfreeswitch,nlsSpeech-release和FreeSWITCH路径请根据自己情况修改。 使用

申请阿里云的Access Key ID 和 Secret ,请参考 help.aliyun.com/document_de…

fs_cli 执行 originate user/1001 ‘start_asr:id secret,park’ inline,如 bgapi originate user/1001 'start_asr:xxxxxxx oxrJhiBZB5zLX7LKYqETC8PC8ulwh0,park' inline,分机接起来开始说话,就可以看到识别结果输出了。 输出结果的日志等级是 notify console loglevel 5

dialplan中使用 测试的时候如果不执行其他APP,park超时会自动挂断,可


以加入修改park超时时间。

                1 2 3 4 5 6 7 开发

fs_cli 测试方式 ,执行 /event custom asr 订阅事件。

识别结果会通过esl输出(需要订阅 custom asr 事件)(阿里云返回的原始json数据)例子如下:

RECV EVENT Event-Subclass: asr Event-Name: CUSTOM Core-UUID: 48a08a69-7858-407a-be69-679150d34193 FreeSWITCH-Hostname: MiWiFi-R3D-srv FreeSWITCH-Switchname: MiWiFi-R3D-srv FreeSWITCH-IPv4: 192.168.31.164 FreeSWITCH-IPv6: ::1 Event-Date-Local: 2017-12-10 11:30:32 Event-Date-GMT: Sun, 10 Dec 2017 03:30:32 GMT Event-Date-Timestamp: 13211314205 Event-Calling-File: mod_asr.cpp Event-Calling-Function: OnResultDataRecved Event-Calling-Line-Number: 55 Event-Sequence: 914 ASR-Response: {"finish":0,"request_id":"ee87d7fd5e304bdaa9343d9262f34125","result":{"sentence_id":2,"begin_time":4200,"end_time":6525,"status_code":0,"text":"美国拜拜"},"status_code":200,"version":"2.0"} Channel: sofia/external/linphone@192.168.31.210


ASR-Response:asr返回结果。 Channel:当前通道。主要使用这2个通道变量。

如果你需要用户说完一整句话,再一次性返回结果。请把config-realtime.txt文件ResponseMode:streaming修改为ResponseMode:normal。

相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
7月前
|
人工智能 自然语言处理 语音技术
Step-Audio:开源语音交互新标杆!这个国产AI能说方言会rap,1个模型搞定ASR+TTS+角色扮演
Step-Audio 是由阶跃星辰团队推出的开源语音交互模型,支持多语言、方言和情感表达,能够实现高质量的语音识别、对话和合成。本文将详细介绍其核心功能和技术原理。
982 91
Step-Audio:开源语音交互新标杆!这个国产AI能说方言会rap,1个模型搞定ASR+TTS+角色扮演
|
10月前
|
API 语音技术
基于Asterisk和TTS/ASR语音识别的配置示例
基于Asterisk和TTS/ASR语音识别的配置示例如下:1. 安装Asterisk:首先,确保你已在服务器上成功安装Asterisk。可以选择从Asterisk官方网站下载最新版本的安装包并按照指南进行安装。2. 安装TTS引擎:选择适合你需求的TTS(Text-to-Speech)引擎,如Google Text-to-Speech、Microsoft Azure Cognitive Services等。按照所选TTS引擎的文档和指示进行安装和配置。3. 配置Asterisk:编辑Asterisk的配置文件,通常是`/etc/asterisk/extensions.conf
200 5
|
10月前
|
API 语音技术
基于Asterisk和TTS/ASR语音识别的配置示例
本文介绍了如何在Asterisk服务器上配置TTS(文本转语音)和ASR(自动语音识别)引擎,包括安装Asterisk、选择并配置TTS和ASR引擎、编辑Asterisk配置文件以实现语音识别和合成的功能,以及测试配置的有效性。具体步骤涉及下载安装包、编辑配置文件、设置API密钥等。
689 1
|
机器学习/深度学习 人工智能 语音技术
语音识别01-----语音合成,分离,变声实战模块介绍
语音识别01-----语音合成,分离,变声实战模块介绍
|
机器学习/深度学习 中间件 Linux
顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-语音识别(asr)接口
顶顶通呼叫中心中间件(mod_cti基于FreeSWITCH)-语音识别(asr)接口 接口说明
1028 107
|
API 语音技术
基于Asterisk和TTS/ASR语音识别的配置示例
​ 基于Asterisk和TTS/ASR语音识别的配置示例如下: 1. 安装Asterisk:首先,确保你已在服务器上成功安装Asterisk。可以选择从Asterisk官方网站下载最新版本的安装包并按照指南进行安装。 2. 安装TTS引擎:选择适合你需求的TTS(Text-to-Speech)引擎,如Google Text-to-Speech、Microsoft Azure Cognitive Services等。按照所选TTS引擎的文档和指示进行安装和配置。 3. 配置Asterisk:编辑Asterisk的配置文件,通常是`/etc/asterisk/extensions.conf
|
API 语音技术 Python
python知识点100篇系列(12)-使用windows自带的模块实现语音识别
python知识点100篇系列(12)-使用windows自带的模块实现语音识别
213 0
|
自然语言处理 语音技术
STM32工程---非特定语音识别模块使用---语音播报+语音识别
STM32工程---非特定语音识别模块使用---语音播报+语音识别
345 0
|
机器人 语音技术
Freesiwtch VAD语音识别模块参数-开发电话智能语音机器人
Freesiwtch VAD语音识别模块参数-开发电话智能语音机器人
142 0
Freesiwtch VAD语音识别模块参数-开发电话智能语音机器人
|
语音技术
呼叫中心系统语音识别接口(ASR)怎样设置
呼叫中心系统语音识别接口(ASR)怎样设置

热门文章

最新文章