導航:首頁 > 源碼編譯 > 聲碼話音頻演算法

聲碼話音頻演算法

發布時間:2022-10-02 22:15:43

1. 聲碼器的起源

聲碼器最早出現在美國貝爾實驗室。這個實驗室的H.W.達得利在1928年提出合成話音的設想,並於1939年在紐約世界博覽會上首次表演了他取名為聲碼器的話音合成器。此後,話音合成的原理被用來研究壓縮話音頻帶。聲碼器的研究工作不斷取得進展,數碼率已降到2400或1200比特/秒,甚至更低。合成後的話音質量有較大提高。在售價、結構、耗電等諸方面符合商用的聲碼器已經出現。中國於50年代末開始研製聲碼器,並已用於數字通信。
壓縮頻帶 聲碼器能壓縮頻帶的根本依據是話音信 號中存在信息多餘度。話音信號只要保留聲源和聲道的主要參量,就能保證有較高的話音清晰度。
類型 採用頻譜包絡和基頻作為參數的聲碼器稱為信道聲碼器。除信道聲碼器外,還有多種其他類型的聲碼器。它們在合成話音質量、數碼率和復雜程度等方面不大一樣,主要的差別在於話音參數和提取這些參數的方式不同。例如,用共振峰的位置、幅度和寬度表示頻譜包絡的,稱為共振峰聲碼器;利用同態濾波技術,如對話音信號進行積分變換、取對數和反變換以獲得各參數的,稱為同態聲碼器;直接編碼和傳輸話音的基帶(如取200~600赫的頻帶)以表徵聲源特性的,稱為聲激勵聲碼器。此外,還有相位聲碼器、線性預測聲碼器(見線性預測編碼)等。

2. 常用聲音編碼方法

MP3:

MP3格式誕生於八十年代的德國,所謂的MP3也就是指的是MPEG標准中的音頻部分,也就是MPEG音頻層。根據壓縮質量和編碼處理的不同分為3層,分別對應「*.mp1"/「*.mp2」/「*.mp3」這3種聲音文件。需要提醒大家注意的地方是:MPEG音頻文件的壓縮是一種有損壓縮,MPEG3音頻編碼具有10:1~12:1的高壓縮率,同時基本保持低音頻部分不失真,但是犧牲了聲音文件中12KHz到16KHz高音頻這部分的質量來換取文件的尺寸,相同長度的音樂文件,用*.mp3格式來儲存,一般只有*.wav文件的1/10,而音質要次於CD格式或WAV格式的聲音文件。由於其文件尺寸小,音質好;所以在它問世之初還沒有什麼別的音頻格式可以與之匹敵,因而為*.mp3格式的發展提供了良好的條件。直到現在,這種格式還是風靡一時,作為主流音頻格式的地位難以被撼動。但是樹大招風,MP3音樂的版權問題也一直是找不到辦法解決,因為MP3沒有版權保護技術,說白了也就是誰都可以用。

MP3格式壓縮音樂的采樣頻率有很多種,可以用64Kbps或更低的采樣頻率節省空間,也可以用320Kbps的標准達到極高的音質。我們用裝有Fraunhofer IIS Mpeg Lyaer3的 MP3編碼器(現在效果最好的編碼器)MusicMatch Jukebox 6.0在128Kbps的頻率下編碼一首3分鍾的歌曲,得到2.82MB的MP3文件。採用預設的CBR(固定采樣頻率)技術可以以固定的頻率采樣一首歌曲,而VBR(可變采樣頻率)則可以在音樂「忙」的時候加大采樣的頻率獲取更高的音質,不過產生的MP3文件可能在某些播放器上無法播放。我們把VBR的級別設定成為與前面的CBR文件的音質基本一樣,生成的VBR MP3文件為2.9MB。

WMA:

WMA (Windows Media Audio) 格式是來自於微軟的重量級選手,後台強硬,音質要強於MP3格式,更遠勝於RA格式,它和日本YAMAHA公司開發的VQF格式一樣,是以減少數據流量但保持音質的方法來達到比MP3壓縮率更高的目的,WMA的壓縮率一般都可以達到1:18左右,WMA的另一個優點是內容提供商可以通過DRM(Digital Rights Management)方案如Windows Media Rights Manager 7加入防拷貝保護。這種內置了版權保護技術可以限制播放時間和播放次數甚至於播放的機器等等,這對被盜版攪得焦頭亂額的音樂公司來說可是一個福音,另外WMA還支持音頻流(Stream)技術,適合在網路上在線播放,作為微軟搶占網路音樂的開路先鋒可以說是技術領先、風頭強勁,更方便的是不用象MP3那樣需要安裝額外的播放器,而Windows操作系統和Windows Media Player的無縫捆綁讓你只要安裝了windows操作系統就可以直接播放WMA音樂,新版本的Windows Media Player7.0更是增加了直接把CD光碟轉換為WMA聲音格式的功能,在新出品的操作系統Windows XP中,WMA是默認的編碼格式,大家知道Netscape的遭遇,現在「狼」又來了。WMA這種格式在錄制時可以對音質進行調節。同一格式,音質好的可與CD媲美,壓縮率較高的可用於網路廣播。雖然現在網路上還不是很流行,但是在微軟的大規模推廣下已經是得到了越來越多站點的承認和大力支持,在網路音樂領域中直逼*.mp3,在網路廣播方面,也正在瓜分Real打下的天下。因此,幾乎所有的音頻格式都感受到了WMA格式的壓力。

