ai智能机器人关于语音打断怎么设置

   日期:2024-12-27    作者:chinanrong8 移动:http://mip.riyuangf.com/mobile/quote/65088.html

动打断(就是检测到声音,就自动停止放音)

start_asr 有一个参数 pause_play_ms,demo是200, 就是检测到说话声音持续时间时间超过pause_play_ms,就自动暂停放音。如果你不需要这个功能设置为0, 如果你启用了这个功能,asrmessage_notify通知每播放一个新的声音就必须要恢复放音console_playback(resume)。否则机器人放音一直暂停着(收不到playback_result通知)。


业务打断(就是流程停止放音,或者播放一个新的声音实现打断。)

asrprogress_notify返回 console_playback(pause),或者asrmessage_notify返回播放新的声音,就会停止播放当前的声音。


怎么禁用打断功能

机器人放音的时候可以识别用户说话,但是不打断机器人放音:playback的allow_interrupt设置-1,关闭自动打断。asrprogress_notify返回 noop。 asrmessage_notif

如果playstate等于false(当前没放音),执行业务逻辑播放新的声音。asrmessage_notif如果playstate等于true(当前在放音,不处理),返回noop,并且把识别结果记录到flowdata,等paly_result的时候再处理识别结果。如果paly_result的时候检测放音过程是否有识别结果,如果有执行业务逻辑处理流程,如果没有返回wait.

放音的时候直接暂停asr, 自然也就不会打断了。playback的block_asr设置为-1.本次放音,禁用了asr,就可以了。有关系统方面问题请找博主一起交流学习吧。

噪音打断怎么解决

如果要完全避免噪音打断可以把自动打断关闭,使用关键词打断。如果要求不高可以把pause_play_ms设置大些,比如1000。playback新加了一个自动打断控制参数,可以设置本次机器人放音多久才启用自动打断。


怎么实现关键词打断

start_asr的pause_play_ms 设置 0 ,关闭自动打断

asrprogress_notify 的识别结果如果是关键词 返回 console_playback(pause),如果不是关键词 返回 noop

asrmessage_notify 的整句话识别结果如果匹配,直接播放新的声音文件,执行新的业务流程,如果不匹配, 判断playstate(户说话结束的时候,机器人是否也放音完成),playstate为true返回console_playback(resume),playstate为false,执行playback_result通知一样的流程。

playback_result 收到这个通知,说明声音播放完成,等待用户说话超时,asrstate为true是表示用户当前已经在说话, 可以返回noop,否则必须播放一个声音,提示用户说话。

多种打断方案集合使用流程

start_asr 开始asr,设置 pause_play_ms 为 200-1000之间 (设置自动打断时间)

playback wait设置 3000-5000,并且设置allow_interrupt动态修改自动打断时间,

asrprogress_notify 检查是否有关键词有关键词返回console_playback(pause),没关键词返回 noop

asrmessage_notify 根据识别结果,playms(用来判断 是否 机器人刚说话,用户也开始说话) ,playstate(用来判断 用户说话结束的时候,机器人是否也放音完成),等条件返回console_playback(resume)继续放音,或者返回playback播放一个新的声音。

playback_result asrstate为true是表示用户当前已经在说话, 可以返回noop,否则必须播放一个声音,提示用户说话。


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号