WT588F34B語(yǔ)音芯片單曲更換語(yǔ)音功能的實(shí)現(xiàn)與應(yīng)用
開發(fā)背景:
產(chǎn)品需要更換語(yǔ)音內(nèi)容一直能存在于生產(chǎn)端,而不能夠?qū)崿F(xiàn)產(chǎn)品在使用終端更換語(yǔ)音,從而實(shí)現(xiàn)產(chǎn)品的迭代升級(jí)。
實(shí)現(xiàn)原理:
既然是要能夠?qū)崿F(xiàn)單曲聲音的更換,那就需要規(guī)劃一個(gè)文件系統(tǒng)去記錄聲音的信息,單曲更換在實(shí)際的情況下存放著不是連續(xù)的音頻文件,這樣就需要一個(gè)音頻信息的存放區(qū)域。
WT588F34B是一款內(nèi)置了32Mbit Flash的大容量語(yǔ)音芯片,可以通過(guò)Flash燒寫器去更換語(yǔ)音文件。在唯創(chuàng)知音芯片F(xiàn)lash的操作中,一個(gè)扇區(qū)是4K,意味著是我們整個(gè)單曲更換的最小單位是4K,但是當(dāng)客戶的音頻文件都是很小的時(shí)候,遠(yuǎn)遠(yuǎn)達(dá)不到4K,這樣大大浪費(fèi)了我們Flash的空間,空間利用率大大降低,于是提出劃分為兩個(gè)部分,一個(gè)是支持單曲更換的音頻區(qū)域,一個(gè)是不支持單曲更換的音頻區(qū)域,由客戶來(lái)選擇單曲存放的音頻數(shù)量,這樣也就提升了一個(gè)空間利用率,可以存放更大、更多的音頻文件。為了保障這個(gè)扇區(qū)的可靠性,唯創(chuàng)知音還增加了一個(gè)Word,對(duì)這個(gè)扇區(qū)進(jìn)行一個(gè)校驗(yàn)。
那么要怎樣去播放這些離散的音頻文件呢?
其實(shí)做法也很簡(jiǎn)單,創(chuàng)建一個(gè)扇區(qū),里面記錄的便是每一個(gè)扇區(qū)時(shí)那一個(gè)音頻文件的數(shù)據(jù),在播放時(shí),需要到這個(gè)扇區(qū)中尋找想要播放的地址,找到對(duì)應(yīng)地址再進(jìn)行一個(gè)尋址的計(jì)算,找到音頻存放的扇區(qū),開始進(jìn)行播放,當(dāng)這個(gè)扇區(qū)播放結(jié)束時(shí),進(jìn)行下一個(gè)扇區(qū)的地址尋找,這樣就能夠?qū)崿F(xiàn)離散扇區(qū)的連續(xù)播放。
當(dāng)播放的問(wèn)題解決了之后,就是一個(gè)數(shù)據(jù)的更換了。
在上面提出了播放的原理后,數(shù)據(jù)更換的方式比較直白,只需要在記錄單曲音頻的扇區(qū)找到想要更換的地址的對(duì)應(yīng)的扇區(qū),對(duì)該扇區(qū)的擦除和寫入,如果現(xiàn)有的音頻數(shù)據(jù)長(zhǎng)度超過(guò)原來(lái)的,那便在記錄單曲音頻的扇區(qū)尋找一個(gè)無(wú)音頻數(shù)據(jù)的扇區(qū)進(jìn)行寫入、不足原來(lái)的數(shù)據(jù)長(zhǎng)度則需要對(duì)剩下的數(shù)據(jù)空間清空,這樣就是數(shù)據(jù)更換的原理。
但是在更換的過(guò)程中,遇到一個(gè)問(wèn)題,F(xiàn)lash的寫入只能有一變?yōu)榱?,這就導(dǎo)致了無(wú)法隨意對(duì)記錄單曲音頻的扇區(qū)進(jìn)行修改,必須先將這個(gè)扇區(qū)進(jìn)行一個(gè)備份一份,4K的一個(gè)數(shù)據(jù)量,也不可能利用芯片的寄存器去存放這些數(shù)據(jù),于是有了一個(gè)新的想法,在FLASH中創(chuàng)造一個(gè)扇區(qū)去作為原來(lái)數(shù)據(jù)的一個(gè)備份區(qū),在數(shù)據(jù)更換的時(shí)候起到暫存的作用。
那么這個(gè)備份區(qū)的作用是不是僅僅如此呢?
答案是不止如此的!當(dāng)數(shù)據(jù)更換時(shí),如果遇到突發(fā)的情況,更換失敗了,那樣音頻數(shù)據(jù)必然是不完整的,按照原來(lái)的播放方式是不能正常播放,于是有了一個(gè)大膽的想法,在備份區(qū)備份的是不完整的扇區(qū),不對(duì)要更換的地址進(jìn)行保存,然后在更換過(guò)程備份區(qū)備份好之后,對(duì)原先扇區(qū)進(jìn)行一個(gè)“破壞”,這樣存在的數(shù)據(jù)校驗(yàn)就不能通過(guò),在原先扇區(qū)校驗(yàn)通過(guò)不了的情況下,啟用備份區(qū),進(jìn)行一個(gè)播放,這樣便保證了芯片能夠正常工作。
當(dāng)然客戶執(zhí)行更換的操作時(shí),并沒(méi)有這么麻煩,當(dāng)然下面會(huì)講到這個(gè)。
芯片的功能和特點(diǎn):
1. 16位DSP語(yǔ)音芯片、32Mhz內(nèi)部振蕩;
2. 工作電壓2.4~3.6V;
3. 16bit的PWM/DAC輸出、可直接驅(qū)動(dòng)8R 0.5W喇叭;
4. 支持6K~32Khz的WAV文件;
5. 客戶可以通過(guò)MCU或配套下載器在線更換芯片內(nèi)部語(yǔ)音內(nèi)容;
6. 支持模擬SPI通訊;
7. 支持最大4通道16K采樣率混音;
8. 支持最高16通道m(xù)idi播放(8K采樣率);
9. 具有硬件SPI接口、UART接口、IIC、內(nèi)置比較器等接口。可以為客戶定制各類功能。
10. 芯片主控程序和內(nèi)置存儲(chǔ)數(shù)據(jù)均可擦除再燒寫。
引腳功能圖:
SPI通信協(xié)議:
SPI是串行通訊協(xié)議,也就是說(shuō)數(shù)據(jù)是一位一位的傳輸?shù)摹ISO引腳和MOSI引腳上的數(shù)據(jù)的MSB位必須與SPSCK的第一個(gè)邊沿同步,在SPI傳輸過(guò)程中,在同步時(shí)鐘信號(hào)周期開始時(shí)(上升沿)數(shù)據(jù)上線,然后在同步時(shí)鐘信號(hào)的下降沿時(shí),SPI的接收方捕捉位信號(hào),在時(shí)鐘信號(hào)的一個(gè)周期結(jié)束時(shí)(上升沿),下一位數(shù)據(jù)信號(hào)上線,再重復(fù)上述過(guò)程,先發(fā)高位,直到一個(gè)字節(jié)的8位信號(hào)傳輸結(jié)束。由此可以實(shí)現(xiàn)控制語(yǔ)音播放、停止、循環(huán)等。詳細(xì)說(shuō)明可見下面介紹。
SPI控制模式由芯片CS、SCK和SI進(jìn)行控制操作,每發(fā)一個(gè)字節(jié)數(shù)據(jù)前,CS先拉低4ms至20ms,推薦使用5ms,然后再發(fā)送CLK,接收數(shù)據(jù)高位在先,在時(shí)鐘的下降接收數(shù)據(jù)。時(shí)鐘周期介于160us~2ms之間,推薦周期使用200us。發(fā)數(shù)據(jù)時(shí)先發(fā)高位,再發(fā)低位。數(shù)據(jù)中的指令根據(jù)指令表來(lái)發(fā)送
1)播放命令碼:
2)更換指令碼
3)Flash控制碼
應(yīng)用電路:
更換協(xié)議說(shuō)明:
bin文件制作或T3Z文件制作
制作bin文件:登陸網(wǎng)頁(yè)上位機(jī)網(wǎng)址后,加載要播放的語(yǔ)音文件或使用文字轉(zhuǎn)換音頻功能加載語(yǔ)音后制作bin文件。WT588網(wǎng)頁(yè)制作客戶登錄網(wǎng)址:http://WT588f.waytronic.com:8083/user/register。bin文件制作步驟可參考《WT588F網(wǎng)頁(yè)上位機(jī)操作說(shuō)明2020-8-31》或視頻解說(shuō),可聯(lián)系業(yè)務(wù)員提供。
訪問(wèn)API接口,可加載本地語(yǔ)音或采用文字轉(zhuǎn)語(yǔ)音功能生成語(yǔ)音文件,將語(yǔ)音文件轉(zhuǎn)換為bin文件或T3Z文件(可用于單段語(yǔ)音修改),可用于單段語(yǔ)音或全部語(yǔ)音的遠(yuǎn)程更換。
接口網(wǎng)址:http://api.wt588f.waytronic.com:8083/doc.html?plus=1&cache=1,以下是API接口的使用流程:
應(yīng)用場(chǎng)景
唯創(chuàng)知音的WT588F34B,能夠支持大容量的語(yǔ)音存放,并且能過(guò)更換語(yǔ)音,適用于需要頻繁更改語(yǔ)音播報(bào)的產(chǎn)品,能夠?qū)崿F(xiàn)在線更新語(yǔ)音包,增加產(chǎn)品活力。
1、公交車到站提醒系統(tǒng)
使用WT588F34芯片去進(jìn)行到站語(yǔ)音的播報(bào),不僅可以存放更多的一個(gè)公交站地點(diǎn)語(yǔ)音,而且在不同的場(chǎng)景下,比如節(jié)日祝福、防疫宣傳等等,可以通過(guò)MCU去進(jìn)行語(yǔ)音更換,進(jìn)行一個(gè)適應(yīng)的語(yǔ)音播報(bào)。不需要繁瑣的將整個(gè)設(shè)備拆除更新語(yǔ)音。
2、打卡設(shè)備
現(xiàn)在市面上存在的高端打卡設(shè)備往往具有播報(bào)打卡人的名字,而中低端設(shè)備更多的是使用文字顯示,而我們的WT588F34B正好可以在中低端設(shè)備上增加語(yǔ)音播報(bào),增加產(chǎn)品亮點(diǎn),競(jìng)爭(zhēng)力。錄入、修改打卡人,MCU同步對(duì)我們WT588F34B芯片的語(yǔ)音更換,達(dá)到正常的打卡人播放。
-
語(yǔ)音芯片
+關(guān)注
關(guān)注
12文章
1711瀏覽量
36351 -
語(yǔ)音IC
+關(guān)注
關(guān)注
0文章
305瀏覽量
13171
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論