RealAudi

RealAudio主要適用於在網路上的在線音樂欣賞,現在大多數的用戶仍然在使用56Kbps或更低速率的Modem,所以典型的回放並非最好的音質。有的下載站點會提示你根據你的Modem速率選擇最佳的Real文件。現在real的的文件格式主要有這么幾種:有RA(RealAudio)、RM(RealMedia,RealAudio G2)、RMX(RealAudio Secured),還有更多。這些格式的特點是可以隨網路帶寬的不同而改變聲音的質量,在保證大多數人聽到流暢聲音的前提下,令帶寬較富裕的聽眾獲得較好的音質。
WAV
WAV格式是微軟公司開發的一種聲音文件格式,也叫波形聲音文件,是最早的數字音頻格式,被Windows平台及其應用程序廣泛支持。WAV格式支持許多壓縮演算法,支持多種音頻位數、采樣頻率和聲道,採用44.1kHz的采樣頻率,16位量化位數,因此WAV的音質與CD相差無幾,但WAV格式對存儲空間需求太大不便於交流和傳播。
WAV是一種文件格式,符合 PIFF Resource Interchange File Format規范。所有的WAV都有一個文件頭,這個文件頭音頻流的編碼參數。WAV對音頻流的編碼沒有硬性規定,除了PCM之外,還有幾乎所有支持ACM規范的編碼都可以為WAV的音頻流進行編碼。
WAV也可以使用多種音頻編碼來壓縮其音頻流,不過我們常見的都是音頻流被PCM編碼處理的WAV,但這不表示WAV只能使用PCM編碼,MP3編碼同樣也可以運用在WAV中,和AVI一樣,只要安裝好了相應的Decode,就可以欣賞這些WAV了。
在Windows平台下,基於PCM編碼的WAV是被支持得最好的音頻格式,所有音頻軟體都能完美支持,由於本身可以達到較高的音質的要求,因此,WAV也是音樂編輯創作的首選格式,適合保存音樂素材。因此,基於PCM編碼的WAV被作為了一種中介的格式,常常使用在其他編碼的相互轉換之中,例如MP3轉換成WMA。
相對來說WAV格式也比較豐富,並且互相差異也比較大。通常說的WAV文件一般指的是PCM編碼格式,這種格式所支持的速度及采樣范圍比較大,但是它是沒有壓縮的。同時為了WAV文件也支持一些常用的壓縮方式,如:G.723.1、ACELP、CCITT A-Law、CCITT u-Law、TrueSpeed(TM)、GSM 6.10等,而這些格式大多數是為電話或數據機等低速語音為主的設備而使用,它們一般採用比較窄的采樣范圍來產生比較大的壓縮比。

Flash:

Flash的前身是Future Wave公司開發的FutureSplash Animator,是一個基於矢量的動畫製作軟體。由於該軟體得到良好的反響,於是被Macromedia收歸旗下,定名為Macromedia FLASH 2。由於Macromedia的大力宣揚和FLASH 2本身的獨特本領,很快成為網路的寵兒。Macromedia Flash作為矢量化的互動式web動畫製作工具,它結合macromedia公司的「流」技術--SHOCKWAVE,在web上用於發布互動式的動畫。

3. 聲碼器的原理

人講話時,氣流經過喉頭形成聲源信號,然後激勵由口、鼻腔構成的聲道,產生話音信號。聲碼器發信端的分析器首先對話音信號進行分析,提取主要話音參數:①聲源特性,如聲帶「振動-不振動」(濁-清音)、聲帶振動時的基本頻率(基頻□□);②聲道傳輸聲源信號的特性。這些話音參數變化很慢,它們所佔的總頻帶比話音本身的頻帶窄得多,因而對這些參數采樣編碼時總數碼率只有幾千甚至幾百比特/秒,只有直接 由話音信號采樣編碼的數碼率的十幾分之一,可以通過一個普通電話信道來傳輸。收信端的合成器利用這些參數來合成話音。

