一悬包、音頻編碼調(diào)制技術(shù)
根據(jù)編碼方式的不同衙猪,音頻編碼技術(shù)分為三種:波形編碼、參數(shù)編碼和混合編碼布近。一般來說屈嗤,波形編碼的話音質(zhì)量高,但編碼速率也很高吊输;參數(shù)編碼的編碼速率很低饶号,產(chǎn)生的合成語音的音質(zhì)不高;混合編碼使用參數(shù)編碼技術(shù)和波形編碼技術(shù)季蚂,編碼速率和音質(zhì)介于它們之間茫船。
實際應(yīng)用中,我們通常采用的是脈沖編碼調(diào)制(即PCM編碼)扭屁。PCM通過抽樣算谈、量化、編碼三個步驟將連續(xù)變化的模擬信號轉(zhuǎn)換為數(shù)字編碼料滥。
脈沖編碼調(diào)制(Pulse Code Modulation)的處理過程如下:
模擬信號 >> [ 抽樣 -> 量化 -> 編碼 ] >> 數(shù)字信號
二然眼、脈沖編碼調(diào)制相關(guān)術(shù)語
上述PCM過程,會用到如下相關(guān)技術(shù)和術(shù)語葵腹。
2.1 采樣和采樣頻率
在音頻處理時要先把音頻的模擬信號變成數(shù)字信號高每,這叫A/D轉(zhuǎn)換屿岂。要把音頻的模擬信號變成數(shù)字信號,就需要采樣鲸匿,或者叫抽樣爷怀。當要把音頻播放出來時則需要把數(shù)字信號轉(zhuǎn)換成模擬信號,這叫D/A轉(zhuǎn)換带欢。一秒鐘內(nèi)采樣的次數(shù)稱為采樣頻率运授。
根據(jù)Nyquist采樣定理,要想重建原始信號乔煞,采樣頻率必須大于信號中最高頻率的兩倍吁朦。采樣頻率越高,越接近原始信號渡贾,但是也加大了運算處理的復(fù)雜度逗宜。
人能感受到的頻率范圍為20HZ--20kHZ,一般音樂的采樣頻率為44.1kHZ(根據(jù)Nyquist采樣定理剥啤,采樣頻率大于信號中最高頻率的兩倍得出)锦溪。更高音樂的采樣率可以是48kHZ和96kHZ不脯,不過一般人用耳聽感覺不出差別了府怯。
語音主要是以溝通為主,不需要像音樂那樣清晰防楷。語音分窄帶和寬帶:窄帶頻率范圍為300Hz--3400Hz牺丙,對應(yīng)的采樣頻率為8000Hz;寬帶頻率范圍為50Hz--7000Hz复局,相應(yīng)的采樣頻率為16000Hz冲簿,用16k采樣的語音就稱為高清語音了。現(xiàn)在主流的語音采樣頻率為16kHz亿昏。其中語音識別技術(shù)所使用的采樣率基本都是16KHz峦剔。
2.2 采樣位數(shù)
數(shù)字信號是用0和1來表示的,采樣位數(shù)就是采樣值用多少位0和1來表示角钩,也叫采樣精度吝沫。用的位數(shù)越多就越接近真實聲音。如用8位表示递礼,采樣值取值范圍就是-128--127惨险,如用16位表示,采樣值取值范圍就是-32768--32767脊髓。
2.3 通道數(shù)
通常語音只用一個聲道辫愉。而對于音樂來說,既可以是單聲道(mono)将硝,也可以是雙聲道(即左聲道右聲道恭朗,叫立體聲stereo)屏镊,還可以是多聲道,叫環(huán)繞立體聲冀墨,多用于影院中闸衫。
2.4 比特率
也叫碼率,表示每秒音頻數(shù)據(jù)量的大小诽嘉。計算公司:比特率=采樣率采樣精度聲道數(shù)**蔚出,單位是kbps。
2.5 編解碼
如果把采樣值直接保存或者發(fā)送虫腋,會占用很大的存儲空間或者很大的流量骄酗。以16kHz采樣率16位采樣位數(shù)單聲道為例,一秒鐘就有1600016bit1/8bit=32000bytes字節(jié)悦冀。通常需要把采樣后的數(shù)字信號壓縮后才保存或者發(fā)送况既。把采樣值壓縮叫編碼(encode),形成比特流(bitstream). 把比特流還原出采樣值叫解碼(decode)锯玛,統(tǒng)稱編解碼(codec)网棍。
通常我們把音頻采樣過程叫脈沖編碼調(diào)制編碼,即PCM(Pulse Code Modulation)編碼历等,采樣值也叫PCM值讨惩,為了節(jié)省保存空間或者發(fā)送流量,會對PCM值壓縮寒屯。
2.6 有損和無損
根據(jù)采樣和量化的過程可知荐捻,音頻編碼最多只能做到無限接近自然界的信號,至少目前的技術(shù)還不可能將其完全一樣寡夹。這是因為自然界的信號是連續(xù)的处面,而音頻編碼后的值是離散的。因此菩掏,任何數(shù)字音頻編碼方案都是有損的魂角,這也就意味著任何的音頻都不可能完全還原出自然界的聲音。
不過我們常說的有損和無損是指PCM數(shù)據(jù)壓縮(編碼)的過程:把PCM數(shù)據(jù)壓縮后無任何損傷叫無損壓縮智绸,不過壓縮程度不高野揪;把PCM數(shù)據(jù)壓縮后有損傷叫有損壓縮,最多可以壓到幾十分之一传于,不過音頻質(zhì)量差些囱挑。
三、常見音頻壓縮標準
目前主要有三大技術(shù)標準組織制定壓縮標準:
- ITU沼溜,主要制定有線語音的壓縮標準(g系列)平挑,有711/g722/g726/g729等。
- 3GPP,主要制定無線語音的壓縮標準(amr系列等)通熄,有amr-nb/amr-wb唆涝。后來ITU吸納了amr-wb,形成了g722.2唇辨。
- MPEG廊酣,主要制定音樂的壓縮標準,有11172-3赏枚,13818-3/7亡驰,14496-3等。
一些大公司或者組織也制定壓縮標準饿幅,比如iLBC凡辱,OPUS。
四栗恩、PCM音頻前后處理
音頻處理是指對PCM數(shù)據(jù)(也叫線性數(shù)據(jù))進行處理透乾,從而達到想要的效果,如回聲消除磕秤。
對音頻編碼前的PCM數(shù)據(jù)進行處理叫音頻前處理乳乌,主要用于語音中,來去除各種干擾市咆,使聲音更清晰汉操,主要有回聲消除、噪聲抑制床绪、增益控制等客情。
對音頻解碼后的PCM數(shù)據(jù)進行處理叫音頻后處理其弊,主要用于音樂中癞己,來產(chǎn)生各種音效,使音樂更動聽梭伐,主要有均衡器痹雅、混響等。
五糊识、PCM音頻傳輸
這里主要是指網(wǎng)絡(luò)傳輸绩社,通過網(wǎng)絡(luò)把音頻數(shù)據(jù)傳給對方。語音和音樂兩種場景下有明顯的區(qū)別:
- 對于語音來說赂苗,實時性要求很高愉耙,主要用RTP/UDP做承載,由于UDP是不可靠傳輸拌滋,會丟包亂序等朴沿,影響語音質(zhì)量,所以要采取相應(yīng)的措施,主要有PLC(丟包補償)赌渣、FEC(前向糾錯)魏铅、重傳、jitter buffer等坚芜。
- 對于音樂來說览芳,以前是播放本地音樂文件,近些年隨著網(wǎng)絡(luò)帶寬的加大鸿竖,可以播放云端的音樂文件了沧竟。播放時要把音樂文件傳給播放器,一般是邊播放邊下載缚忧,播放音樂對實時性要求不高屯仗,一般用HTTP/TCP做承載,也就不存在丟包亂序等問題了搔谴。
六魁袜、常見音頻格式
6.1 WAV格式
WAV格式,是微軟公司開發(fā)的一種聲音文件格式敦第,也叫波形聲音文件峰弹,是最早的數(shù)字音頻格式。
特點:音質(zhì)非常好芜果,被大量軟件所支持鞠呈。
適用于:多媒體開發(fā)、保存音樂和音效素材右钾。
6.2 MP3格式
MP3具有不錯的壓縮比蚁吝,使用LAME編碼的中高碼率的mp3,聽感上已經(jīng)非常接近源WAV文件舀射。使用合適的參數(shù)窘茁,LAME編碼的MP3很適合于音樂欣賞。由于mp3編碼是有損的脆烟,因此多次編輯后山林,音質(zhì)會急劇下降,mp3并不適合保存素材邢羔,但作為作品的demo確實相當優(yōu)秀的驼抹。MP3也具有流媒體的基本特征,可以做到在線播放拜鹤。
特點:音質(zhì)好框冀,壓縮比比較高,被大量軟件和硬件支持敏簿,應(yīng)用廣泛明也。
適用于:適合用于比較高要求的音樂欣賞。
6.3 OGG格式
Ogg是一種非常有潛力的編碼,在各種碼率下都有比較驚人的表現(xiàn)诡右,尤其中低碼率下安岂。Ogg除了音質(zhì)好之外,她還是一個完全免費的編碼帆吻,這對ogg被更多支持打好了基礎(chǔ)域那。Ogg有著非常出色的算法,可以用更小的碼率達到更好的音質(zhì)猜煮,128kbps的Ogg比192kbps甚至更高碼率的mp3還要出色次员。Ogg的高音具有一定的金屬味道,因此在編碼一些高頻要求很高的樂器獨奏時王带,Ogg的這個缺陷會暴露出來淑蔚。OGG具有流媒體的基本特征,但現(xiàn)在還沒有媒體服務(wù)軟件支持愕撰,因此基于ogg的數(shù)字廣播還無法實現(xiàn)刹衫。
特點:可以用比mp3更小的碼率實現(xiàn)比mp3更好的音質(zhì),高中低碼率下均具有良好的表現(xiàn)搞挣。
適用于:用更小的存儲空間獲得更好的音質(zhì)(相對MP3)带迟。
6.4 MPC格式
和OGG一樣,MPC的競爭對手也是mp3囱桨,在中高碼率下仓犬,MPC可以做到比競爭對手更好音質(zhì),在中等碼率下舍肠,MPC的表現(xiàn)不遜色于Ogg搀继,在高碼率下,MPC的表現(xiàn)更是獨孤求敗翠语,MPC的音質(zhì)優(yōu)勢主要表現(xiàn)在高頻部分叽躯,MPC的高頻要比MP3細膩不少,也沒有Ogg那種金屬味道啡专,是目前最適合用于音樂欣賞的有損編碼险毁。MPC有不錯的編碼效率制圈,編碼時間要比OGG和LAME短不少们童。
特點:中高碼率下,具有有損編碼中最佳的音質(zhì)表現(xiàn)鲸鹦,高碼率下慧库,高頻表現(xiàn)極佳
適用于:在節(jié)省大量空間的前提下獲得最佳音質(zhì)的音樂欣賞。
6.5 WMA格式
微軟開發(fā)的WMA同樣也是不少朋友所喜愛的馋嗜,在低碼率下齐板,有著好過mp3很多的音質(zhì)表現(xiàn),WMA的出現(xiàn),立刻淘汰了曾經(jīng)風靡一時的VQF編碼甘磨。
特點:低碼率下的音質(zhì)表現(xiàn)難有對手
適用于:數(shù)字電臺架設(shè)橡羞、在線試聽、低要求下的音樂欣賞
6.6 MP3PRO格式
作為mp3的改良版本的mp3PRO表現(xiàn)出了相當不錯的素質(zhì)济舆,高音豐滿卿泽,雖然mp3PRO是通過SBR技術(shù)在播放過程中插入的,但實際聽感相當不錯滋觉,雖然顯得有點單薄签夭,但在64kbps的世界里已經(jīng)沒有對手了,甚至超過了128kbps的mp3椎侠,但很遺憾的是第租,mp3PRO的低頻表現(xiàn)也象mp3一樣的破,所幸的是我纪,SBR的高頻插值可以或多或少的掩蓋掉這個缺陷慎宾,因此mp3PRO的低頻弱勢反而不如WMA那么明顯。整體而言浅悉,64kbps的mp3PRO達到了128kbps的mp3的音質(zhì)水平璧诵,在高頻部分還略有勝出。
特點:低碼率下的音質(zhì)之王仇冯。
適用于:低要求下的音樂欣賞之宿。
6.7 APE格式
一種新興的無損音頻編碼,可以提供50-70%的壓縮比苛坚,雖然比起有損編碼來太不值得一提了比被,但對于追求完美注意的朋友簡直是天大的福音。APE可以做到真正的無損泼舱,而不是聽起來無損等缀,壓縮比也要比類似的無損格式要好。
特點:音質(zhì)非常好娇昙。
適用于:最高品質(zhì)的音樂欣賞及收藏尺迂。
6.8 MIDI格式
MIDI是Musical InstrumentDigital Interface的縮寫,又稱作樂器數(shù)字接口冒掌,是數(shù)字音樂/電子合成樂器的統(tǒng)一國際標準噪裕。它定義了計算機音樂程序、數(shù)字合成器及其它電子設(shè)備交換音樂信號的方式股毫,規(guī)定了不同廠家的電子樂器與計算機連接的電纜和硬件及設(shè)備間數(shù)據(jù)傳輸?shù)膮f(xié)議膳音,可以模擬多種樂器的聲音。MIDI文件就是MIDI格式的文件铃诬,在MIDI文件中存儲的是一些指令祭陷。把這些指令發(fā)送給聲卡苍凛,由聲卡按照指令將聲音合成出來。
七兵志、常用音頻處理開源庫
7.1 OpenAL
OpenAL是自由軟件界的跨平臺音效API醇蝴。OpenAL最初是由LokiSoftware所開發(fā),是為了將Windows商業(yè)游戲移植到Linux上想罕。Loki倒閉以后哑蔫,這個項目由自由軟件/開放源始碼社群繼續(xù)維護。
http://www.openal.org/
7.2 speex
Speex提供一個可以替代高性能語音編解碼來降低語音應(yīng)用輸入門檻弧呐。另外闸迷,相對于其它編解碼器,Speex也很適合網(wǎng)絡(luò)應(yīng)用俘枫,在網(wǎng)絡(luò)應(yīng)用上有著自己獨特的優(yōu)勢腥沽。
https://www.speex.org/
最后,推薦一個免費的音頻處理軟件Audacity鸠蚪,在Windows和Linux都有對應(yīng)的軟件今阳,非常好用。
https://www.audacityteam.org/