在ROS中使用語音識別和語音合成

2021-08-21 01:25:08 字數 1518 閱讀 5508

執行測試平台:小強ros機械人

語音識別是乙個很常見的技術,ros中也有一些語音識別的功能包,但是效果都不太好。沒有實時識別的功能。對於科大迅飛ros的支援也很不好。為了解決這些問題於是就有了下面的軟體包 xiaoqiang_tts。

cd

[到你的工作空間的src資料夾中]

git clone

git clone

rosdep install xiaoqiang_audio

rosdep install xiaoqiang_tts

cd..

catkin_make -dcatkin_whitelist_packages=

"xiaoqiang_tts"

roslaunch xiaoqiang_tts tts_baidu.launch
輸入topic

訊息型別

/xiaoqiang_tts/text

std_msgs/string

輸出topic

訊息型別

/xiaoqiang_audio/audio

audio_common_msgs/audiodata

發布訊息,測試語音

rostopic pub /xiaoqiang_tts/text std_msgs/string 測試一下語音合成 -1
此時如果正常應該能夠聽到"測試一下語音合成"的聲音

啟動科大迅飛語音合成

roslaunch xiaoqiang_tts tts_xunfei.launch
測試方法和上面一樣。正常應該會聽到合成的聲音。

roslaunch xiaoqiang_tts asr_baidu.launch
新開乙個終端接收語音識別結果

rostopic echo /xiaoqiang_tts/text
現在可以開始說話了,程式會自動監聽環境聲音並進行分句。當你停止說話時會開始處理你的這一句的結果。

輸入topic

訊息型別

/xiaoqiang_audio/audio

audio_common_msgs/audiodata

輸出topic

訊息型別

/xiaoqiang_tts/text

std_msgs/string

啟動迅飛語音識別

roslaunch xiaoqiang_tts asr_xunfei.launch
使用方法和上面的一樣

使用科大迅飛語音合成和語音識別

roslaunch xiaoqiang_tts tts_xunfei.launch

roslaunch xiaoqiang_tts asr_xunfei.launch

現在你說一句話機械人就會跟著你說一句話。

詳細的引數說明請參照launch檔案內的注釋

在Html中使用語音處理控制項

1 用vc 建立乙個mfc控制項 主要控制項的id為ab8ddd1b f57d 489c b8c4 be03b7506cd2 在下面可以看到 class information for chyspeechctrlctrl uuid ab8ddd1b f57d 489c b8c4 be03b7506c...

在ROS中使用nodelet

nodelet的作用 減少在ros中傳遞資料的延遲。在同乙個程序內,執行多個node,通過指標傳遞資料,使得程序內訊息傳遞時不產生複製成本。下面是乙個使用nodelet原始檔的例子 namespace nodelet tutorial math private virtual void oninit...

在ROS中使用Python3

執行測試平台 小強ros機械人 當前ros是只支援python2.7的。python3的支援在ros的計畫中,詳細的可以看這裡。簡單說來就是要到2019年ros的n版本才能完全支援python3。首先要了解為什麼ros不能支援python3.對於純的python 同時支援python3和python...