服务机器人语音对话的实现

前言

基于语音的人机交互是服务机器人最重要的交互形式之一,主要解决了以语音为信息载体的问题,使机器人具备了像人类一样的“听、说”能力,降低了使用门槛。并且可以解放手部和眼睛。因此,做好对话交互功能是服务机器人的基础。交互功能的实现步骤包括:麦克风数据采集、麦克风音频降噪与定位、功放声音反馈、关键词唤醒、语音识别、语义词库查询、语音合成。

[En]

Voice-based human-computer interaction is one of the most important forms of service robot interaction, which mainly solves the problem of using voice as the information carrier, making the robot have the ability of “listening and speaking” like human beings, and lowering the threshold of use. and can liberate both hands and eyes. Therefore, to do a good job of dialogue interaction function is the basis of the service robot. The implementation steps of interactive functions include: microphone data acquisition, microphone audio noise reduction and orientation, power amplifier sound feedback, keyword awakening, speech recognition, semantic thesaurus query, and speech synthesis.

服务机器人语音对话的实现

; 方案选型

国内服务机器人可选语音交互方案有科大讯飞、思必驰、百度、云知声等方案。云知声和思必驰一般是垂直领域的整体解决方案的,例如车载系统的语音对话,前阶段跟思必驰的商务沟通,如果我们服务机器人要使用他们的方案,前期落地费用需要50万大洋,后期每台还要交授权费用几千大洋,太贵了,就打消了用思必驰方案的念头,百度语音主要用于自家产品的百度导航、小度音响,在硬件支持和适配方面方面感觉不是特别好。那还是绕不开的路,还是要用科大讯飞,科大讯飞的AIUI的流式交互体验确实比较棒。
科大讯飞AIUI方案分为软核方案和硬核方案。软核方案就是需要把主板(Android 和LInux)交给科大讯飞,让他们去适配,适配好后后期使用每台会收取授权费用,可前期适配的费用是比较高的,超过10万大洋,而我们是做商用服务器机器人,产品更新换代比较快,而且产量不是很大,所以我们选择了硬核的方案,硬核的方案就是使用科大讯飞核心板去实现。

服务机器人语音对话的实现

; 实现步骤

我们机器人采用的CS的架构,内部有一个工控机作为服务器,机器人所有功能和算法都跑在工控机服务器上,机器人自带的安卓平板就是通过调用服务器接口去场景交互功能。所以整体的实现步骤如下。

服务机器人语音对话的实现

外围电路设计

外围电路的设计比较简单,主要是功率放大器板的电源电路和声音反馈电路,并注意需要隔离音频输出,否则功率放大器板可能会出现噪声。

[En]

The design of the peripheral circuit is relatively simple, mainly the power supply circuit and the sound feedback circuit of the power amplifier board, and pay attention to the need to isolate the audio output, otherwise the noise of the power amplifier board may occur.

1.供电电路

供电电路主要设计5V供电和3.3V供电,电路图如下。

服务机器人语音对话的实现
; 2.功放声音回馈电路

功放声音反馈电路注重流媒体交互模式,即当机器人答疑时,我们可以不间断地继续与他直接对话。在这种交互方式中,需要通过反馈消除机器人本身的声音。

[En]

The power amplifier sound feedback circuit pays attention to the streaming interaction mode, that is, when the robot answers questions, we can continue to talk to him directly without interrupting. In this way of interaction, it is necessary to eliminate the voice of the robot itself through feedback.

服务机器人语音对话的实现

语音交互服务实现

我们机器人内部工控机服务器跑的是Ubuntu系统。语音识别、唤醒、休眠、合成服务根据科大讯飞提供的AIUI模块串口开发指南来实现。语义词库我们有自己的云端可编辑的词库系统,实现的方式就是优先在我们编辑好的词库查找答案,如果找不到答案就去AIUI平台去获取答案。开发使用golang语音,部署的方式是docker-compose,对服务机器人本地单机部署来说,docker-compse是非常合适的方式。

安卓平板APP交互

交互APP只是根据机器人服务器提供的语音识别,语音唤醒,语义查找、语音合成接口来根据场景实现对话功能。不过为了体验更加自然人性化,我们加了摄像头的判断,就是摄像头检测到有人来,就打开语音对话,人走开了就自动关闭对话,这种交互比较自然,比其他机器人的交互体验好很多。

服务机器人对话演示

后续

我是一名商务服务机器人从业者,我将分享我对服务机器人行业的思考、发展趋势、问题和解决方案。

[En]

I am a business service robot practitioner, and I will share my thoughts, development trends, problems and solutions to the service robot industry.

如果本期内容对您有帮助,请记得点赞。我所写的就是我继续写作的动力。

[En]

If the content of this issue is helpful to you, please remember to like it. What I have written is the motivation for me to continue to write.

Original: https://blog.csdn.net/chenfengkai/article/details/122476411
Author: robotmeta
Title: 服务机器人语音对话的实现

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/498264/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球