4. 音頻知識詳解(一)

現實生活中,我們聽到的聲音都是時間連續的,我們稱為這種信號叫 模擬信號 。模擬信號需要進行數字化以後才能在計算機中使用。

目前我們在計算機上進行音頻播放都需要依賴於 音頻文件 音頻文件 的生成過程是將 聲音信息采樣 、 量化 和 編碼 產生的數字信號的過程 ,人耳所能聽到的聲音,最低的頻率是從20Hz起一直到最高頻率20KHZ,因此音頻文件格式的最大帶寬是20KHZ。根據 奈奎斯特 的理論,只有 采樣頻率 高於 聲音信號最高頻率 的兩倍時,才能把數字信號表示的聲音還原成為原來的聲音,所以音頻文件的采樣率一般在40~50KHZ,比如最常見的CD音質采樣率44.1KHZ。

采樣 :波是無限光滑的,采樣的過程就是從波中抽取某些點的頻率值,就是 把模擬信號數字化 。如下圖所示:

采樣頻率 :單位時間內對模擬信號的采樣次數。采樣頻率越高,聲音的還原就越真實越自然,當然數據量就越大。采樣頻率一般共分為22.05KHz、44.1KHz、48KHz三個等級。8KHz - 電話所用采樣率, 對於人的說話已經足夠,22.05KHz只能達到FM廣播的聲音品質(適用於語音和中等品質的音樂),44.1KHz則是是最常見的采樣率標准,理論上的CD音質界限,48KHz則更加精確一些(對於高於48KHz的采樣頻率人耳已無法辨別出來了,所以在電腦上沒有多少使用價值)。

采樣位數(也成量化級、樣本尺寸、量化數據位數) :每個采樣點能夠表示的數據范圍。采樣位數通常有8bits或16bits兩種,采樣位數越大,所能記錄聲音的變化度就越細膩,相應的數據量就越大。8位字長量化(低品質)和16位字長量化(高品質),16 bit 是最常見的采樣精度。

量化 :將采樣後離散信號的幅度用二進制數表示出來的過程稱為量化。(日常生活所說的量化,就是設定一個范圍或者區間,然後看獲取到的數據在這個條件內的收集出來)。

PCM : PCM(Pulse Code Molation),即脈沖編碼調制,對聲音進行采樣、量化過程,未經過任何編碼和壓縮處理。

編碼 :采樣和量化後的信號還不是數字信號,需要將它轉化為數字編碼脈沖,這一過程稱為編碼。模擬音頻進采樣、量化和編碼後形成的二進制序列就是數字音頻信號。

聲道數 :聲道數是指支持能不同發聲的音響的個數,它是衡量音響設備的重要指標之一。

碼率 :(也成位速、比特率) 是指在一個數據流中每秒鍾能通過的信息量,代表了壓縮質量。 比如MP3常用碼率有128kbit/s、160kbit/s、320kbit/s等等,越高代表著聲音音質越好。MP3中的數據有ID3和音頻數據組成,ID3用於存儲歌名、演唱者、專輯、音軌等我們可以常見的信息。

音頻幀 :音頻數據是流式的,本身沒有明確的一幀幀的概念,在實際的應用中,為了音頻演算法處理/傳輸的方便,一般約定俗成取2.5ms~60ms為單位的數據量為一幀音頻。這個時間被稱之為「采樣時間」,其長度沒有特別的標准,它是根據編解碼器和具體應用的需求來決定的。

模擬信號 -> 輸入設備(傳遞電壓值)-> 音效卡(經過采樣跟量化(即設置聲音大小等各種值))-> 磁碟(文件) -> 音效卡 -> 輸出設備 -> 模擬信號

我們聲音在物理上用波形表示,那麼我們將這些波形稱作為 模擬信號 。而我們計算機磁碟只能存儲(01010101)的格式。我們將模擬信號轉換成能夠被磁碟存儲的格式(010101)稱之為 數字信號 。這個轉換的過程我們叫 模數轉換

我們發出來的聲音(模擬信號)是連續的,我們如果要一直的對模擬信號進行轉化,產生的數字信號會很大。那麼我們就要采樣,而采樣精度就是每秒計算機對模擬信號進行采樣的次數。最常見的采樣精度就是上面提到的44.1khz/s,這個是經過大師們多年研究得出的數據,低於這個數據,效果就會很差,而高於這個數據,效果的差距不是很明顯。

采樣後就是變成了(0101010110100101...),那聲音的音量是有大小的,那這串數據,怎樣表示聲音的大小呢? 這就涉及到了比特率,它是指在一個數據流中每秒鍾能通過的信息量。 比特率就是將聲音的大小劃分為多少等級。舉例下:8比特,在二進制中,表示有8位,表示的十進制的值就是0(00000000)~256(11111111),那每個數值就代表著一個聲音大小。

