前言
什么是語音合成芯片:語音合成芯片也稱為TTS芯片,即文字轉語音芯片,是一種能夠將輸入的文字信息轉換為語音輸出的芯片。通過TTS芯片,我們可以將文字信息轉化為自然語音,實現人機語音交互。
語音合成芯片的應用非常廣泛。例如,在智能家居領域,它可以用于語音控制家電設備;在車載設備中,它可以實時播報導航信息或交通提醒;在醫療設備中,它可以幫助醫生或患者獲取語音形式的醫療信息;在機器人領域,它使得機器人能夠與人類進行語音交互,提高人機交互的便捷性和自然性。
一、芯片介紹
我們以市場中主流的TTS芯片SYN8086為例,它是一款性/價比更高,效果更自然的一款高端語音合成芯片。本芯片通過UART接口,接收待合成的文本數據,實現文本到語音(或TTS語音)的轉換。
二、功能介紹
①、支持清晰、自然、準確的任意中文文本的合成,文本編碼可采用GB2312、GBK、Unicode和UTF8四種編碼方式。
②、芯片支持文本智能分析處理功能,對常見的數值、電話號碼、時間日期、度量衡符號等格式的文本,芯片能夠根據內置的文本匹配規則進行正確的識別和處理。
③、支持多音字和姓氏處理、多個發音人、音量、語速、語調調整、提示音等
④、支持低功耗模式、UART通訊方式。支持多種控制命令等
三、應用場景
- 車載終端 智慧停車 智能家居 智能鬧鐘
- 考勤終端 公交報站 智能手表 智能家電
- 排隊叫號 預警終端 智能門鈴 智能藥盒
- 儀器儀表 智能玩具 智能門鎖 智能穿戴
- 語音對講 自助終端 血壓計 充電樁
四、最小系統
- 最小系統包括:控制器模塊、語音合成芯片、功放模塊和喇叭。
- 主控制器和語音合成芯片之間通過UART接口連接,主控芯片UART接口向語音合成芯片發送控制命令和文本,語音合成芯片把接收到的文本合成為語音信號輸出,輸出的信號經功率放大器進行放大后連接到喇叭進行播放。
五、軟件設計
1、串口命令
說明:上位機通過串口發送給語音合成芯片的所有命令和數據都需要用“幀”的方式進行封裝后傳輸。
- 公共命令匯總
- 語音合成命令匯總
舉例:播放文本編碼格式為 “GBK” 的文本“宇音天下”
命令幀:0xFD 0x00 0x0A 0x01 0x01 0xD3 0xEE 0xD2 0xF4 0xCC 0xEC 0xCF 0xC2
2、控制標記
說明:漢字博大精深的文化底蘊,和當前技術發展的限制,語音合成還不能做到百分之百的準確。為滿足客戶在各種復雜環境的個性化需求,特推出以下文本控制標記,用于靈活控制漢字發音的變化。
- 部分控制標記
- 控制標記舉例:
舉例:設置TTS音量為10級
命令幀:0xFD 0x00 0x07 0x06 0x01 0x5B 0x76 0x31 0x30 0x5D
舉例:設置TTS語速為10級
命令幀:0xFD 0x00 0x07 0x06 0x01 0x5B 0x73 0x31 0x30 0x5D
3、提示音
SYN8086語音合成芯片內集成了多首聲音提示音,可用于不同行業不同場合的信息提醒、報警等功能。例如:刷卡音,門鈴音,警報音等。
- 部分提示音舉例
舉例:播放名稱為“sound901”的提示音
命令幀:FD 00 0A 01 01 73 6F 75 6E 64 39 30 31
4、C語言范例
#include ?reg51.h??> #include ?string.h??> void main(void) { /需要發送的文本******************/ char code text[ ] = {"歡迎使用宇音天下研發的語音合成芯片"}; unsigned char headOfFrame[5]; unsigned char length ; unsigned int i = 0; length = strlen(text); //需要發送文本的長度 /串口的初始化********************/ TL1 = 0xFA; // 在11.0592MHz 下,設置波特率9600bps,工作方式2 TH1 = 0xFA; TMOD = 0x20; SCON = 0x50; // 串口工作方式1,允許接收 PCON = 0x80; EA = 0; REN = 1; TI = 0; //發送中斷標志位置零 RI = 0; //接收中斷標志位置零 TR1 = 1; //定時器1 用作波特率發生 /發送過程*********************/ headOfFrame[0] = 0xFD ; //構造幀頭FD headOfFrame[1] = 0x00 ; //構造數據區長度的高字節 headOfFrame[2] = length + 2; //構造數據區長度的低字節 headOfFrame[3] = 0x01 ; //構造命令字:合成播放命令 headOfFrame[4] = 0x01 ; //構造命令參數:編碼格式為GBK for(i = 0; i?5; i++) //依次發送構造好的5個幀頭字節 { SBUF = headOfFrame[i]; while (TI== 0) {;} //等待發送中斷標志位置位 TI = 0; //發送中斷標志位清零 } for(i = 0; i?length; i++) //依次發送待合成的文本數據 { SBUF = text[i]; while (TI== 0) {;} TI = 0; } // while(1); }
六、硬件設計
1、通訊方式
語音合成芯片支持UART接口通訊方式,可通過UART 接口接收上位機發送的命令和數據。
2、引腳定義
3、參考電路
4、電源電路設計
3.1V-4.2V單獨供電,接VCC口。POPEN、BAUD0、BAUD1、WAKEUP默認均有上拉電阻,如果IO需要上拉請上拉到VDDIO,而不是VCC。
- 功放參考電路
以CS8126T為參考
5、芯片參數
- 特性極限值
- 電壓工作范圍
6、模塊說明
- 模塊實物圖
- 模塊尺寸
- 模塊引腳圖
- 模塊引腳定義
結語
智能語音技術正在引領人機交互進入全新的時代。其卓越的語音處理能力、高度集成化和小型化設計,以及不斷優化的低功耗特性,使得語音合成芯片在智能家居、智能車載、可穿戴設備等多個領域展現出廣闊的應用前景。
在此,我們期待語音合成芯片技術的不斷創新與發展,為人與人、人與機器之間的溝通搭建起更加便捷、高效的橋梁,共同開啟智能語音交互的新篇章。
審核編輯 黃宇
-
TTS
+關注
關注
0文章
41瀏覽量
10773 -
語音合成芯片
+關注
關注
0文章
17瀏覽量
7488
發布評論請先 登錄
相關推薦
評論