當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 程序員小哈
[導(dǎo)讀]TTS是Text To Speech的縮寫,即“從文本到語(yǔ)音”,是人機(jī)對(duì)話的一部分,讓機(jī)器能夠說(shuō)話。 語(yǔ)音播報(bào)功能的實(shí)現(xiàn)方式 TTS語(yǔ)音模塊,比如XFS5152、SYN6288等 ISD4000系列語(yǔ)音錄放芯片分段輸出 可以按鍵、UART控制的mp3解碼芯片模塊 OTP(One Time Programable)語(yǔ)音

TTS是Text To Speech的縮寫,即“從文本到語(yǔ)音”,是人機(jī)對(duì)話的一部分,讓機(jī)器能夠說(shuō)話。


語(yǔ)音播報(bào)功能的實(shí)現(xiàn)方式

  • TTS語(yǔ)音模塊,比如XFS5152、SYN6288等

  • ISD4000系列語(yǔ)音錄放芯片分段輸出

  • 可以按鍵、UART控制的mp3解碼芯片模塊

  • OTP(One Time Programable)語(yǔ)音芯片[定制]

其中TTS語(yǔ)音模塊使用起來(lái)最方便靈活,OTP語(yǔ)音芯片最簡(jiǎn)單。


本文將介紹一下科大訊飛的XFS5152CE語(yǔ)音合成模塊。


XFS5152CE語(yǔ)音合成模塊

XFS5152CE是一款高集成度的語(yǔ)音合成芯片,可實(shí)現(xiàn)中文、英文語(yǔ)音合成;并集成了語(yǔ)音編碼、解碼功能,可支持用戶進(jìn)行錄音和播放;除此之外,還創(chuàng)新性地集成了輕量級(jí)的語(yǔ)音識(shí)別功能,支持30個(gè)命令詞的識(shí)別。


內(nèi)置的30個(gè)語(yǔ)音識(shí)別命令詞

手冊(cè)說(shuō)如果需要定制命令詞需要跟廠家聯(lián)系,我體驗(yàn)了一下,識(shí)別的準(zhǔn)確率不是很高。
如果需要語(yǔ)音識(shí)別功能,可以使用LD3320模塊,參考網(wǎng)文:

LD3320語(yǔ)音識(shí)別模塊:LDV7模塊使用詳解
如果需要錄音模塊,建議使用ISD系列錄音芯片,參考網(wǎng)文:

簡(jiǎn)單好用的ISD1820語(yǔ)音錄放芯片


為了使用方便,我們可以直接購(gòu)買現(xiàn)成的XFS5152CE語(yǔ)音合成模塊。


通訊接口

XFS5152CE 芯片支持 UART 接口、I2C 接口、SPI 接口三種通訊方式,可通過(guò) UART 接口、 I2C 或 SPI 接口接收上位機(jī)發(fā)送的命令和數(shù)據(jù),允許發(fā)送數(shù)據(jù)的最大長(zhǎng)度為 4K字節(jié)。

用戶在使用語(yǔ)音編解碼功能時(shí)(通訊接口必須選擇 UART 接口,并且波特率設(shè)置為 115200bps),上位機(jī)發(fā)送啟動(dòng)編解碼的命令給語(yǔ)音芯片,芯片內(nèi)部的語(yǔ)音編解碼模塊把采集到的音頻數(shù)據(jù)進(jìn)行編碼并通過(guò)UART接口實(shí)時(shí)傳送給上位機(jī),或者對(duì)上位機(jī)傳送來(lái)的音頻數(shù)據(jù)進(jìn)行解碼并實(shí)時(shí)播放出來(lái)。


接線方式

  • PC上使用官方演示程序《科大訊飛語(yǔ)音合成芯片PC端演示程序》,使用串口通信進(jìn)行測(cè)試的接線方式如下:


  • 如果使用單片機(jī)與XFS5152CE語(yǔ)音合成模塊聯(lián)用,模塊的8腳和10腳與STM32的串口交叉連接(我使用的是串口2),7腳用于判斷語(yǔ)音模塊當(dāng)前的狀態(tài),原理圖如下所示:


注意

  • 關(guān)于功放引腳4腳和6腳:可以根據(jù)喇叭的功率來(lái)選擇相應(yīng)功率的功放,比如5W以內(nèi)喇叭可以選擇單聲道功放XPT8871、LTK5128,15W的喇叭可以選擇TDA7297等雙聲道功放;

  • 關(guān)于語(yǔ)音識(shí)別:只有使用語(yǔ)音識(shí)別功能的時(shí)候才需要接咪頭(如:9767型咪頭),且只能識(shí)別芯片指定的30條命令詞;

  • 通過(guò)模塊板子上的撥碼開(kāi)關(guān)選擇波特率,如撥到"√XX√"表示9600,模塊的通訊比特率要跟上位機(jī)或者與之相連的單片機(jī)的比特率一致;

  • 3.3V供電。



1. 串口初始化

參考網(wǎng)文:

STM32F103 串口的使用方法

uart2_init(115200);

通過(guò)撥碼開(kāi)關(guān)設(shè)置波特率為:115200

2. 工作狀態(tài)指示輸出引腳初始化

/BSY引腳用于指示當(dāng)前的工作狀態(tài),低電平代表Ready狀態(tài),高電平代表Busy狀態(tài)。
用單片機(jī)的一個(gè)GPIO與之相連,可以讀取該IO的輸入狀態(tài),即可獲取當(dāng)前模塊處于的工作狀態(tài)。


  
#define U5152_BSY GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)
void U5152_Init(void){ GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
//U5152_BSY GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; //PA0 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //設(shè)置成上拉輸入 GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化GPIOA0
}



