服务机器人语音对话的实现
前言
??基于語音的人機交互是服務機器人交互的最主要表現形式之一,它主要解決以語音作為信息載體,讓機器人具有像人一樣的“能聽會說”的能力,降低使用門檻,且能夠解放雙手雙眼的問題。所以把對話交互功能做好,是服務機器人的基礎。交互功能實現步驟包括:麥克風數據采集、麥克風音頻降噪和定向、功放聲音回饋、關鍵詞喚醒、語音識別、語義詞庫查詢、語音合成。
方案選型
??國內服務機器人可選語音交互方案有科大訊飛、思必馳、百度、云知聲等方案。云知聲和思必馳一般是垂直領域的整體解決方案的,例如車載系統的語音對話,前階段跟思必馳的商務溝通,如果我們服務機器人要使用他們的方案,前期落地費用需要50萬大洋,后期每臺還要交授權費用幾千大洋,太貴了,就打消了用思必馳方案的念頭,百度語音主要用于自家產品的百度導航、小度音響,在硬件支持和適配方面方面感覺不是特別好。那還是繞不開的路,還是要用科大訊飛,科大訊飛的AIUI的流式交互體驗確實比較棒。
?? 科大訊飛AIUI方案分為軟核方案和硬核方案。軟核方案就是需要把主板(Android 和LInux)交給科大訊飛,讓他們去適配,適配好后后期使用每臺會收取授權費用,可前期適配的費用是比較高的,超過10萬大洋,而我們是做商用服務器機器人,產品更新換代比較快,而且產量不是很大,所以我們選擇了硬核的方案,硬核的方案就是使用科大訊飛核心板去實現。
實現步驟
??我們機器人采用的CS的架構,內部有一個工控機作為服務器,機器人所有功能和算法都跑在工控機服務器上,機器人自帶的安卓平板就是通過調用服務器接口去場景交互功能。所以整體的實現步驟如下。
外圍電路設計
??外圍電路設計比較簡單,主要是供電電路和功放板的聲音回饋電路,還有注意音頻輸出需要隔離,要不會功放板可能會出現噪音比較大的問題。
1.供電電路
??供電電路主要設計5V供電和3.3V供電,電路圖如下。
2.功放聲音回饋電路
??功放聲音回饋電路注意用于流式交互方式,就是機器人在回答問題時候,我們可以直接跟他繼續對話,不需要打斷。用這種交互方式就需要通過回饋消除掉機器人自身說話的聲音。
語音交互服務實現
??我們機器人內部工控機服務器跑的是Ubuntu系統。語音識別、喚醒、休眠、合成服務根據科大訊飛提供的AIUI模塊串口開發指南來實現。語義詞庫我們有自己的云端可編輯的詞庫系統,實現的方式就是優先在我們編輯好的詞庫查找答案,如果找不到答案就去AIUI平臺去獲取答案。開發使用golang語音,部署的方式是docker-compose,對服務機器人本地單機部署來說,docker-compse是非常合適的方式。
安卓平板APP交互
??交互APP只是根據機器人服務器提供的語音識別,語音喚醒,語義查找、語音合成接口來根據場景實現對話功能。不過為了體驗更加自然人性化,我們加了攝像頭的判斷,就是攝像頭檢測到有人來,就打開語音對話,人走開了就自動關閉對話,這種交互比較自然,比其他機器人的交互體驗好很多。
服務機器人對話演示
后續
??我是一位商用服務機器人的從業者,我會把對服務機器人這行業的想法、發展趨勢和在工作中遇到的問題和解決方法分享出來。
??如果本期內容對大家有幫助記得點贊哦,所寫內容對大家有幫助是我繼續寫下去的原動力。
總結
以上是生活随笔為你收集整理的服务机器人语音对话的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux smb服务安装包,samba
- 下一篇: caffe common 程序分析 类中