經過采樣、量化、編碼後轉化成數字信號,然後存儲為文件。

文件是用來裝數字信號的 ,文件包括了比特率、采樣率、聲道、編碼方式、以及被編碼過後的數字信號。

文件格式 就是製造者自己規定的一種名稱,在每個文件格式都會特定支持幾種編碼格式。 打個比方就是文件就是一個容器,裡面可以裝不同的水,有的可以裝一種,有的可以裝好幾種。

經過采樣後的數字信號很大,有時候我們不需要這么大的,所以我們就要進行編碼壓縮,當然壓縮技術都是有損的。在不大影響音頻的效果的情況下,舍棄掉一些高頻或者低頻的數據。

編碼格式 可以理解為每種音頻格式不同的編解碼方式。

封裝格式就是文件格式,編碼就是編碼格式。

了解了基礎概念之後我們就可以列出一個經典的音頻播放流程(以MP3為例):

在iOS系統中apple對上述的流程進行了封裝並提供了不同層次的介面(圖片引自 官方文檔 )。

下面對其中的中高層介面進行功能說明:

可以看到apple提供的介面類型非常豐富,可以滿足各種類別類需求:

https://msching.github.io/ 大神之作
https://www.jianshu.com/p/5c5e95d89c4f 寫的相當不錯
https://www.jianshu.com/p/423726cc9090 知識點很全
https://www.jianshu.com/p/b3db09fb69dc 總結的挺好
https://www.jianshu.com/p/a75f2411225f 有點專業,了解一部分
http://blog.csdn.net/liusandian/article/details/52488078 概念很清晰易懂

5. 哪有mp3音頻編碼的演算法

這種演算法很多種。操作系統的課程里就有。比如霍夫曼編碼,香濃凡諾編碼等等

6. 聲碼話的定義是什麼

模擬電話是先把語音信號轉變為電信號,傳到對方後,再把電信號還原成語音信號。

電信號有幅度、相位和頻率三個主要特性。幅度隨發話人的聲音的音量大小而變化,頻率隨發話人的聲音的音調高低而變化。

數字話是強調話音信號在傳輸之前進行了聲碼話編碼。

7. 基礎篇_8.音頻編碼MP3\AAC

學習整理的相關章節鏈接:
基礎篇_1.音視頻學習框架
基礎篇_2. 顏色空間模型 RBG、YUV、HSV
基礎篇_3.圖像編碼之Bmp
基礎篇_4.音頻基礎概念
基礎篇_5.音頻數據採集
基礎篇_6.音頻編碼PCM
基礎篇_7.音頻編碼WAV
基礎篇_8.音頻編碼MP3AAC

mp3編碼詳細信息參考如下鏈接
https://www.jianshu.com/p/58df71a19901

AAC是高級音頻編碼(Advanced Audio Coding)的縮寫,出現於1997年,最初是基於MPEG-2的音頻編碼技術。由Fraunhofer IIS、Dolby Laboratories、AT&T、Sony等公司共同開發,目的是取代MP3格式。2000年,MPEG-4標准出台,AAC重新集成了其它技術(PS,SBR),為區別於傳統的MPEG-2 AAC,故含有SBR或PS特性的AAC又稱為MPEG-4 AAC。
AAC是新一代的音頻有損壓縮技術,它通過一些附加的編碼技術(比如PS,SBR等),衍生出了LC-AAC,HE-AAC,HE-AACv2三種主要的編碼,LC-AAC就是比較傳統的AAC,相對而言,主要用於中高碼率(>=80Kbps),HE-AAC(相當於AAC+SBR)主要用於中低碼(<=80Kbps),而新近推出的HE-AACv2(相當於AAC+SBR+PS)主要用於低碼率(<=48Kbps),事實上大部分編碼器設成<=48Kbps自動啟用PS技術,而>48Kbps就不加PS,就相當於普通的HE-AAC

AAC共有9種規格,以適應不同的場合的需要:

MPEG-2 AAC LC 低復雜度規格(Low Complexity)--比較簡單,沒有增益控制,但提高了編碼效率,在中等碼率的編碼效率以及音質方面,都能找到平衡點
MPEG-2 AAC Main 主規格
MPEG-2 AAC SSR 可變采樣率規格(Scaleable Sample Rate)
MPEG-4 AAC LC 低復雜度規格(Low Complexity)------現在的手機比較常見的MP4文件中的音頻部份就包括了該規格音頻文件
MPEG-4 AAC Main 主規格 ------包含了除增益控制之外的全部功能,其音質最好
MPEG-4 AAC SSR 可變采樣率規格(Scaleable Sample Rate)
MPEG-4 AAC LTP 長時期預測規格(Long Term Predicition)
MPEG-4 AAC LD 低延遲規格(Low Delay)
MPEG-4 AAC HE 高效率規格(High Efficiency)-----這種規格適合用於低碼率編碼,有
Nero ACC 編碼器支持

