前言
VTX316是北京宇音天下科技有限公司最新推出的一款更具性價比的中文TTS語音合成芯片,采用QFN32(4*4mm)封裝,體積更加精巧,文本合成一次高達500字節數據(250個漢字),支持8種發音風格,支持低功耗模式(2uA)等等……
但大家在開發過程中,往往還會忽略一些比較實用的小技巧,認識這些將給您的開發帶來極大的便利,下面給大家細致講解。
一、芯片回傳數據
回傳數據是TTS語音合成芯片主動或被動告訴上位機自己當前所處的狀態,方便開發者根據這些數據來判斷要執行的任務。
但很多開發者對于數據回傳理解不是很透徹,造成語音合成芯片不能按照設計執行下一步任務。
1、初始化回傳:0x4A
芯片在上電或是復位后,會主動回傳帶有”0x4A“的數據,只有接收到該數據,表示語音芯片已經初始化完成,可以開始執行任務了。
注意:當MCU沒有收到TTS芯片回傳的“0x4A”數據時,芯片是不會執行任何指令的!
2、命令接收成功回傳:0x41
當上位機給TTS語音芯片發送指令后,會主動回傳一個單字節數據“0x41”,代表命令接收成功,開始執行。
3、命令接收失敗回傳:0x45
如TTS芯片接收到錯誤命令幀時,會主動回傳一個單字節數據“0x45”,這時就需要開發者們查看命令幀是否準確了,或是因其它干擾因素影響,需要重新發送指令。
4、芯片狀態回傳:0x4E、0x4F
VTX316 TTS語音合成芯片有2種工作狀態:空閑狀態、忙時狀態,可通過軟件“芯片忙閑查詢命令”,進行查詢。
命令幀:0xFD 0x00 0x01 0x21
忙時狀態:指芯片正在合成播音中,任務還未結束,此時查詢狀態會回傳一個單字節數據“0x4E”。
注意:芯片在忙時狀態下,用戶很容易犯這樣一個錯誤
例如:當前TTS芯片正在合成播音,此時MCU向TTS芯片發送一條指令,語音芯片會立即中斷當前的合成任務,從而執行剛剛發來的新任務。為避免此類事件的發生,可以在發送指令前先查詢一下芯片的狀態,如回傳“0x4F”(代表芯片處于空閑狀態)再發送下一條指令。
空閑狀態:也稱待機狀態,此時查詢狀態會回傳一個單字節的數據“0x4F”。
注意:當合成播音結束時,也會主動回傳一個單字節數據“0x4F”,表示合成完畢,進入待機狀態了。
另外也可通過硬件查詢TTS芯片第6引腳“R/B”的電平來判斷語音合成芯片的忙閑狀態。
忙時狀態:“R/B”為高電平。
空閑狀態:“R/B”為低電平。
二、低功耗模式
對于要求極低功耗的應用場景,開發者可選擇將TTS語音芯片進入低功耗模式。
1、物理斷電
通常情況下開發者會采用上位機通過電源管理芯片控制語音合成芯片的供電腳“VCC”的通斷電(即工作完斷電,工作前上電)方案。
注意:采用此方案時需注意,芯片VCC管腳斷電后,要防止電流倒灌現象;另外,還要注意芯片上電后,待接收到TTS芯片回傳的“0x4A”后,再開始執行任務。
2、DeepSleep模式
針對于上位機IO緊張的情況下,開發者也可以采用讓芯片進入DeepSleep模式(睡眠模式),該模式下芯片功耗為2uA。
命令幀:FD 00 01 22
注意:TTS芯片進入睡眠模式后,需先將芯片喚醒才能正常工作
喚醒方法有2種:
軟喚醒:喚醒命令幀0xFD 0x00 0x01 0xFF,其它指令也可以將語音合成芯片喚醒
硬喚醒:芯片15引腳(WAKEUP)下降沿信號喚醒
注意:芯片在睡眠時,可能因串口抖動,造成誤喚醒;同樣還要注意芯片上電后,待接收到TTS芯片回傳的“0x4A”后,再開始執行任務。
三、配置參數實時存儲
VTX316語音合成芯片的合成參數配置是實時存儲在芯片內部的(掉電不會丟失),開發者們無需每次開機都重新配置其參數,只需配置一次即可。
四、特殊參數配置
特殊參數配置是應對不同功放芯片時序差異,解決上電和斷電時產生的POP雜音和句首丟音的問題。
本語音合成芯片支持修改3個特殊參數:
1、去上電POP音延時參數
遇到上電有POP雜音時,可增加此延時參數去除。
默認值為0,調整范圍:0~200,即0~200ms。
注意:數值越小,芯片啟動越快。
2、去句首丟音延時參數
遇到句首丟音時,可增加此延時參數解決。
默認值為0,調整范圍:0~250,即0~250ms。
注意:數值越小,出音響應越快。
3、去句尾POP音延時參數
遇到句尾有POP雜音時,可通過增加此延時參數去除。
默認值為50,調整范圍:0~300,即0~300ms。
注意:值越小,合成播音完畢返回“0x4F”(空閑狀態)越快。
五、提示音連播
VTX316TTS語音芯片預置多首提示音效(有些開發者稱為鈴聲),提示音效一般用于在語音播報前,起到前導提示的作用。
而大多的提示音效時長較短,我們可以通過多次播放同一提示音來實現一個較長提示音的效果,例如:“sound901”提示音,音效為蜂鳴器“滴”,時長為50ms。
如果我們想實現先播報3次“滴”,每次間隔100ms,再播報其它內容,可以這樣做:
發送文本內容:sound901[p100]sound901[p100]sound901,歡迎使用宇音天下語音合成芯片
注意:[p100]=100ms
希望這些小技巧能幫助廣大開發者們更好地理解和應用VTX316 TTS語音合成芯片。如果有任何疑問或需要進一步幫助,請隨時告訴我們。
審核編輯 黃宇
-
語音合成芯片
+關注
關注
0文章
27瀏覽量
7841
發布評論請先 登錄
4路TTS語音播報控制器:聯動控制,音頻定時播放
語音報警器:TTS語音播報,云平臺邏輯自控
TTS文字合成語音芯片的使用場景
開源TTS應用:打破技術壟斷,讓語音合成成為每個人的創造力工具
Air8000 TTS開源,語音合成從此“零距離”!
從代碼到聲音,Air8000 TTS開源應用開啟創作新紀元!
使用NVIDIA Triton和TensorRT-LLM部署TTS應用的最佳實踐
智能收銀語音交互新標桿—WT3000T8語音合成芯片TTS技術應用解析
WT3000TX語音合成芯片介紹V1
芯資訊|WT3000T8語音合成芯片TTS在智能收款機中的創新應用設計方案介紹
【CW32模塊使用】語音合成播報模塊
WT3000T8-32N語音合成TTS芯片:小體積、強性能,重塑智能語音交互體驗
【解讀】VTX316 TTS語音合成芯片幾個很實用的應用技巧
評論