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