目前使用最多的是 LC和HE(適合低碼率) 。流行的Nero AAC編碼程序只支持LC,HE,HEv2這三種規格,編碼後的AAC音頻,規格顯示都是LC。 HE其實就是AAC(LC)+SBR技術,HEv2就是AAC(LC)+SBR+PS技術;

** Hev1和HEv2用此圖簡單表示:**

** (圖中AAC即指的是原來的AAC-LC)**

** HE:「High Efficiency」(高效性)。 HE-AAC v1(又稱AACPlusV1,SBR),用容器的方法實現了AAC(LC)+SBR技術。 SBR其實代表的是Spectral Band Replication(頻段復制)**。簡要敘述一下,音樂的主要頻譜集中在低頻段,高頻段幅度很小,但很重要,決定了音質。如果對整個頻段編碼,若是為了保護高頻就會造成低頻段編碼過細以致文件巨大;若是保存了低頻的主要成分而失去高頻成分就會喪失音質。SBR把頻譜切割開來,低頻單獨編碼保存主要成分,高頻單獨放大編碼保存音質,「統籌兼顧」了,在減少文件大小的情況下還保存了音質,完美的化解這一矛盾。

** HEv2:**用容器的方法包含了HE-AAC v1和PS技術。PS指「parametric stereo」(參數立體聲)。原來的立體聲文件文件大小是一個聲道的兩倍。但是兩個聲道的聲音存在某種相似性,根據香農信息熵編碼定理,相關性應該被去掉才能減小文件大小。所以PS技術存儲了一個聲道的全部信息,然後,花很少的位元組用參數描述另一個聲道和它不同的地方

(1)AAC是一種 高壓縮比 的音頻壓縮演算法,但它的 壓縮比要遠超過較老的音頻壓縮演算法,如AC-3、MP3 等。並且其 質量可以同未壓縮的CD音質相媲美
(2)同其他類似的音頻編碼演算法一樣,AAC也是採用了變換編碼演算法,但AAC使用了解析度更高的濾波器組,因此它可以達到更高的壓縮比。
(3)AAC使用了 臨時雜訊重整、後向自適應線性預測、聯合立體聲技術和量化哈夫曼編碼 等最新技術,這些新技術的使用都使壓縮比得到進一步的提高。
(4)AAC支持 更多種采樣率和比特率、支持1個到48個音軌、支持多達15個低頻音軌、具有多種語言的兼容能力、還有多達15個內嵌數據流
(5)AAC支持 更寬的聲音頻率范圍,最高可達到96kHz,最低可達8KHz ,遠寬於MP3的16KHz-48kHz的范圍。
(6)不同於MP3及WMA, AAC幾乎不損失聲音頻率中的甚高、甚低頻率成分 ,並且比WMA在頻譜結構上更接近於原始音頻,因而聲音的保真度更好。專業評測中表明, AAC比WMA聲音更清晰,而且更接近原音
(7)AAC採用優化的演算法達到了 更高的解碼效率 ,解碼時只需較少的處理能力。

ADIF Audio Data Interchange Format 音頻數據交換格式 。這種格式的特徵是 可以確定的找到這個音頻數據的開始 ,不需進行在音頻數據流中間開始的解碼,即 它的解碼必須在明確定義的開始處進行。故這種格式常用在磁碟文件中

ADTS Audio Data Transport Stream 音頻數據傳輸流 。這種格式的特徵是它 是一個有同步字的比特流,解碼可以在這個流中任何位置開始 。它的特徵類似於mp3數據流格式。

簡單說,ADTS可以在任意幀解碼,也就是說它每一幀都有頭信息。ADIF只有一個統一的頭,所以必須得到所有的數據後解碼。且這兩種的header的格式也是不同的,目前一般編碼後的和抽取出的都是ADTS格式的音頻流。兩者具體的組織結構如下所示:

AAC的ADIF格式見下圖:

AAC的ADTS的一般格式見下圖:

圖中表示出了ADTS一幀的簡明結構,其兩邊的空白矩形表示一幀前後的數據。

ADIF 的頭信息:

ADIF頭信息位於AAC文件的起始處,接下來就是連續的 raw data blocks。
組成ADIF頭信息的各個域如下所示:

ADTS 的固定頭信息:

ADTS的可變頭信息:

(1) 幀同步目的在於找出幀頭在比特流中的位置 ,13818-7規定,aac ADTS格式的幀頭同步字為12比特的「1111 1111 1111」.

