1.SYN6288簡介
SYN6288-A語音合成模塊是一款性價(jià)比更高,效果更自然的一款中高端語音合技術(shù) 。 SYN6288-A通過異步串口接收待合成的文本,實(shí)現(xiàn)文本到聲音(TTS)的轉(zhuǎn)換。
國內(nèi)首款語音合成評(píng)估板SYN6288-A的推出繼承了OSYNO6188-A模塊的優(yōu)秀特點(diǎn):最小體積,硬件接口簡單,極高的性價(jià)比;除此之外,SYN6288-A文本識(shí)別更智能,語音合成更自然,語音合成效果和智能識(shí)別效果大幅度提高,是一款面向中高端應(yīng)用領(lǐng)域的語音合技術(shù)。
1.1產(chǎn)品應(yīng)用范圍
◆ 車載信息終端語音播報(bào),車載調(diào)度,車載導(dǎo)航
◆ 公交報(bào)站器,考勤機(jī)
◆ 排隊(duì)叫號(hào)機(jī),收銀收費(fèi)機(jī)
◆ 自動(dòng)售貨機(jī),信息機(jī),POS機(jī)
◆ 智能玩具,智能手表
◆ 電動(dòng)自行車
◆ 語音電子書,彩屏故事書,語音電子詞典,語音電子導(dǎo)游
◆ 短消息播放,新聞播放
◆ 電子地圖
- 硬件接口:
引腳 |
說明 |
TXD | 發(fā)送數(shù)據(jù)腳PA3 |
RXD | 接收數(shù)據(jù)腳PA2 |
BUSY | 忙信號(hào)檢測腳PC5,高電平表示忙 |
1.2 通訊協(xié)議
SYN6288模塊采用串口通訊方式,數(shù)據(jù)格式如下:
默認(rèn)波特率9600,1位起始位、8位數(shù)據(jù)位、1位停止位、無校驗(yàn)位、無硬件流控制。
1.2.1 命令幀格式
芯片支持以下命令幀格式: “幀頭FD +數(shù)據(jù)區(qū)長度+數(shù)據(jù)區(qū)” 格式。(最大206個(gè)字節(jié)) 上位機(jī)發(fā)送給SYN6288-A模塊的所有命令和數(shù)據(jù)都需要用“幀”的方式進(jìn)行封裝后傳輸。
- 數(shù)據(jù)長度:命令字+命令參數(shù)+數(shù)據(jù)內(nèi)容+校驗(yàn)值;
- 校驗(yàn)值:從幀頭開始的全部字節(jié)數(shù);
- 同一幀數(shù)據(jù)中,每個(gè)字節(jié)直接發(fā)送間隔不能超過8ms,數(shù)據(jù)幀直接發(fā)送間隔必須超過8ms;
- 默認(rèn)初始波特率為9600bps;若需改變波特率,在發(fā)送完設(shè)置波特率命令幀后需間隔16毫秒再發(fā)送其它命令幀。
- 9600bps、19200bps兩種波特率通訊傳輸都非常穩(wěn)定(不管芯片在合成播音還是空閑)。
- 當(dāng)模塊正在合成文本的時(shí)候,如果又接收到一幀有效的合成命令幀,芯片會(huì)立即停止當(dāng)前正在合成的文本,轉(zhuǎn)而合成新收到的文本。
- 待發(fā)送文本長度必須小于等于200個(gè)字節(jié)。實(shí)際發(fā)送的長度大于200字節(jié),芯片會(huì)報(bào)接收失敗。
1.2.2 控制命令說明
1.2.3 數(shù)據(jù)幀示例
(1)無背景音示例
(2)帶背景音示例
(3)音量設(shè)置
(4)波特率設(shè)置
(5)停止合成命令
(5)暫停合成命令
(6)恢復(fù)合成命令
1.2.4 文本控制標(biāo)記
-
說明:
①所有的控制標(biāo)識(shí)均為半角字符。
②控制標(biāo)識(shí)需要按照語音合成命令的格式發(fā)送,特殊控制標(biāo)記作為文本進(jìn)行合成, 即合成命令是“幀頭 + 數(shù)據(jù)區(qū)長度 + 合成命令字 + 文本編碼格式 + 特殊控制標(biāo)記文本” 的格式。
③控制標(biāo)識(shí)為全局控制標(biāo)識(shí),也就是只要用了一次,在不對(duì)芯片復(fù)位或者斷電的條件下,其后發(fā)送給芯片的所有文本都會(huì)處于它的控制之下,除非用相應(yīng)的 [d] 恢復(fù)默認(rèn)設(shè)置。
④當(dāng)芯片掉電或是復(fù)位后,芯片將恢復(fù)到所有的默認(rèn)值,原來的設(shè)置過的標(biāo)識(shí)失去了作用,需要重新設(shè)置。
⑤不符合以上可識(shí)別的“控制標(biāo)識(shí)”的或者格式不對(duì)的一律按普通的字符和數(shù)字處理。
1.2.5 提示音效
芯片中提供了25段的聲音提示音,可以依據(jù)使用場合選用作為信息提示音。下面列表中是目前芯片的內(nèi)置提示音的名稱及聲音類型:
1.2.6 和弦提示音列表
芯片中提供了23段和弦音樂作為提示音,可以廣泛的使用在公共信息播報(bào)的場合,下面列表中是目前芯片的內(nèi)置提示音的名稱和播放長度。
和弦鈴聲既可作和弦鈴聲,也是背景音樂的素材
注意:提示音在使用上沒有特殊性,與合成普通文本的合成命令相同。但是,需要注意的是:提示音名稱前面或后面緊接著是英文字母時(shí),需要使用標(biāo)點(diǎn)符號(hào)、空格、回車等與其他字母隔開,芯片才能夠自動(dòng)識(shí)別。 例如:發(fā)送文本“sounda,hello!”,sounda 就可以合成對(duì)應(yīng)的短信提示音,但是如果發(fā)送的文 本”soundahello!”,sounda就不能合成提示音,而是直接朗讀成字母“S-O-U-N-D-A”。
1.3 數(shù)據(jù)幀組合示例
/*
函數(shù)功能:SYN6288語音播報(bào)(單條語音不超過206字節(jié))
形參:str --播放語音
cmd --命令(0~15)0為無背景,1~15為背景音
vol --音量(0~16)0為靜音,16為最大音量
公司:北京萬邦易嵌
作者:IT_阿水
*/
void SYN6288_SendData(uint8_t *str,int cmd,int vol)
{
uint8_t dat_xor=0;
uint8_t buffer[206];
uint16_t i=0;
char temp[10];
int j=0;
int str_len=0;
SYN6288_GetStat();
Delay_Ms(10);
/*音量設(shè)置*/
str_len=snprintf(temp,sizeof(temp),"[v%d]",vol&0x1f);
uint16_t len=strlen((char *)str);//發(fā)送是內(nèi)容長度
str_len+=len;
str_len+=3;//加上命令字,命令參數(shù)和校驗(yàn)值
buffer[i]=0xFD;//幀頭
dat_xor^=buffer[i++];
/*數(shù)據(jù)長度,兩個(gè)字節(jié),,高位在前*/
buffer[i]=(str_len>>8)&0xff;
dat_xor^=buffer[i++];
buffer[i]=str_len&0xff;
dat_xor^=buffer[i++];
buffer[i]=0x01;//語音合成播放命令
dat_xor^=buffer[i++];
buffer[i]=((cmd&0xf)<<3)|0;//命令參數(shù)
dat_xor^=buffer[i++];
j=0;
while(temp[j]!='?')
{
buffer[i++]=temp[j];
dat_xor^=temp[j++];
}
for(j=0;j;j++)>
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2913文章
44915瀏覽量
376212 -
STM32
+關(guān)注
關(guān)注
2271文章
10923瀏覽量
357208 -
串口
+關(guān)注
關(guān)注
14文章
1557瀏覽量
76915 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5121瀏覽量
98032 -
語音播報(bào)
+關(guān)注
關(guān)注
1文章
28瀏覽量
14579
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論