應(yīng)用于嵌入式系統(tǒng)平臺(tái)的簡易語音播放方法
【專利摘要】本發(fā)明涉及應(yīng)用于嵌入式系統(tǒng)平臺(tái)的簡易語音播放方法,包括:將目標(biāo)文本轉(zhuǎn)換為WAV格式文件;處理器將WAV格式文件的采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器;DA轉(zhuǎn)換器將采樣數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換后發(fā)至音頻放大器進(jìn)行處理,并通過揚(yáng)聲器進(jìn)行播放。采用本發(fā)明方法后,可有效降低處理器占用率,降低對處理器的要求,節(jié)省嵌入式系統(tǒng)平臺(tái)語音播放系統(tǒng)的硬件成本。
【專利說明】應(yīng)用于嵌入式系統(tǒng)平臺(tái)的簡易語音播放方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種語音播放方法,尤其是一種應(yīng)用于嵌入式系統(tǒng)平臺(tái)的簡易語音播放方法。
【背景技術(shù)】
[0002]近年來,隨著電子技術(shù)迅猛發(fā)展,嵌入式系統(tǒng)平臺(tái)在越來越廣泛的領(lǐng)域得到應(yīng)用,功能也越來越強(qiáng)大,復(fù)雜度也越來越高,嵌入式系統(tǒng)平臺(tái)語音播放技術(shù)也經(jīng)歷了多個(gè)階段的發(fā)展。
[0003]據(jù) 申請人:所知,目前常見的嵌入式系統(tǒng)平臺(tái)語音播放方法通常有三種:
[0004](I)通過語音錄放芯片(如ISD4003系列),事先將所需要的語音數(shù)據(jù)轉(zhuǎn)換成數(shù)字信息,并存放至芯片內(nèi)部;播放時(shí)將數(shù)字信號(hào)再還原成語音即可。這種方法的優(yōu)點(diǎn)在于:錄音時(shí)使用高采樣率可得到高質(zhì)量的、自然的語音;但其缺點(diǎn)在于:a.錄音時(shí)需要專業(yè)的錄音設(shè)備及錄音環(huán)境,否則會(huì)引入無法忍受的環(huán)境噪聲;b.高采樣率需要更多存儲(chǔ)空間,與之對應(yīng)的芯片價(jià)格昂貴。
[0005](2)采用專業(yè)的語音合成芯片(如科大訊飛的XFS5051CE),基于先進(jìn)的語音合成技術(shù),通過UART接口接收待合成的文本(包括中文),然后把文本直接合成為語音輸出文件。這種方法的優(yōu)點(diǎn)在于:簡單易用,可選多種發(fā)音風(fēng)格(包括方言),可基于特殊語境優(yōu)化,使語音更親切、自然;但其缺點(diǎn)在于:芯片種類少,價(jià)格昂貴。
[0006](3)軟件解碼及播放技術(shù)(如常見的GPS語音導(dǎo)航,mp3播放器等),事先將錄制好的音頻文件存放至設(shè)備內(nèi)部存儲(chǔ)區(qū),需要時(shí)通過軟件解碼,并配合硬件輸出語音。這種方法的優(yōu)點(diǎn)在于:價(jià)格便宜,且理論上可播放任何格式的音頻文件;但其缺點(diǎn)在于:軟件解碼需要占用大量的處理器(CPU或MCU)資源,對處理器的要求很高。
[0007]就目前的實(shí)際使用情況而言,大多數(shù)場合對語音質(zhì)量的要求并不高,這就亟需一種對硬件要求更低、過程更加簡便、通用性高且成本低廉的嵌入式系統(tǒng)平臺(tái)語音播放方法。
【發(fā)明內(nèi)容】
[0008]本發(fā)明所要解決的技術(shù)問題是:針對現(xiàn)有技術(shù)存在的問題,提出一種應(yīng)用于嵌入式系統(tǒng)平臺(tái)的簡易語音播放方法,可降低處理器占用率,降低對處理器的要求。
[0009]本發(fā)明解決其技術(shù)問題的技術(shù)方案如下:
[0010]一種應(yīng)用于嵌入式系統(tǒng)平臺(tái)的簡易語音播放方法,其特征是,應(yīng)用于含有處理器、FLASH存儲(chǔ)器、RAM存儲(chǔ)器、DA轉(zhuǎn)換器、音頻放大器及揚(yáng)聲器的嵌入式系統(tǒng)平臺(tái)語音播放系統(tǒng),所述處理器分別與FLASH存儲(chǔ)器、RAM存儲(chǔ)器數(shù)據(jù)連接,所述處理器與DA轉(zhuǎn)換器數(shù)據(jù)連接,所述DA轉(zhuǎn)換器經(jīng)音頻放大器與揚(yáng)聲器數(shù)據(jù)連接;
[0011]所述語音播放方法包括以下步驟:
[0012]第一步、將目標(biāo)文本轉(zhuǎn)換為8KHz采樣率、16Bit、單聲道的標(biāo)準(zhǔn)非壓縮PCM編碼格式文件,即含有文件頭和采樣數(shù)據(jù)的WAV格式文件,所述文件頭中含有采樣數(shù)據(jù)的起始位置和長度;然后將該WAV格式文件放入FLASH存儲(chǔ)器中,待處理器調(diào)用;
[0013]第二步、所述處理器根據(jù)指令在FLASH存儲(chǔ)器中找到相應(yīng)的WAV格式文件,并將該WAV格式文件的文件頭調(diào)入到RAM存儲(chǔ)器中;所述處理器通過讀取該WAV格式文件的文件頭獲知采樣數(shù)據(jù)起始位置及長度,處理器通過DMA傳輸方式直接從FLASH存儲(chǔ)器中將該WAV格式文件的采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器;
[0014]第三步、所述DA轉(zhuǎn)換器將第二步所述采樣數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換后發(fā)至音頻放大器進(jìn)行處理,并通過揚(yáng)聲器進(jìn)行播放。
[0015]上述技術(shù)方案的主要技術(shù)構(gòu)思如下:
[0016] 申請人:認(rèn)為,若要降低處理器占用率,采用專門的語音錄放芯片或語音合成芯片則無疑會(huì)導(dǎo)致成本高昂,只能在軟件方面另辟蹊徑。 申請人:經(jīng)深入地實(shí)踐研究后發(fā)現(xiàn),利用WAV格式文件播放時(shí)無需解碼的特點(diǎn),應(yīng)能有效降低處理器占用率,同時(shí)8KHz采樣率、16Bit、單聲道的WAV格式文件不僅在語音質(zhì)量上完全可以滿足大多數(shù)場合的需要,而且其文件體積也處于可接受范圍內(nèi);此外采用DMA傳輸技術(shù)可進(jìn)一步減少處理器的占用率。基于這一重要發(fā)現(xiàn), 申請人:經(jīng)進(jìn)一步實(shí)踐研究后終于得出了上述優(yōu)化有機(jī)組合的技術(shù)方案,能有效降低處理器占用率,降低嵌入式系統(tǒng)平臺(tái)的硬件成本。
[0017]優(yōu)選地,還包括語音合并分段播放過程:
[0018]在第一步中,若存在多個(gè)播放長度小于預(yù)定值的WAV格式文件,則以其中一個(gè)WAV格式文件為基準(zhǔn)文件,將其余WAV格式文件中的采樣數(shù)據(jù)依次添加在該基準(zhǔn)文件的末端形成新文件,同時(shí)將添加的各采樣數(shù)據(jù)的名稱、起始位置偏移和長度集合在一起形成數(shù)據(jù)塊,然后將該數(shù)據(jù)塊添加至新文件的末端,形成合并WAV格式文件;所述合并WAV格式文件的文件頭中含有合并文件標(biāo)識(shí)符;將該合并WAV格式文件放入FLASH存儲(chǔ)器中,待處理器調(diào)用;
[0019]在第二步中,處理器通過讀取合并WAV格式文件文件頭的合并文件標(biāo)識(shí)符獲知該文件為合并WAV格式文件,然后處理器將該合并WAV格式文件末端的數(shù)據(jù)塊讀入RAM存儲(chǔ)器中并通過名稱找到目標(biāo)采樣數(shù)據(jù)的起始位置偏移和長度,接著處理器以DMA傳輸方式將目標(biāo)采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器。
[0020]這樣即可進(jìn)一步縮小音頻文件體積,節(jié)約存儲(chǔ)空間。
[0021 ] 優(yōu)選地,第一步中,先將目標(biāo)文本轉(zhuǎn)換為MP3格式音頻文件,再將此MP3格式音頻文件轉(zhuǎn)換為WAV格式文件。這樣完全可以利用現(xiàn)有轉(zhuǎn)換軟件即可獲取與目標(biāo)文本對應(yīng)的WAV格式文件,不需要再研制新的轉(zhuǎn)換軟件。
[0022]優(yōu)選地,第二步中,處理器在將采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器前,先判斷采樣數(shù)據(jù)長度是否大于DMA傳輸最大單次發(fā)送長度,若是則處理器以中斷方式分批次將采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器,若否則處理器直接將采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器。
[0023]更優(yōu)選地,第二步中,處理器具有含寄存器的I2S模塊,處理器先將采樣數(shù)據(jù)起始位置和長度寫入I2S模塊寄存器中,然后再開始DMA傳輸;若米樣數(shù)據(jù)長度大于DMA傳輸最大單次發(fā)送長度,則處理器以中斷方式分批次傳輸,每次傳輸時(shí)處理器先將采樣數(shù)據(jù)本次起始位置和長度寫入I2S模塊寄存器中,再開始本次DMA傳輸。
[0024]這樣即可最大程度地利用好DMA傳輸技術(shù),盡量減少處理器的工作量。
[0025]優(yōu)選地,所述處理器為MCU。
[0026]采用本發(fā)明方法后,可有效降低處理器占用率,降低對處理器的要求,節(jié)省嵌入式系統(tǒng)平臺(tái)語音播放系統(tǒng)的硬件成本。
【專利附圖】
【附圖說明】
[0027]圖1為本發(fā)明實(shí)施例的硬件組成示意圖。
[0028]圖2為圖1實(shí)施例的主體流程示意圖。
【具體實(shí)施方式】
[0029]下面參照附圖并結(jié)合實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)描述。但是本發(fā)明不限于所給出的例子。
[0030]實(shí)施例
[0031]本實(shí)施例應(yīng)用于嵌入式系統(tǒng)平臺(tái)的簡易語音播放方法,應(yīng)用于含有處理器(如MCU),FLASH存儲(chǔ)器、RAM存儲(chǔ)器、DA轉(zhuǎn)換器、音頻放大器及揚(yáng)聲器的嵌入式系統(tǒng)平臺(tái)語音播放系統(tǒng)(如圖1所示),處理器分別與FLASH存儲(chǔ)器、RAM存儲(chǔ)器數(shù)據(jù)連接,處理器與DA轉(zhuǎn)換器數(shù)據(jù)連接,DA轉(zhuǎn)換器經(jīng)音頻放大器與揚(yáng)聲器數(shù)據(jù)連接。
[0032]如圖2所示,語音播放方法包括以下步驟:
[0033]第一步、先將目標(biāo)文本轉(zhuǎn)換為MP3格式音頻文件,再將此MP3格式音頻文件轉(zhuǎn)換為8KHz采樣率、16Bit、單聲道的標(biāo)準(zhǔn)非壓縮PCM編碼格式文件,即含有文件頭和采樣數(shù)據(jù)的WAV格式文件,文件頭中含有采樣數(shù)據(jù)的起始位置和長度;然后將該WAV格式文件放入FLASH存儲(chǔ)器中,待處理器調(diào)用;
[0034]第二步、處理器根據(jù)指令在FLASH存儲(chǔ)器中找到相應(yīng)的WAV格式文件,并將該WAV格式文件的文件頭調(diào)入到RAM存儲(chǔ)器中;處理器通過讀取該WAV格式文件的文件頭獲知采樣數(shù)據(jù)起始位置及長度,處理器通過DMA傳輸方式直接從FLASH存儲(chǔ)器中將該WAV格式文件的采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器;
[0035]具體而言,處理器在將采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器前,先判斷采樣數(shù)據(jù)長度是否大于DMA傳輸最大單次發(fā)送長度,若是則處理器以中斷方式分批次將采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器,若否則處理器直接將采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器。
[0036]更具體的情況為:處理器具有含寄存器的I2S模塊,處理器先將采樣數(shù)據(jù)起始位置和長度寫入I2S模塊寄存器中,然后再開始DMA傳輸;若米樣數(shù)據(jù)長度大于DMA傳輸最大單次發(fā)送長度,則處理器以中斷方式分批次傳輸,每次傳輸時(shí)處理器先將采樣數(shù)據(jù)本次起始位置和長度寫入I2S模塊寄存器中,再開始本次DMA傳輸。
[0037]第三步、所述DA轉(zhuǎn)換器將第二步所述采樣數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換后發(fā)至音頻放大器進(jìn)行處理,并通過揚(yáng)聲器進(jìn)行播放。
[0038]上述方法還包括語音合并分段播放過程:
[0039]在第一步中,若存在多個(gè)播放長度小于預(yù)定值的WAV格式文件,則以其中一個(gè)WAV格式文件為基準(zhǔn)文件,將其余WAV格式文件中的采樣數(shù)據(jù)依次添加在該基準(zhǔn)文件的末端形成新文件,同時(shí)將添加的各采樣數(shù)據(jù)的名稱、起始位置偏移和長度集合在一起形成數(shù)據(jù)塊,然后將該數(shù)據(jù)塊添加至新文件的末端,形成合并WAV格式文件;所述合并WAV格式文件的文件頭中含有合并文件標(biāo)識(shí)符;將該合并WAV格式文件放入FLASH存儲(chǔ)器中,待處理器調(diào)用;
[0040]在第二步中,處理器通過讀取合并WAV格式文件文件頭的合并文件標(biāo)識(shí)符獲知該文件為合并WAV格式文件,然后處理器將該合并WAV格式文件末端的數(shù)據(jù)塊讀入RAM存儲(chǔ)器中并通過名稱找到目標(biāo)采樣數(shù)據(jù)的起始位置偏移和長度,接著處理器以DMA傳輸方式將目標(biāo)采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器。
[0041 ] 除上述實(shí)施例外,本發(fā)明還可以有其他實(shí)施方式。凡采用等同替換或等效變換形成的技術(shù)方案,均落在本發(fā)明要求的保護(hù)范圍。
【權(quán)利要求】
1.一種應(yīng)用于嵌入式系統(tǒng)平臺(tái)的簡易語音播放方法,其特征是,應(yīng)用于含有處理器、FLASH存儲(chǔ)器、RAM存儲(chǔ)器、DA轉(zhuǎn)換器、音頻放大器及揚(yáng)聲器的嵌入式系統(tǒng)平臺(tái)語音播放系統(tǒng),所述處理器分別與FLASH存儲(chǔ)器、RAM存儲(chǔ)器數(shù)據(jù)連接,所述處理器與DA轉(zhuǎn)換器數(shù)據(jù)連接,所述DA轉(zhuǎn)換器經(jīng)音頻放大器與揚(yáng)聲器數(shù)據(jù)連接; 所述語音播放方法包括以下步驟: 第一步、將目標(biāo)文本轉(zhuǎn)換為8KHz采樣率、16Bit、單聲道的標(biāo)準(zhǔn)非壓縮PCM編碼格式文件,即含有文件頭和采樣數(shù)據(jù)的WAV格式文件,所述文件頭中含有采樣數(shù)據(jù)的起始位置和長度;然后將該WAV格式文件放入FLASH存儲(chǔ)器中,待處理器調(diào)用; 第二步、所述處理器根據(jù)指令在FLASH存儲(chǔ)器中找到相應(yīng)的WAV格式文件,并將該WAV格式文件的文件頭調(diào)入到RAM存儲(chǔ)器中;所述處理器通過讀取該WAV格式文件的文件頭獲知采樣數(shù)據(jù)起始位置及長度,處理器通過DMA傳輸方式直接從FLASH存儲(chǔ)器中將該WAV格式文件的采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器; 第三步、所述DA轉(zhuǎn)換器將第二步所述采樣數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換后發(fā)至音頻放大器進(jìn)行處理,最終通過揚(yáng)聲器進(jìn)行播放。
2.根據(jù)權(quán)利要求1所述應(yīng)用于嵌入式系統(tǒng)平臺(tái)的簡易語音播放方法,其特征是,還包括語音合并分段播放過程: 在第一步中,若存在多個(gè)播放長度小于預(yù)定值的WAV格式文件,則以其中一個(gè)WAV格式文件為基準(zhǔn)文件,將其余WAV格式文件中的采樣數(shù)據(jù)依次添加在該基準(zhǔn)文件的末端形成新文件,同時(shí)將添加的各采樣數(shù)據(jù)的名稱、起始位置偏移和長度集合在一起形成數(shù)據(jù)塊,然后將該數(shù)據(jù)塊添加至新文件的末端,形成合并WAV格式文件;所述合并WAV格式文件的文件頭中含有合并文件標(biāo)識(shí)符;將該合并WAV格式文件放入FLASH存儲(chǔ)器中,待處理器調(diào)用; 在第二步中,處理器通過讀取合并WAV格式文件文件頭的合并文件標(biāo)識(shí)符獲知該文件為合并WAV格式文件,然后處理器將該合并WAV格式文件末端的數(shù)據(jù)塊讀入RAM存儲(chǔ)器中并通過名稱找到目標(biāo)采樣數(shù)據(jù)的起始位置偏移和長度,接著處理器以DMA傳輸方式將目標(biāo)采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器。
3.根據(jù)權(quán)利要求1或2所述應(yīng)用于嵌入式系統(tǒng)平臺(tái)的簡易語音播放方法,其特征是,第一步中,先將目標(biāo)文本轉(zhuǎn)換為MP3格式音頻文件,再將此MP3格式音頻文件轉(zhuǎn)換為WAV格式文件。
4.根據(jù)權(quán)利要求3所述應(yīng)用于嵌入式系統(tǒng)平臺(tái)的簡易語音播放方法,其特征是,第二步中,處理器在將采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器前,先判斷采樣數(shù)據(jù)長度是否大于DMA傳輸最大單次發(fā)送長度,若是則處理器以中斷方式分批次將采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器,若否則處理器直接將采樣數(shù)據(jù)發(fā)至DA轉(zhuǎn)換器。
5.根據(jù)權(quán)利要求4所述應(yīng)用于嵌入式系統(tǒng)平臺(tái)的簡易語音播放方法,其特征是,第二步中,處理器具有含寄存器的I2S模塊,處理器先將采樣數(shù)據(jù)起始位置和長度寫入I2S模塊寄存器中,然后再開始DMA傳輸;若米樣數(shù)據(jù)長度大于DMA傳輸最大單次發(fā)送長度,則處理器以中斷方式分批次傳輸,每次傳輸時(shí)處理器先將采樣數(shù)據(jù)本次起始位置和長度寫入I2S模塊寄存器中,再開始本次DMA傳輸。
6.根據(jù)權(quán)利要求5所述應(yīng)用于嵌入式系統(tǒng)平臺(tái)的簡易語音播放方法,其特征是,所述處理器為MCU。
【文檔編號(hào)】G11C7/16GK103531224SQ201310460892
【公開日】2014年1月22日 申請日期:2013年9月30日 優(yōu)先權(quán)日:2013年9月30日
【發(fā)明者】周宇 申請人:光一科技股份有限公司