(2)ADTS的頭信息為兩部分組成,其一為固定頭信息,緊接著是可變頭信息。固定頭信息中的數據每一幀都相同,而可變頭信息則在幀與幀之間可變。

在AAC中,原始數據塊的組成可能有六種不同的元素:
SCE: Single Channel Element單通道元素 。單通道元素基本上只由一個ICS組成。一個原始數據塊最可能由16個SCE組成。
CPE: Channel Pair Element 雙通道元素 ,由兩個可能共享邊信息的ICS和一些聯合立體聲編碼信息組成。
CCE: Coupling Channel Element 藕合通道元素 。代表一個塊的多通道聯合立體聲信息或者多語種程序的對話信息。
LFE: Low Frequency Element 低頻元素 。包含了一個加強低采樣頻率的通道。
DSE: Data Stream Element 數據流元素 ,包含了一些並不屬於音頻的附加信息。
PCE: Program Config Element 程序配置元素 。包含了聲道的配置信息。它可能出現在ADIF 頭部信息中。
FIL: Fill Element 填充元素 。包含了一些擴展信息。如SBR,動態范圍控制信息等。
AAC解碼流程

[圖片上傳失敗...(image-eaf24c-1543569949388)]

如圖:

在主控模塊開始運行後,主控模塊將AAC比特流的一部分放入輸入緩沖區,通過 查找同步字得到一幀的起始 ,找到後,根據ISO/IEC 13818-7所述的語法 開始進行Noisless Decoding(無噪解碼),無噪解碼實際上就是哈夫曼解碼,通過反量化(Dequantize)、聯合立體聲(Joint Stereo),知覺雜訊替換(PNS),瞬時雜訊整形(TNS),反離散餘弦變換(IMDCT),頻段復制 (SBR)這幾個模塊之後,得出左右聲道的PCM碼流 ,再由主控模塊將其放入輸出緩沖區輸出到聲音播放設備。

技術解析:

1.主控模塊:
所謂的主控模塊,它的主要任務是操作輸入輸出緩沖區,調用其它各模塊協同工作。
其中,輸入輸出緩沖區均由DSP控制模塊提供介面。輸出緩沖區中將存放的數據為解碼出來的PCM數據,代表了聲音的振幅。它由一塊固定長度的緩沖區構成,通過調用DSP控制模塊的介面函數,得到頭指針,在完成輸出緩沖區的填充後,調用中斷處理輸出至I2S介面所連接的音頻ADC晶元(立體聲音頻DAC和DirectDrive耳機放大器)輸出模擬聲音。

2.Noisless Decoding(無噪解碼):
無噪編碼就是哈夫曼編碼,它的作用在於進一步減少尺度因子和量化後頻譜的冗餘,
即將尺度因子和量化後的頻譜信息進行哈夫曼編碼。全局增益編碼成一個8位的無符號整數,第一個尺度因子與全局增益值進行差分編碼後再使用尺度因子編碼表進行哈夫曼編碼。後續的各尺度因子都與前一個尺度因子進行差分編碼。量化頻譜的無噪編碼有兩個頻譜系數的劃分。其一為4元組和2元組的劃分,另一個為節劃分。對前一個劃分來說,確定了一次哈夫曼表查找出的數值是4個還是2個。對後一個劃分來說,確定了應該用哪一個哈夫曼表,一節中含有若乾的尺度因子帶並且每節只用一個哈夫曼表。
——分段
無雜訊編碼將輸入的1024個量化頻譜系數分為幾個段(section),段內的各點均使用
同一個哈夫曼表,考慮到編碼效率,每一段的邊界最好同尺度因子帶的邊界重合。所以每一段必段傳送信息應該有:段長度,所在的尺度因子帶,使用的哈夫曼表。

——分組和交替
分組是指忽略頻譜系數所在窗,將連續的,具有相同尺度因子帶的頻譜系數分為一組放在
一起,共享一個尺度因子從而得到更好的編碼效率。這樣做必然會引起交替,即本來是以
c[組][窗][尺度因子帶][ 系數索引]為順序的系數排列,變為將尺度因子帶同的系數放在一起: c[組][尺度因子帶][窗][ 系數索引]
這樣就引起了相同窗的系數的交替。

——大量化值的處理
大量化值在AAC中有兩種處理方法:在哈夫曼編碼表中使用escape標志或使用脈沖
escape方法。前者跟mp3編碼方法相似,在許多大量化值出現時採用專門的哈夫曼表,這個表暗示了它的使用將會在哈夫曼編碼後面跟跟一對escape值及對值的符號。在用脈沖escape方法時,大數值被減去一個差值變為小數值,然後使用哈夫曼表編碼,後面會跟一個脈沖結構來幫助差值的還原.

