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