第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > FreeSWITCH 语音识别 阿里云ASR 2.0接口 接口实现

FreeSWITCH 语音识别 阿里云ASR 2.0接口 接口实现

时间:2022-08-21 10:44:52

相关推荐

FreeSWITCH 语音识别 阿里云ASR 2.0接口 接口实现

FreeSWITCH 语音识别 阿里云ASR2.0

随着阿里云语音识别接口升级到智能语音交互2.0版接口,特开发了一个freeswitch模块,通过在freeswitch中加载语音识别模块,将通话的话音实时对接到阿里云ASR服务器,并接收语音识别接口,最后把识别结果通过ESL输出。有问题欢迎交流。

编译:

请先下载阿里云ASR2.0版 sdk。然后再NlsSdkCpp2.0/demo目录下进行编译,否则会出现找不到库的情况。

安装

mod_asr.so 复制到到 FreeSWITCH mod 目录。 cp mod_asr.so /usr/local/freeswitch/mod/。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//usr/local/freeswitch/conf/autoload_configs/modules.conf.xml 加入 <load module="mod_asr"/>

重启FreeSWITCH,或者fs_cli 里面执行 reload mod_asr

使用

申请阿里云的Access Key ID 和 Secret ,并根据您的需求如普通话识别或者粤语方言识别等来创建一个项目,然后获得项目AppKey,设置单声道或者双声道,配置静音间隔,识别服务器路径 等参数,将参数都申请并配置好即可通过这些参数加载mod_asr模块。

fs_cli 执行 originate user/1001 ‘start_asr:o7wh40soDVt146Bp IctccQ0wlpdVHjNLfwqFX4uQqqR1t LTAI4FhfQehv8tsiBRHUwoZ aleg 800 wss://nls--/ws/v1,park’ inline,分机接起来开始说话,就可以看到识别结果输出了。 输出结果的日志等级是 notify console loglevel 5

dialplan中使用 测试的时候如果不执行其他APP,park超时会自动挂断,可以加入修改park超时时间。

开发

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

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

Event-Subclass: asrEvent-Name: CUSTOMCore-UUID: b3d2bbb5-3b51-404e-b3f1-f1756d16f611FreeSWITCH-Hostname: izm5e4vks3kjsyngl2iz9izFreeSWITCH-Switchname: izm5e4vks3kjsyngl2iz9izFreeSWITCH-IPv4: 172.31.64.60FreeSWITCH-IPv6: %3A%3A1Event-Date-Local: -02-03%%3A52%3A56Event-Date-GMT: Mon,%%20Feb%20%%3A52%3A56%20GMTEvent-Date-Timestamp: 1580712776404160Event-Calling-File: mod_asr.cppEvent-Calling-Function: onSentenceEndEvent-Calling-Line-Number: 268Event-Sequence: 1182Result: %ASR-Response: %7B%22header%22%3A%7B%22namespace%22%3A%22SpeechTranscriber%22,%22name%22%3A%22SentenceEnd%22,%22status%22%3A20000000,%22message_id%22%3A%222ab7f171487845e79dd126e63402bc27%22,%22task_id%22%3A%2275948cecf49c42ee851d8ac8a7098e96%22,%22status_text%22%3A%22Gateway%3ASUCCESS%3ASuccess.%22%7D,%22payload%22%3A%7B%22index%22%3A2,%22time%22%3A8000,%22begin_time%22%3A6370,%22result%22%3A%22%Channel: sofia/internal/1001%40223.104.236.17%3A9762UUID: a78d4423-f937-497c-a0f4-bef1295aaecdAnswered: trueASRLeg: aleg

ASR-Response:asr返回结果。

Channel:当前通道。主要使用这2个通道变量。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。