3.尺度因子解碼及逆量化
在AAC編碼中,逆量化頻譜系數是由一個非均勻量化器來實現的,在解碼中需進行其逆運算。即保持符號並進行4/3次冪運算。在頻域調整量化雜訊的基本方法就是用尺度因子來進行雜訊整形。尺度因子就是一個用來改變在一個尺度因子帶的所有的頻譜系數的振幅增益值。使用尺度因子這種機制是為了使用非均勻量化器在頻域中改變數化雜訊的比特分配。

——尺度因子帶(scalefactor-band)
頻率線根據人耳的聽覺特性被分成多個組,每個組對應若干個尺度因子,這些組就叫做尺度因子帶。為了減少信息含有短窗的邊信息,連續的短窗可能會被分為一組,即將若干個短窗當成一個窗口一起傳送,然後尺度因子將會作用到所有分組後的窗口去。

4.聯合立體聲(Joint Stereo)
聯合立體聲的是對原來的取樣進行的一定的渲染工作,使聲音更」好聽」些。

5.知覺雜訊替換(PNS)
知覺雜訊替換模塊是一種以參數編碼的方式模擬雜訊的模塊。在判別出音頻值中的噪
聲後,將這些雜訊不進行量化編碼,而是採用一些參數告訴解碼器端這是某種雜訊,然後解碼器端將會對這些雜訊用一些隨機的編碼來製造出這一類型的雜訊。
在具體操作上,PNS模塊對每個尺度因子帶偵測頻率4kHz以下的信號成分。如果這個
信號既不是音調,在時間上也無強烈的能量變動,就被認為是雜訊信號。其信號的音調及能量變化都在心理聲學模型中算出。
在解碼中,如果發現使用了哈夫曼表13(NOISE_HCB),則表明使用了PNS。由於M/S立體聲解碼與PNS解碼互斥,故可以用參數ms_used來表明是否兩個聲道都用同樣的PNS。如果 ms_used參數為1,則兩個聲道會用同樣的隨機向量來生成雜訊信號。PNS的能量信號用noise_nrg來表示,如果使用了PNS,則能量信號將會代替各自的尺度因子來傳送。雜訊能量編碼同尺度因子一樣,採用差分編碼的方式。第一個值同樣為全局增益值。它同強度立體聲位置值及尺度因子交替地放在一起,但對差分解碼來說又彼此忽略。即下一個雜訊能量值以上一個雜訊能量值而不是強度立體聲位置或尺度因子為標准差分解碼。隨機能量將會在一個尺度因子帶內產生noise_nrg所計算出的平均能量分布。此項技術只有在MPEG-4 AAC中才會使用。

6.瞬時雜訊整形(TNS)
這項神奇的技術可以通過在頻率域上的預測,來修整時域上的量化噪音的分布。在一
些特殊的語音和劇烈變化信號的量化上,TNS技術對音質的提高貢獻巨大!TNS瞬態雜訊整形用於控制一個轉換窗口內的瞬時雜訊形態。它是用一個對單個通道的濾波過程來實現的。傳統的變換編碼方案常常遇到信號在時域變化非常劇烈的問題,特別是語音信號,這個問題是因為量化後的雜訊分布雖然在頻率域上得到控制,但在時域上卻以一個常數分布在一個轉換塊內。如果這種塊中信號變化得很劇烈卻又不轉向一個短塊去,那這個常數分布的雜訊將會被聽到。TNS的原理利用了時域和頻域的二元性和LPC(線性預測編碼)的時頻對稱性,即在其中的任意一個域上做編碼與在另一域上做預測編碼等效,也就是說,在一個域內做預測編碼可以在另一域內增加其解析度。量化雜訊產生是在頻域產生的,降低了時域的解析度,故在這里是在頻域上做預測編碼。在AACplus中,由於基於AAC profile LC,故TNS的濾波器階數被限制在 12階以內。

7.反離散餘弦變換(IMDCT)
將音頻數據從頻域轉換到時域的過程主要是由將頻域數據填入一組IMDCT濾波器來實現的。在進行IMDCT變換後,輸出數值經過加窗,疊加,最後得到時域數值。

8.頻段復制(SBR)
簡要敘述,音樂的主要頻譜集中在低頻段,高頻段幅度很小,但很重要,決定了
音質。如果對整個頻段編碼,若是為了保護高頻就會造成低頻段編碼過細以致文件巨大;若是保存了低頻的主要成分而失去高頻成分就會喪失音質。SBR把頻譜切割開來,低頻單獨編碼保存主要成分,高頻單獨放大編碼保存音質,「統籌兼顧」了,在減少文件大小的情況下還保存了
音質,完美的化解這一矛盾。

