99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

TTS語音模塊:XFS5152CE語音合成模塊詳解

TTS是Text To Speech的縮寫,即“從文本到語音”,是人機對話的一部分,讓機器能夠說話。

語音播報功能的實現方式

  • TTS語音模塊,比如XFS5152、SYN6288等
  • ISD4000系列語音錄放芯片分段輸出
  • 可以按鍵、UART控制的mp3解碼芯片模塊
  • OTP(One Time Programable)語音芯片[定制]

其中TTS語音模塊使用起來最方便靈活,OTP語音芯片最簡單。

本文將介紹一下科大訊飛的XFS5152CE語音合成模塊。

XFS5152CE語音合成模塊

XFS5152CE是一款高集成度的語音合成芯片,可實現中文、英文語音合成;并集成了語音編碼、解碼功能,可支持用戶進行錄音和播放;除此之外,還創新性地集成了輕量級的語音識別功能,支持30個命令詞的識別。

內置的30個語音識別命令詞

手冊說如果需要定制命令詞需要跟廠家聯系,我體驗了一下,識別的準確率不是很高。如果需要語音識別功能,可以使用LD3320模塊,參考網文:

LD3320語音識別模塊:LDV7模塊使用詳解

如果需要錄音模塊,建議使用ISD系列錄音芯片,參考網文:

簡單好用的ISD1820語音錄放芯片

為了使用方便,我們可以直接購買現成的XFS5152CE語音合成模塊。

通訊接口

XFS5152CE 芯片支持 UART 接口、I2C 接口、SPI 接口三種通訊方式,可通過 UART 接口、 I2C 或 SPI 接口接收上位機發送的命令和數據,允許發送數據的最大長度為 4K字節。

用戶在使用語音編解碼功能時(通訊接口必須選擇 UART 接口,并且波特率設置為 115200bps),上位機發送啟動編解碼的命令給語音芯片,芯片內部的語音編解碼模塊把采集到的音頻數據進行編碼并通過UART接口實時傳送給上位機,或者對上位機傳送來的音頻數據進行解碼并實時播放出來。

接線方式

  • PC上使用官方演示程序《科大訊飛語音合成芯片PC端演示程序》,使用串口通信進行測試的接線方式如下:

  • 如果使用單片機與XFS5152CE語音合成模塊聯用,模塊的8腳和10腳與STM32的串口交叉連接(我使用的是串口2),7腳用于判斷語音模塊當前的狀態,原理圖如下所示:

注意:

  • 關于功放引腳4腳和6腳:可以根據喇叭的功率來選擇相應功率的功放,比如5W以內喇叭可以選擇單聲道功放XPT8871、LTK5128,15W的喇叭可以選擇TDA7297等雙聲道功放;
  • 關于語音識別:只有使用語音識別功能的時候才需要接咪頭(如:9767型咪頭),且只能識別芯片指定的30條命令詞;
  • 通過模塊板子上的撥碼開關選擇波特率,如撥到"√XX√"表示9600,模塊的通訊比特率要跟上位機或者與之相連的單片機的比特率一致;
  • 3.3V供電。

語音播報功能的代碼實現

1. 串口初始化

參考網文:

STM32F103 串口的使用方法

uart2_init(115200); 
通過撥碼開關設置波特率為:115200

2. 工作狀態指示輸出引腳初始化

/BSY引腳用于指示當前的工作狀態,低電平代表Ready狀態,高電平代表Busy狀態。用單片機的一個GPIO與之相連,可以讀取該IO的輸入狀態,即可獲取當前模塊處于的工作狀態。

#define U5152_BSY  GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_0)      

void U5152_Init(void)
{       
        GPIO_InitTypeDef GPIO_InitStructure;

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
 
        //U5152_BSY
        GPIO_InitStructure.GPIO_Pin  = GPIO_Pin_0;              //PA0
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;   //設置成上拉輸入
        GPIO_Init(GPIOA, &GPIO_InitStructure);                      //初始化GPIOA0
}

3. 封裝播報語音函數

控制標識需要按照語音合成命令的格式發送,控制標記作為文本進行合成,即合成命令是“幀頭 + 數據區長度 + 合成命令字 + 文本編碼格式 + 控制標記文本”的格式。

語音合成命令幀示例:

/***********************************************************
* 名    稱:  YS-XFS5051 文本合成函數
* 功    能:  發送合成文本到XFS5051芯片進行合成播放
* 入口參數:  *HZdata:文本指針變量
* 出口參數:
* 說    明: 本函數只用于文本合成,具備背景音樂選擇。默認波特率9600bps。                     
* 調用方法:例: SYN_FrameInfo(“歡迎關注微信公眾號:程序員小哈”);
**********************************************************/
void XFS_FrameInfo(char *HZdata)
{
    /****************需要發送的文本**********************************/
    unsigned  char  Frame_Info[50]; //定義的文本長度  xdata          
    unsigned  int  HZ_Length;  

    HZ_Length =strlen(HZdata);             //需要發送文本的長度
 
    /*****************幀固定配置信息**************************************/           
    Frame_Info[0] = 0xFD ;                 //構造幀頭FD
    Frame_Info[1] = 0x00 ;                 //構造數據區長度的高字節
    Frame_Info[2] = HZ_Length+2;      //構造數據區長度的低字節
    Frame_Info[3] = 0x01 ;                //構造命令字:合成播放命令                  
    Frame_Info[4] = 0x01;                  //文本編碼格式:GBK
    /*******************發送幀信息***************************************/          
    memcpy(&Frame_Info[5], HZdata, HZ_Length);
    USART2_OUT(Frame_Info,5+HZ_Length); //發送幀配置
}

4. 播報當前時間語音

while(U5152_BSY){}
sprintf((char*)dtbuf,"[v5][s5][m55]當前時間為%02d時%02d分%02d秒",NowHour,NowMinute,NowSecond);
XFS_FrameInfo((char*)dtbuf) ;
delay_ms(10);
while(U5152_BSY){}

5. 文本控制標記

XFS5152CE 芯片的語音合成功能支持多種文本控制標記,可以滿足用戶對語音合成發音人、音量、語速、語調等的設置。 文本控制標記的格式一般是半角中括號(即“[]”)內一個小寫字母、一個阿拉伯數字,如: [m3]為使用女聲的發音人小燕。

文本控制標記舉例

sprintf((char*)dtbuf,"[v5][s5][m3]當前時間為%02d時%02d分%02d秒 \r\n",NowHour,NowMinute,NowSecond);

[v5]:代表音量值,有效范圍為:0~10;

[s5]:為語速值,取值范圍為:0~10;

[m3]:選擇發音人為小燕(女聲)

總結

  • 模塊優點,文字轉語音很方便,很靈活
  • 價格較貴,所以我們很多情況不需要功能這么強大的TTS語音模塊,有些場景,我們甚至沒有必要購買TTS語音模塊,比如語音開發中常見的費用催繳,撥通后播放:“尊敬的客戶,您本月的費用是:212元”,前面部分對所有客戶都一樣,錄一個語音文件就是了,而數字的合成是很簡單的,你只要錄制好10個數字語音,再加上十,百,千,萬,再加上金錢的單位“元”即可。

歡迎關注

公眾號【嵌入式從0到1】專注于嵌入式知識分享,學習路上不迷路。

喜歡本文的話,收藏、點贊、分享、留言互動一下吧。

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 4
收藏 4
關注 69
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧
主站蜘蛛池模板: 国产免费一级大片 | 一区二区三区视频免费视频观看网站 | 国产主播一区二区三区 | baoyu123成人免费看视频 | 国产一区二区视频在线看 | 一区二区三区四区免费在线观看 | 99国内精品久久久久久久 | 国产二区久久 | 成人av在线大片 | 欧美片网站 | 国产黄在线看 | 91精品在线免费视频 | 韩国激情高潮无遮挡hd | 久久国产精品影片 | 无码精品A∨在线观看中文 国产午夜精品片一区二区三区 | 成人活性生交大片免费看 | 国产精品第8页 | 大地资源在线观看视频 | 黑人精品欧美一区二区蜜桃 | 18无遮挡啪啪无码网站免费看 | 免费AV网在线观看 | 青青草青娱乐在线 | 蜜桃臀AV高潮无码 | 国产色视频在线播放 | 亚洲免费毛片基地 | 精品欧美а∨无码黑人文章 | 中文字幕色偷偷人妻久久 | 国内精品人妻无码久久久影院蜜桃 | 国产在线观看福利 | 日韩第九页 | 久久久久久久久一区二区三区 | 好男人好资源在线观看免费视频 | 免费在线观看日韩视频 | 亚洲国产精品成人av | 人成在线免费网站 | 东京热亚洲精品中文一区 | 青青草视频在线免费观看 | 亚洲av无码久久寂寞少妇 | 国偷自产一区二区视频 | 国产精品第一页在线观看 | 久久久国语 |