摘要:
最近再研究PJSIP,有一个需求,再适当的时候,需要给远程客户端放音,比如:播放一段广告、或者一段音乐。需要采用API来实现。
正文:
最近想用PJSIP做一个机器人,想法比较简单就是获取客户的语音流,然后送给ASR,进行识别,识别的结果送给NLP(大脑),NLP返回的结果,再送给TTS合成,合成语音,播报给客户听。
架构图:SIP话机注册到录音平台,客户通过语音平台和SIP话机建立通话,我们通过会议桥的方式,建立两个port, 其中一个player port的。其中一个是rec port。 rec port负责将语音流送给VAD 检测,如果VAD发现静音了 , 将语音送给ASR,ASR识别结果送给NLP,NLP 大脑得到结果后,送给TTS,TTS 文本合成语音,将语音通过play port送到会议,客户就可以听到了。销毁Play port.
2. Play port
通过PJSIP会议桥的方式,创建播放TTS的会议桥 。
3. Rec Port
通过PJSIP会议桥的方式,创建收客户说话音频的会议桥。
4. VAD
收音的过程中不断通过VAD检测客户是否说完一段话。
5 打断技术
当检测到客户说话,执行打断当前播放的操作。