9.參數立體聲(PS)
對於之前的立體聲文件來說,其文件大小是單聲道的兩倍,但是兩個聲道的聲音存在
某種相似性,根據香農信息熵編碼定理,相關性應該被去掉才能減小文件大小。所以PS技術存儲了一個聲道的全部信息,之後,用很少的位元組當作參數來描述另一個聲道和它不同的地方。

8. 聲碼器是什麼東東,有什麼用

聲碼器用來實現電子化的人聲效果,或者使用一個說話的采樣,變成唱歌(合唱)的效果,音高可以自己控制。

很多電子樂中用到它。聲碼器,英文是Vocoder,由Voice Coder簡化而來。

聲碼器現在大量的被應用於通訊技術,包括手機。

而用於音樂製作的聲碼器通常都是由三個部分組成的:帶通濾波器、包絡跟隨器、放大器,而聲碼器通常需要有兩個輸入信號,一個是語音信號(speech),也稱為調制器(Molator)就是我們的人聲素材;另外一個輸入信號被稱做載波器(carrier),他通常都載有一小段含有豐富諧波的聲音信號。

比如很有名的:Prosoniq Orange Vocoder

(下載地址:http://count.skycn.com/softdownload.php?id=977&url=http://ry165.skycn.net/down/pqorangevocwin202demo.zip)

效果極佳的機器人聲效果器,可以產生時下流行的電子人聲。

著名電子樂隊Kraftwerk早期的唱片中,用了大量的Vocoder效果。

下面來介紹一下:

當你說話時,聲音包含兩部分內容,第一個是你的基本的發聲類型,保持了音高,也保留你的獨有發聲特性……這也是為什麼你的聲音會區別於其它人的原因。第二個內容是是你調制這些基本聲音的形式,調制意味著你可能要對某些特定的頻率段進行動態加強或削弱,有點類似於EQ。

示例:說一個很長的「噢」。這時你可能是稍微閉著嘴唇的;然後我們再說聲「啊」,這時你是張開嘴唇的——人聲和弦產生同樣的聲音,但是調制是不同的!

這里便引出一個非常重要的概念,就是共振峰(formant),這是因為它造成了基本聲音的「輪廓」,而這里,我們稱這個基本聲音為載體,因為這個基本聲音搭載了共振峰信號,所以基本聲音是運輸工具,共振峰信號是貨物。共振峰信號比載體的信號的頻率要低得多,最早的應用環境便是減少電話波段,這也是VOCODER最早發明的原因

而Vocoder的作用就是,從一個聲音中將你的聲音中的載體信號取代了,當然是用其它信號給取代的。這就是最本質的原理。 這樣的話,它就改變了人聲的效果,但是又不是你剛開始說話的那個效果了。
它從外部設備接收共振峰信號與載體信號,然後將它們按波段來分割(波段是部分頻率的區塊的意思,同均衡器有點類似)。然後包絡(調制)被從每個共振峰波段中析解出來。這部分是由包絡跟隨所完成的,是一種非常「極端」的低通濾波器。接下來,共振峰波段調制到載體波段,然後混合輸出結果。

這樣做的好處是,你可以讓載體信號為說話聲或者是歌唱聲。而旁鏈效果,共振峰的聲音則可以絕對是毫不相關的聲音,所以各位,我們便可以創造絕對很酷的聲音了。通常我們都用人聲做為共振峰信號,而用樂器聲作為載體,結果就好象樂器說話了……應用的對象可以是弦樂,管樂,長笛等其它類似的樂器……
輸入可以是文件也可以是音效卡來的信號,如果你的音效卡是全雙工的話,還可以實時聽到效果,在現場演出時可以騙人了,當然延遲是少不了的

閱讀全文

與聲碼話音頻演算法相關的資料

熱點內容
cf美國伺服器如何下載 瀏覽:151
linux後退命令 瀏覽:900
吳京在泰國監牢叫什麼電影 瀏覽:726
男主是中東王儲的小說 瀏覽:587
囚禁百合文推薦 瀏覽:582
李海仁倫理片 瀏覽:316
韓國愛情大尺度電影 瀏覽:131
40部封禁小說都有什麼 瀏覽:720
天資榜第十名葉凌天七殺霸體 瀏覽:713
家庭教師高級課程中的老師是誰 瀏覽:492
近期韓國劇情片 瀏覽:251
誰的電影官網 瀏覽:168
月餅自動包餡機plc編程 瀏覽:129
pdf百度雲盤 瀏覽:356
php和java的優點 瀏覽:232
怎麼進入vim編譯環境 瀏覽:415
程序員做外貿視頻 瀏覽:762
a大尺度電影網址 瀏覽:390
台灣片子一個學生和一個老師 瀏覽:12
伺服器內部錯誤500運行什麼 瀏覽:945