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