博舍

ai智能机器人关于语音打断怎么设置 如何呼叫手机机器人功能设置

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

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

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),如果不是关键词返回noopasrmessage_notify的整句话识别结果如果匹配,直接播放新的声音文件,执行新的业务流程,如果不匹配,判断playstate(户说话结束的时候,机器人是否也放音完成),playstate为true返回console_playback(resume),playstate为false,执行playback_result通知一样的流程。playback_result收到这个通知,说明声音播放完成,等待用户说话超时,asrstate为true是表示用户当前已经在说话,可以返回noop,否则必须播放一个声音,提示用户说话。多种打断方案集合使用流程start_asr开始asr,设置pause_play_ms为200-1000之间(设置自动打断时间)playbackwait设置3000-5000,并且设置allow_interrupt动态修改自动打断时间,asrprogress_notify检查是否有关键词有关键词返回console_playback(pause),没关键词返回noopasrmessage_notify根据识别结果,playms(用来判断是否机器人刚说话,用户也开始说话),playstate(用来判断用户说话结束的时候,机器人是否也放音完成),等条件返回console_playback(resume)继续放音,或者返回playback播放一个新的声音。playback_resultasrstate为true是表示用户当前已经在说话,可以返回noop,否则必须播放一个声音,提示用户说话。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