3. 封裝播報(bào)語(yǔ)音函數(shù)

控制標(biāo)識(shí)需要按照語(yǔ)音合成命令的格式發(fā)送,控制標(biāo)記作為文本進(jìn)行合成,即合成命令是“幀頭 + 數(shù)據(jù)區(qū)長(zhǎng)度 + 合成命令字 + 文本編碼格式 + 控制標(biāo)記文本”的格式。


語(yǔ)音合成命令幀示例:


/************************************************************ 名 稱:YS-XFS5051 文本合成函數(shù)* 功 能:發(fā)送合成文本到XFS5051芯片進(jìn)行合成播放* 入口參數(shù):*HZdata:文本指針變量* 出口參數(shù):* 說(shuō) 明:本函數(shù)只用于文本合成,具備背景音樂(lè)選擇。默認(rèn)波特率9600bps。* 調(diào)用方法:例:SYN_FrameInfo(“歡迎關(guān)注微信公眾號(hào):程序員小哈”);**********************************************************/void XFS_FrameInfo(char *HZdata){ /****************需要發(fā)送的文本**********************************/ unsigned char Frame_Info[50]; //定義的文本長(zhǎng)度 xdata unsigned int HZ_Length;
HZ_Length =strlen(HZdata); //需要發(fā)送文本的長(zhǎng)度
/*****************幀固定配置信息**************************************/ Frame_Info[0] = 0xFD ; //構(gòu)造幀頭FD Frame_Info[1] = 0x00 ; //構(gòu)造數(shù)據(jù)區(qū)長(zhǎng)度的高字節(jié) Frame_Info[2] = HZ_Length+2; //構(gòu)造數(shù)據(jù)區(qū)長(zhǎng)度的低字節(jié) Frame_Info[3] = 0x01 ; //構(gòu)造命令字:合成播放命令 Frame_Info[4] = 0x01; //文本編碼格式:GBK /*******************發(fā)送幀信息***************************************/ memcpy(&Frame_Info[5], HZdata, HZ_Length); USART2_OUT(Frame_Info,5+HZ_Length); //發(fā)送幀配置}


4. 播報(bào)當(dāng)前時(shí)間語(yǔ)音

  
while(U5152_BSY){}sprintf((char*)dtbuf,"[v5][s5][m55]當(dāng)前時(shí)間為%02d時(shí)%02d分%02d秒",NowHour,NowMinute,NowSecond);XFS_FrameInfo((char*)dtbuf) ;delay_ms(10);
while(U5152_BSY){}



5. 文本控制標(biāo)記

XFS5152CE 芯片的語(yǔ)音合成功能支持多種文本控制標(biāo)記,可以滿足用戶對(duì)語(yǔ)音合成發(fā)音人、音量、語(yǔ)速、語(yǔ)調(diào)等的設(shè)置。文本控制標(biāo)記的格式一般是半角中括號(hào)(即“[]”)內(nèi)一個(gè)小寫字母、一個(gè)阿拉伯?dāng)?shù)字,如:[m3]為使用女聲的發(fā)音人小燕。


文本控制標(biāo)記舉例

sprintf((char*)dtbuf,"[v5][s5][m3]當(dāng)前時(shí)間為%02d時(shí)%02d分%02d秒 \r\n",NowHour,NowMinute,NowSecond);

[v5]:代表音量值,有效范圍為:0~10;

[s5]:為語(yǔ)速值,取值范圍為:0~10;

[m3]:選擇發(fā)音人為小燕(女聲)


總結(jié)

  • 模塊優(yōu)點(diǎn),文字轉(zhuǎn)語(yǔ)音很方便,很靈活

  • 價(jià)格較貴,所以我們很多情況不需要功能這么強(qiáng)大的TTS語(yǔ)音模塊,有些場(chǎng)景,我們甚至沒(méi)有必要購(gòu)買TTS語(yǔ)音模塊,比如語(yǔ)音開(kāi)發(fā)中常見(jiàn)的費(fèi)用催繳,撥通后播放:“尊敬的客戶,您本月的費(fèi)用是:212元”,前面部分對(duì)所有客戶都一樣,錄一個(gè)語(yǔ)音文件就是了,而數(shù)字的合成是很簡(jiǎn)單的,你只要錄制好10個(gè)數(shù)字語(yǔ)音,再加上十,百,千,萬(wàn),再加上金錢的單位“元”即可。


資料獲取

微信公眾號(hào)后臺(tái)回復(fù)“XFS5152CE語(yǔ)音合成模塊”,可以下載模塊相關(guān)資料。




推薦閱讀:

STM32F103 串口的使用方法

LD3320語(yǔ)音識(shí)別模塊:LDV7模塊使用詳解

簡(jiǎn)單好用的ISD1820語(yǔ)音錄放芯片




喜歡請(qǐng)關(guān)注微信公眾號(hào):程序員小哈


公眾號(hào)內(nèi)容面向在校大學(xué)生、電子愛(ài)好者、嵌入式工程師;

涉及電子制作、模塊使用、單片機(jī)技術(shù)、物聯(lián)網(wǎng)相關(guān)知識(shí)分享;

玩模塊,學(xué)硬件,帶你從0走到1


若覺(jué)得本次分享的文章對(duì)您有幫助,隨手點(diǎn)[在看]并轉(zhuǎn)發(fā)分享,也是對(duì)我的支持。

?

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