我們之前分享過TTS (從文本到語音(Text To Speech))功能,目前有兩個模塊可以實現此功能:
方案一:使用科大訊飛的XFS5152CE語音合成模塊,這個模塊優點是接近真人發聲,缺點價格偏貴,大約80+元;
方案二:利用MP3模塊的組合播報功能,實現過當前系統時間的播報,這種方案的優點是模塊價格便宜,缺點是語速固定、語音素材需要提前準備。
今天給大家分享一個我新購入的TTS文字轉語音合成模塊,這個模塊由小酷智能語音科技出品,在語音效果要求不是很高的情況下,選擇此模塊性價比很高。
實現目標
- 利用DHT11溫濕度傳感器獲取環境溫度和濕度;
- 利用矩陣鍵盤控制語音播報,當點擊矩陣鍵盤中的按鍵A時,播報環境溫度;當點擊矩陣鍵盤中的按鍵B時,播報環境濕度值。
引腳定義
注意:不用生產批次,絲印略有差異。
硬件連接
TTS語音模塊與STM32F103C8T6單片機的串口2相連。
實物展示
通訊參數
- 通訊標準:UART
- 波特率:9600 bps
- 起始位:1 bit
- 數據位:8 bits
- 停止位:1 bit
- 校驗:無
播放控制
語音合成控制
硬件接好之后,用戶使用串口助手,通過USB轉TTL模塊與TTS語音模塊相連,或者使用MCU通過UART串口向TTS模塊發送中文、英文或數字,進行語音合成播報。
串口配置為(9600,8,N,1),通過串口輸出printf("大家好,歡迎關注我的公眾號:嵌入式從0到1");
,TTS模塊即會播報文字對應的語音。
播放音效
發送<Z>+編號
, 內置 8 種音效,編號為 0-7 ,比如:printf("<Z>0");
,播報編號為0的音效。
音量設置
發送<V>+音量等級
,設置播報音量,可設置 1-4 級音量,比如:printf("<V>3");
,設置音量為3。系統默認為 4,為最高音量。
語速設置
發送<S>+語速值
,設置語速,可設置 1-3 級語速, 比如:printf("<S>3");
,設置語速為3。系統默認為 2,為中速。
設置系統上電提示音效
發送<I>1
,設置上電音效提示為第一號音效,<I>0
則為第0號音效。系統默認為0號音效,設置大于7的數,則上電無音效提示。
模塊回傳
模塊在不同情形下通過TX引腳向用戶MCU發送不同的回傳信息。
數字
一般數字按順序進行播報,如“123”讀成“一二三”。
日期、時間、百分號的數字按數字規則,如“2020-02-14”讀成“二零二零年二月十四日”、“08:56”讀成“八點五十六分”、“25%”讀成“百分之二十五”。
注:標準日期格式“2020-02-14”、標準時間格式“12:30”,才會按日期、時間處理,簡寫和非標準順序都不會按日期讀音處理后讀出。
比如:2020-02-14 12:30
,此字符串可以正常按照日期和時間的讀音讀出。
歡迎關注
專注于嵌入式知識分享,讓你學習路上不迷路,更多技術干貨,請關注我。