freeswitch 科大讯飞 语音识别(asr) 具体参考:
(如果你觉得实现下面麻烦可以到 /item.htm?id=68442889哦)
/wangkaisine/mrcp-plugin-with-freeswitch/blob/master/README.md
1.asr写的很详细
2.tts使用方式
<extension name="unimrcp">
<condition field="destination_number" expression="^8520$">
<action application="answer"/>
<action application="set" data="tts_engine=unimrcp:unimrcpserver-mrcp2"/>
<action application="set" data="tts_voice=awb"/>
<action application="sleep" data="500"/>
<action application="speak" data="李林您好我爱你"/>
<action application="sleep" data="500"/>
<action application="lua" data="names.lua"/>
</condition> </extension>
百度识别请参考/docs#/BICC-ASR-MrcpServer/top
创建应用注意权限
以上是基于unimrcp 的实现
以下基于mod_pocketsphinx 模块实现 主要实现switch_asr_interface_t 接口
(如果你觉得实现麻烦可以到 /item.htm?id=68442889哦)
此方式可以自定义控制 还可以对识别的pcm播放
测试
<extension name="asr">
<condition field="destination_number" expression="^88888$">
<action application="answer"/>
<action application="log" data="===begin=="/>
<action application="sleep" data="2000"/>
<action application="log" data="ERR ===begin=="/>
<action application="play_and_detect_speech" data="/usr/local/freeswitch/sounds/2.wav detect:pocketsphinx yes_no"/>
<action application="log" data="===${detect_speech_result}"/>
<action application="sleep" data="2000"/>
</condition>
</extension>
play_and_detect_speech 如果播放声音不好的就播放个1s 静音 在次之前播放吧
效果
(如果你觉得实现麻烦可以到 /item.htm?id=68442889哦)
对此感兴趣的可以加群261074724