移動(dòng)端短語(yǔ)音消息音頻格式選擇

1. 移動(dòng)端原生音頻支持

1.1 android Supported media formats

https://developer.android.com/guide/topics/media/media-formats

Format / CodecEncoderDecoderDetailsSupported File Type(s) / Container Formats

AAC LC??Support for mono/stereo/5.0/5.1 content with standard sampling rates from 8 to 48 kHz.? 3GPP (.3gp)

? MPEG-4 (.mp4, .m4a)

? ADTS raw AAC (.aac, decode in Android 3.1+, encode in Android 4.0+, ADIF not supported)

? MPEG-TS (.ts, not seekable, Android 3.0+)

HE-AACv1 (AAC+)?

(Android 4.1+)

?

HE-AACv2 (enhanced AAC+)?Support for stereo/5.0/5.1 content with standard sampling rates from 8 to 48 kHz.

AAC ELD (enhanced low delay AAC)?

(Android 4.1+)

?

(Android 4.1+)

Support for mono/stereo content with standard sampling rates from 16 to 48 kHz

AMR-NB??4.75 to 12.2 kbps sampled @ 8kHz3GPP (.3gp)

AMR-WB??9 rates from 6.60 kbit/s to 23.85 kbit/s sampled @ 16kHz3GPP (.3gp)

FLAC?

(Android 4.1+)

?

(Android 3.1+)

Mono/Stereo (no multichannel). Sample rates up to 48 kHz (but up to 44.1 kHz is recommended on devices with 44.1 kHz output, as the 48 to 44.1 kHz downsampler does not include a low-pass filter). 16-bit recommended; no dither applied for 24-bit.FLAC (.flac) only

MIDI?MIDI Type 0 and 1. DLS Version 1 and 2. XMF and Mobile XMF. Support for ringtone formats RTTTL/RTX, OTA, and iMelody? Type 0 and 1 (.mid, .xmf, .mxmf)

? RTTTL/RTX (.rtttl, .rtx)

? OTA (.ota)

? iMelody (.imy)

MP3?Mono/Stereo 8-320Kbps constant (CBR) or variable bit-rate (VBR)MP3 (.mp3)

Opus?

(Android 5.0+)

Matroska (.mkv)

PCM/WAVE?

(Android 4.1+)

?8- and 16-bit linear PCM (rates up to limit of hardware). Sampling rates for raw PCM recordings at 8000, 16000 and 44100 Hz.WAVE (.wav)

Vorbis?? Ogg (.ogg)

? Matroska (.mkv, Android 4.0+)

1.2 Supported Audio File and Data Formats in OS X

https://developer.apple.com/library/content/documentation/MusicAudio/Conceptual/CoreAudioOverview/SupportedAudioFormatsMacOSX/SupportedAudioFormatsMacOSX.html

Allowable data formats for each file format.

File FormatData Formats

AAC (.aac, .adts)'aac '

AC3 (.ac3)'ac-3'

AIFC (.aif, .aiff,.aifc)BEI8, BEI16, BEI24, BEI32, BEF32, BEF64, 'ulaw', 'alaw', 'MAC3', 'MAC6', 'ima4' , 'QDMC', 'QDM2', 'Qclp', 'agsm'

AIFF (.aiff)BEI8, BEI16, BEI24, BEI32

Apple Core Audio Format (.caf)'.mp3', 'MAC3', 'MAC6', 'QDM2', 'QDMC', 'Qclp', 'Qclq', 'aac ', 'agsm', 'alac', 'alaw', 'drms', 'dvi ', 'ima4', 'lpc ', BEI8, BEI16, BEI24,BEI32, BEF32, BEF64, LEI16, LEI24, LEI32, LEF32, LEF64, 'ms\x00\x02', 'ms\x00\x11', 'ms\x001', 'ms\x00U', 'ms \x00', 'samr', 'ulaw'

MPEG Layer 3 (.mp3)'.mp3'

MPEG 4 Audio (.mp4)'aac '

MPEG 4 Audio (.m4a)'aac ', alac'

NeXT/Sun Audio (.snd, .au)BEI8, BEI16, BEI24, BEI32, BEF32, BEF64, 'ulaw'

Sound Designer II (.sd2)BEI8, BEI16, BEI24, BEI32

WAVE (.wav)LEUI8, LEI16, LEI24, LEI32, LEF32, LEF64, 'ulaw', 'alaw'

Core Audio includes a number of audio codecs that translate audio data to and from Linear PCM. Codecs for the following audio data type are available in OS X v10.4. Audio applications may install additional encoders and decoders.

Audio data typeEncode from linear PCM?Decode to linear PCM?

MPEG Layer 3 ('.mp3')NoYes

MACE 3:1 ('MAC3')YesYes

MACE 6:1 ('MAC6')YesYes

QDesign Music 2 ('QDM2')YesYes

QDesign ('QDMC')NoYes

Qualcomm PureVoice ('Qclp')YesYes

Qualcomm QCELP ('qclq')NoYes

AAC ('aac ')YesYes

Apple Lossless ('alac')YesYes

Apple GSM 10:1 ('agsm')NoYes

ALaw 2:1 'alaw')YesYes

Apple DRM Audio Decoder ('drms')NoYes

AC-3NoNo

DVI 4:1 ('dvi ')NoYes

Apple IMA 4:1 ('ima4')YesYes

LPC 23:1 ('lpc ')NoYes

Microsoft ADPCMNoYes

DVI ADPCMYesYes

GSM610NoYes

AMR Narrowband ('samr')YesYes

μLaw 2:1 ('ulaw')YesYes

1.3 總結(jié):

android/ios都可以對(duì)mp3解碼,但不能編碼,編碼依賴lame;

android/ios支持對(duì)aac進(jìn)行編解碼;

mp3,aac均是音樂(lè)編碼器,android支持對(duì)amr窄帶與寬帶編解碼,ios文檔顯示對(duì)窄帶支持編解碼,但有人說(shuō)ios4.3.x版本之后不再支持AMR衩藤,剔除了AMR的硬解,如需使用依賴libopencore庫(kù);

結(jié)論:

h5 audio標(biāo)簽對(duì)mp3支持最好(audio標(biāo)簽除了firefox與opera都支持mp3,ogg,wav;flash播放器可以支持到mp3,aac,speex,nellymoser),考慮對(duì)純web的兼容性,使用mp3;

android,ios硬件對(duì)aac支持最好,考慮硬編碼的性能與效率,使用aac;

amr是語(yǔ)音編碼器,考慮使用場(chǎng)景,推薦amr.

對(duì)比微信,微信短語(yǔ)音,6.0之前用的amr,6.0之后用的silk_v3.

2.音頻基礎(chǔ)概念

2.1聲音三要素

聲音的特性可由三個(gè)要素來(lái)描述赏表,即響度、音調(diào)和音色底哗。

響度:人耳對(duì)聲音強(qiáng)弱的主觀感覺(jué)稱為響度跋选。響度和聲波振動(dòng)的幅度有關(guān)涕癣。一般說(shuō)來(lái)前标,聲波振動(dòng)幅度越大則響度也越大。當(dāng)我們用較大的力量敲鼓時(shí)只搁,鼓膜振動(dòng)的幅度大俭尖,發(fā)出的聲音響洞翩;輕輕敲鼓時(shí)焰望,鼓膜振動(dòng)的幅度小,發(fā)出的聲音弱来屠。音叉振動(dòng)時(shí)發(fā)出的聲波為單音震鹉,即只有一個(gè)頻率成分。若設(shè)法將音叉的振動(dòng)規(guī)律記錄下來(lái)传趾,可發(fā)現(xiàn)其振動(dòng)波形為一正弦波。當(dāng)用不同力量敲擊某個(gè)音叉時(shí)星虹,音叉發(fā)出的聲波幅度不同镊讼,這意味著聲音的響度不同蝶棋。給出了兩個(gè)聲音波形忽妒,其幅度一大一小,幅度大的波形其聲音響度大吃溅,幅度小的波形其聲音響度小鸯檬。另外喧务,人們對(duì)響度的感覺(jué)還和聲波的頻率有關(guān),同樣強(qiáng)度的聲波庐冯,如果其頻率不同坎穿,人耳感覺(jué)到的響度也不同返劲。

音調(diào):人耳對(duì)聲音高低的感覺(jué)稱為音調(diào)篮绿。音調(diào)主要與聲波的頻率有關(guān)衡载。聲波的頻率高,則音調(diào)也高弃榨。當(dāng)我們分別敲擊一個(gè)小鼓和一個(gè)大鼓時(shí)梨睁,會(huì)感覺(jué)它們所發(fā)出的聲音不同坡贺。小鼓被敲擊后振動(dòng)頻率快,發(fā)出的聲音比較清脆遍坟,即音調(diào)較高愿伴;而大鼓被敲擊后振動(dòng)頻率較慢,發(fā)出的聲音比較低沉鹅经,即音調(diào)較低怎诫。如果分別敲擊一個(gè)小音叉和一個(gè)大音叉時(shí),同樣會(huì)感覺(jué)到小音叉所發(fā)聲音的音調(diào)較高蹦误,大音叉所發(fā)聲音音調(diào)較低胖缤。如果設(shè)法把大阀圾、小音叉所發(fā)出的聲波記錄下來(lái),可發(fā)現(xiàn)小音叉在單位時(shí)間內(nèi)振動(dòng)的次數(shù)多涡真,即頻率高,大音叉在單位時(shí)間內(nèi)振動(dòng)的次數(shù)少缸剪,即頻率低东亦。給出了兩個(gè)頻率不同的聲音波形典阵,從聲音可聽(tīng)出,頻率高的聲音波形聽(tīng)起來(lái)音調(diào)較高嫉鲸,而頻率低的聲音波形聽(tīng)起來(lái)則音調(diào)較低歹啼。

音色:音色是人們區(qū)別具有同樣響度、同樣音調(diào)的兩個(gè)聲音之所以不同的特性藤树,或者說(shuō)是人耳對(duì)各種頻率拓萌、各種強(qiáng)度的聲波的綜合反應(yīng)司志。音色與聲波的振動(dòng)波形有關(guān)降宅,或者說(shuō)與聲音的頻譜結(jié)構(gòu)有關(guān)。前面說(shuō)過(guò)激才,音叉可產(chǎn)生一個(gè)單一頻率的聲波额嘿,其波形為正弦波册养。但實(shí)際上人們?cè)谧匀唤缰新?tīng)到的絕大部分聲音都具有非常復(fù)雜的波形,這些波形由基波和多種諧波構(gòu)成靠闭。諧波的多少和強(qiáng)弱構(gòu)成了不同的音色。各種發(fā)聲物體在發(fā)出同一音調(diào)聲音時(shí)拦键,其基波成分相同檩淋。但由于諧波的多少不同蟀悦,并且各次諧波的幅度各異,因而產(chǎn)生了不同的音色莲镣。例如當(dāng)我們聽(tīng)胡琴和揚(yáng)琴等樂(lè)器同奏一個(gè)曲子時(shí)涎拉,雖然它們的音調(diào)相同鼓拧,但我們卻能把不同樂(lè)器的聲音區(qū)別開(kāi)來(lái)。這是因?yàn)榕ヌ牵鞣N樂(lè)器的發(fā)音材料和結(jié)構(gòu)不同酌住,它們發(fā)出同一個(gè)音調(diào)的聲音時(shí),雖然基波相同消痛,但諧波構(gòu)成不同都哭,因此產(chǎn)生的波形不同欺矫,從而造成音色不同。給出了小提琴和鋼琴的波形和聲音脸爱,這兩個(gè)聲音的響度和音調(diào)都是相同的未妹,但聽(tīng)起來(lái)卻不一樣,這就是因?yàn)檫@兩個(gè)聲音的音色不同(波形不同)捏鱼。

2.2采樣率和采樣大小

聲音其實(shí)是一種能量波导梆,因此也有頻率和振幅的特征,頻率對(duì)應(yīng)于時(shí)間軸線递鹉,振幅對(duì)應(yīng)于電平軸線藏斩。波是無(wú)限光滑的狰域,弦線可以看成由無(wú)數(shù)點(diǎn)組成,由于存儲(chǔ)空間是相對(duì)有限的屈溉,數(shù)字編碼過(guò)程中抬探,必須對(duì)弦線的點(diǎn)進(jìn)行采樣小压。采樣的過(guò)程就是抽取某點(diǎn)的頻率值,很顯然仪搔,在一秒中內(nèi)抽取的點(diǎn)越多溉痢,獲取得頻率信息更豐富孩饼,**為了復(fù)原波形竹挡,一次振動(dòng)中,必須有2個(gè)點(diǎn)的采樣**梯码,人耳能夠感覺(jué)到的最高頻率為20kHz轩娶,因此要滿足人耳的聽(tīng)覺(jué)要求,則需要至少每秒進(jìn)行40k次采樣闯捎,用40kHz表達(dá)许溅,這個(gè)40kHz就是采樣率贤重。我們常見(jiàn)的CD,采樣率為44.1kHz祭犯。光有頻率信息是不夠的借卧,我們還必須獲得該頻率的能量值并量化铐刘,用于表示信號(hào)強(qiáng)度。量化電平數(shù)為2的整數(shù)次冪檩禾,我們常見(jiàn)的CD位16bit的采樣大小疤祭,即2的16次方勺馆。采樣大小相對(duì)采樣率更難理解,因?yàn)橐@得抽象點(diǎn)灌灾,舉個(gè)簡(jiǎn)單例子:假設(shè)對(duì)一個(gè)波進(jìn)行8次采樣悲柱,采樣點(diǎn)分別對(duì)應(yīng)的能量值分別為A1-A8,但我們只使用2bit的采樣大小段标,結(jié)果我們只能保留A1-A8中4個(gè)點(diǎn)的值而舍棄另外4個(gè)炉奴。如果我們進(jìn)行3bit的采樣大小盆佣,則剛好記錄下8個(gè)點(diǎn)的所有信息。采樣率和采樣大小的值越大虑灰,記錄的波形更接近原始信號(hào)痹兜。

2.3有損和無(wú)損

根據(jù)采樣率和采樣大小可以得知字旭,相對(duì)自然界的信號(hào),音頻編碼最多只能做到無(wú)限接近拍柒,至少目前的技術(shù)只能這樣了屈暗,相對(duì)自然界的信號(hào)养叛,任何數(shù)字音頻編碼方案都是有損的,因?yàn)闊o(wú)法完全還原爽室。在計(jì)算機(jī)應(yīng)用中阔墩,能夠達(dá)到最高保真水平的就是PCM編碼瓶珊,被廣泛用于素材保存及音樂(lè)欣賞,CD筐高、DVD以及我們常見(jiàn)的WAV文件中均有應(yīng)用柑土。因此绊汹,PCM約定俗成了無(wú)損編碼西乖,因?yàn)镻CM代表了數(shù)字音頻中最佳的保真水準(zhǔn),并不意味著PCM就能夠確保信號(hào)絕對(duì)保真薄腻,PCM也只能做到最大程度的無(wú)限接近届案。我們而習(xí)慣性的把MP3列入有損音頻編碼范疇楣颠,是相對(duì)PCM編碼的。強(qiáng)調(diào)編碼的相對(duì)性的有損和無(wú)損弄贿,是為了告訴大家差凹,要做到真正的無(wú)損是困難的豆拨,就像用數(shù)字去表達(dá)圓周率施禾,不管精度多高,也只是無(wú)限接近邮绿,而不是真正等于圓周率的值攀例。

2.4頻率與采樣率的關(guān)系

采樣率表示了每秒對(duì)原始信號(hào)采樣的次數(shù)粤铭,我們常見(jiàn)到的音頻文件采樣率多為44.1KHz,這意味著什么呢酱鸭?假設(shè)我們有2段正弦波信號(hào)凹髓,分別為20Hz和20KHz,長(zhǎng)度均為一秒鐘饵沧,以對(duì)應(yīng)我們能聽(tīng)到的最低頻和最高頻狼牺,分別對(duì)這兩段信號(hào)進(jìn)行40KHz的采樣礼患,我們可以得到一個(gè)什么樣的結(jié)果呢讶泰?結(jié)果是:20Hz的信號(hào)每次振動(dòng)被采樣了40K/20=2000次,而20K的信號(hào)每次振動(dòng)只有2次采樣码泞。顯然余寥,在相同的采樣率下悯森,記錄低頻的信息遠(yuǎn)比高頻的詳細(xì)瓢姻。這也是為什么有些音響發(fā)燒友指責(zé)CD有數(shù)碼聲不夠真實(shí)的原因,CD的44.1KHz采樣也無(wú)法保證高頻信號(hào)被較好記錄绎狭。要較好的記錄高頻信號(hào)儡嘶,看來(lái)需要更高的采樣率恍风,于是有些朋友在捕捉CD音軌的時(shí)候使用48KHz的采樣率,這是不可取的燕鸽!這其實(shí)對(duì)音質(zhì)沒(méi)有任何好處啼辣,對(duì)抓軌軟件來(lái)說(shuō)鸥拧,保持和CD提供的44.1KHz一樣的采樣率才是最佳音質(zhì)的保證之一削解,而不是去提高它氛驮。較高的采樣率只有相對(duì)模擬信號(hào)的時(shí)候才有用矫废,如果被采樣的信號(hào)是數(shù)字的,請(qǐng)不要去嘗試提高采樣率唉铜。

亨利·奈奎斯特(Harry Nyquist)采樣定理:當(dāng)對(duì)連續(xù)變化的信號(hào)波形進(jìn)行采樣時(shí),若采樣率fs高于該信號(hào)所含最高頻率的兩倍,那么可以由采樣值通過(guò)插補(bǔ)技術(shù)正確的回復(fù)原信號(hào)中的波形,否則將會(huì)引起頻譜混疊(Aliasing),產(chǎn)生混疊噪音(Aliasing Noise),而重疊的部分是不能恢復(fù)的.(同樣適用于模擬視頻信號(hào)的采樣)

根據(jù)人聲語(yǔ)音的特點(diǎn),人類的聽(tīng)力感知范圍是從20Hz到20kHz潭流。這個(gè)頻寬范圍被劃分成四個(gè)頻寬類別:窄帶柜去、寬帶嗓奢、超寬帶和全帶股耽。

窄帶(narrowband)普通電話所覆蓋的頻寬豺谈,從300Hz到3.4kHz,對(duì)應(yīng)采樣率6.8kHz厂榛。普通電話的采樣率是8kHz,對(duì)應(yīng)頻寬4kHz辈双,對(duì)于人聲語(yǔ)音是足夠的湃望。

寬帶(wideband)從50Hz到7kH的頻寬证芭,對(duì)應(yīng)采樣率14khz担映,可以很好地捕捉和還原人聲蝇完,然而對(duì)于音樂(lè)聲還是不夠的。這是在人聲語(yǔ)音通話場(chǎng)景下的所謂高清語(yǔ)音氢架。

超寬帶(super-wideband)從50Hz到14kHz朋魔,對(duì)應(yīng)采樣率28kHz达箍,基本可以覆蓋人聲和音樂(lè)聲,對(duì)于非專業(yè)音樂(lè)人的用戶來(lái)說(shuō)铺厨,不管是人聲通話還是音樂(lè)直播缎玫,這樣的頻寬都是足夠的。

全帶(fullband)從20Hz到20kHz解滓,對(duì)應(yīng)40kHz采樣率赃磨,全面覆蓋人類的聽(tīng)覺(jué)范圍,能夠滿足音樂(lè)發(fā)燒友或者專業(yè)音樂(lè)人的需求邻辉。超過(guò)40Hz都可以稱作全帶語(yǔ)音。CD的采樣率就是44.1kHz腮鞍。

因此值骇,窄帶(narrowband)的音質(zhì)是能滿足人聲錄制回放的。

從四個(gè)角度衡量音頻編碼:

成本:開(kāi)發(fā)成本,服務(wù)器流量成本

音質(zhì):

系統(tǒng)影響:對(duì)系統(tǒng)資源的暫用,軟編解碼器比硬編解碼器占用更多cpu

兼容性:對(duì)移動(dòng)端以及web端的兼容

適合產(chǎn)品場(chǎng)景的編碼器具備以下四個(gè)特點(diǎn)

碼率相對(duì)低移国,滿足成本可控的要求吱瘩,一般不要超過(guò)16kbps。一個(gè)sample用1bit就能編好迹缀,那么8kHz采樣率(narrowband)對(duì)應(yīng)8kbps的碼率使碾,16kHz采樣率(wideband)對(duì)應(yīng)16kbps的碼率蜜徽。碼率的本質(zhì)就是成本。

算法復(fù)雜度要比較低票摇,對(duì)系統(tǒng)CPU拘鞋、內(nèi)存和電量消耗少,對(duì)系統(tǒng)影響要盡量低矢门。

音質(zhì)可以適當(dāng)作出犧牲盆色,以保障上面三個(gè)因素,8kHz采樣率對(duì)人聲場(chǎng)景是夠用的祟剔,16kHz采樣率可以提供高清語(yǔ)音隔躲。

兼顧兼容性

3.主流音頻編碼器

音頻編碼格式的比較:https://zh.wikipedia.org/wiki/%E9%9F%B3%E9%A2%91%E7%BC%96%E7%A0%81%E6%A0%BC%E5%BC%8F%E7%9A%84%E6%AF%94%E8%BE%83

下圖列舉一組主流的音頻編解碼器,展示了隨著碼率變化峡扩,音質(zhì)相應(yīng)變化的情況。這是基于編解碼器聽(tīng)音測(cè)試的結(jié)果繪畫出來(lái)的障本,對(duì)選取音頻編解碼器有參考意義教届。根據(jù)上面的分析并且參照下圖,發(fā)現(xiàn)碼率低于16kbps的低碼率人聲編解碼器(speech codecs)包含:Opus(SILK),Speex驾霜,AMR-NB案训,AMR-WB,和iLBC粪糙。

下圖是另外一組主流的音頻編解碼器强霎,展示了隨著碼率的變化,算法延遲時(shí)間相應(yīng)變化的情況蓉冈。根據(jù)上面的分析并且參照下圖城舞,發(fā)現(xiàn)算法延遲時(shí)間低于60毫秒,碼率低于16kbps的人聲編解碼器(speech codecs)包含:Opus(SILK)寞酿、Speex(NB,WB)家夺、G.729、和G.729.1伐弹。

從圖中我們可以獲得如下幾方面信息:

對(duì)于固定碼率的編碼標(biāo)準(zhǔn):如G.711或者G.722拉馋,圖中采用單點(diǎn)表示,說(shuō)明這兩個(gè)編碼標(biāo)準(zhǔn)是固定碼率編碼標(biāo)準(zhǔn)惨好。其他如Opus煌茴、Speex,它們的曲線是連續(xù)的日川,說(shuō)明這類編碼標(biāo)準(zhǔn)是可變碼率的編碼標(biāo)準(zhǔn)蔓腐。

從頻帶方面看:G.711、G.722龄句、AMR和iLBC等標(biāo)準(zhǔn)適用于narrowband(8khz采樣率)和wideband(16khz采樣率)范圍合住,針對(duì)普通的語(yǔ)音通話場(chǎng)景绰精。AAC和MP3適用于fullband(48khz采樣率)范圍,針對(duì)特殊的音樂(lè)場(chǎng)景透葛。而Opus適用于整個(gè)頻帶笨使,可以進(jìn)行最大范圍的動(dòng)態(tài)調(diào)節(jié),適用范圍最廣僚害。

從標(biāo)準(zhǔn)的收費(fèi)情況看:適用于互聯(lián)網(wǎng)傳輸?shù)膇LBC硫椰、Speex和Opus都是免費(fèi)且開(kāi)源的;適用于音樂(lè)場(chǎng)景的MP3和AAC萨蚕,需要license授權(quán)靶草,而且不開(kāi)源。

綜合上面的兩個(gè)圖岳遥,我們可以大致總結(jié)奕翔,比較適合人聲短語(yǔ)音的音頻編解碼器包含Opus(SILK)、Speex(NB,WB)浩蓉、AMR-NB派继、AMR-WB、iLBC捻艳、G.729驾窟、和G.729.1。

碼率采樣率算法延遲

OPUS(SILK)6-12,7-25认轨,

8-30,12-40kbps

8绅络,12,

16嘁字,24kHz

25ms

Speex2.15–24.6 kbps (NB)

4–44.2 kbps (WB)

8, 16,

32, 48kHz

30 ms(NB)

34 ms (WB)

AMR-NB4.75, 5.15, 5.90,

6.70, 7.40, 7.95,

10.20, 12.20 kbps

8kHz25ms (20ms per frame

plus 5ms look-ahead,

20ms for 12.2 kbps)

AMR-WB6.60, 8.85, 12.65,14.25, 15.85, 18.25, 19.85, 23.05, 23.85 kbps16kHz25ms (20ms per frame

plus 5ms look-ahead)

iLBC13.33 kbps

15.20 kbps

8kHz25 ms

40 ms

G.7298kbps8kHz15 ms

G.729.18 kbps,

12–32 kbps

8kHz

16kHz

48.94ms

Codec20.7, 1.2, 1.3, 1.4,

1.6, 2.4, 3.2 kbps

8kHz20–40 ms

(額外增加的恩急,超低碼率)

短語(yǔ)音不同于實(shí)時(shí)語(yǔ)音,可以忽略延遲

上面都是為人聲場(chǎng)景設(shè)計(jì)的低碼率音頻編解碼器,具有碼率低(16kbps以下)纪蜒,算法延遲低(大部分在40ms以下)假栓,和采樣率在8kHz和16kHz之間的特點(diǎn),都可供短語(yǔ)音編碼方案選擇霍掺。其中匾荆,有幾個(gè)語(yǔ)音編解碼器值得在這里稍作介紹:

Opus(SILK)

https://en.wikipedia.org/wiki/Opus_(audio_format)

完全開(kāi)源而且免費(fèi),包含了SILK杆烁、CELT牙丽、以及兩者的混合模式,是目前最為兼容并包的音頻編解碼器兔魂。在處理窄帶和寬帶人聲語(yǔ)音(speech)的時(shí)候烤芦,采用SILK; 在處理超寬帶和全帶音樂(lè)聲音(music)的時(shí)候,采用CELT析校。在人聲和音樂(lè)聲混合的場(chǎng)景中构罗,甚至可以智能切換兩個(gè)編解碼器铜涉。WebRTC就采用了Opus作為語(yǔ)音編解碼器。而SILK是Skype網(wǎng)絡(luò)電話所用的語(yǔ)音編解碼器遂唧。Opus真可謂是久經(jīng)考驗(yàn)的名門精品芙代。根據(jù)即構(gòu)科技的測(cè)試結(jié)果,Opus雖然在音樂(lè)場(chǎng)景中表現(xiàn)并非首選盖彭,但是在人聲場(chǎng)景中表現(xiàn)十分出色纹烹。

iLBC

完全開(kāi)源而且免費(fèi)的,由GIPS開(kāi)發(fā)并被IETF標(biāo)準(zhǔn)化召边,曾經(jīng)被QQ和Skype使用過(guò)铺呵,現(xiàn)在被WebRTC使用,是被世界頂級(jí)產(chǎn)品證明過(guò)的窄帶實(shí)時(shí)語(yǔ)音編解碼器隧熙。iLBC能夠通過(guò)平滑降低語(yǔ)音質(zhì)量的方式來(lái)處理IP網(wǎng)絡(luò)丟包片挂。由于iLBC的語(yǔ)音幀塊之間是相互獨(dú)立的,在丟幀出現(xiàn)的時(shí)候也不會(huì)導(dǎo)致錯(cuò)誤蔓延贞盯,因此具有較強(qiáng)的抗丟包能力音念。在窄帶應(yīng)用環(huán)境中,iLBC具有延遲低邻悬,無(wú)斷續(xù)或雜音的特點(diǎn)症昏,通話效果可以和移動(dòng)電話媲美随闽。

Speex

免費(fèi)的人聲音頻編解碼器父丰。因?yàn)镾peex是為VoIP專門設(shè)計(jì)的,所以Speex對(duì)IP網(wǎng)絡(luò)有很強(qiáng)的抗丟包能力掘宪。為了達(dá)到這個(gè)目的蛾扇,Speex采用了CELP算法。市場(chǎng)上狼人殺產(chǎn)品的游戲?qū)崟r(shí)語(yǔ)音技術(shù)魏滚,廠商自研的方案采用了Speex镀首。

Codec2

開(kāi)源并且專利免費(fèi),碼率超低的人聲語(yǔ)音編解碼器鼠次。碼率在0.7 kbps至3.2 kbps更哄。Codec2填補(bǔ)了開(kāi)源編碼器在5 kbps碼率以下的空白。

評(píng)估音頻編碼指標(biāo),除碼率腥寇、采樣率成翩、和算法延遲以外,還要參考MOS赦役、VBR/CBR麻敌、和基礎(chǔ)算法等。其中掂摔,MOS (Mean Opinion Score)是語(yǔ)音編解碼器的主觀評(píng)估指標(biāo)术羔。MOS是一個(gè)廣為接受的有統(tǒng)計(jì)意義的主觀聽(tīng)音指標(biāo)赢赊。上面音視頻編解碼器的列表沒(méi)有把它包含進(jìn)去,是因?yàn)橥粋€(gè)編解碼器级历,在不同碼率下释移,表現(xiàn)出來(lái)的MOS值是會(huì)變化的。對(duì)一個(gè)音頻編解碼器給出一個(gè)固定的MOS值鱼喉,反而會(huì)起誤導(dǎo)的作用秀鞭。另外,雖然MOS值已經(jīng)是主觀的聽(tīng)覺(jué)測(cè)試評(píng)估結(jié)果扛禽,但是音頻工程師在選用音頻編解碼器的時(shí)候锋边,還要以自己親身的聽(tīng)感作為最終的依據(jù)。

下圖是Nokia在2011年的時(shí)候?qū)pus编曼、AMR豆巨、和G.722.1C等音頻編解碼器在無(wú)噪音和有噪音的環(huán)境里做的MOS語(yǔ)音測(cè)試的結(jié)果。我們可以從語(yǔ)音測(cè)試的結(jié)果看出:

1)MOS值會(huì)隨著碼率變化掐场。固定的MOS值并沒(méi)有絕對(duì)的參考意義往扔。

2)在低碼率情況下,AMR-NB和AMR-WB都表現(xiàn)相對(duì)出色熊户。

參考:

1.Getting Started with Audio & Video:https://developer.apple.com/library/content/referencelibrary/GettingStarted/GS_MusicAudio/_index.html

2.Opus ios:https://github.com/chrisballinger/Opus-iOS

3.android opus:https://gitlab.com/axet/android-opus

4.opus_android:https://github.com/louisyonge/opus_android

5.opuscodec:https://github.com/martoreto/opuscodec

6.與大家討論如何用opencore amr在iOS上decode:https://blog.csdn.net/devday/article/details/6804553

7. ios支持https://developer.apple.com/library/archive/documentation/MusicAudio/Conceptual/CoreAudioOverview/CoreAudioEssentials/CoreAudioEssentials.html#//apple_ref/doc/uid/TP40003577-CH10-SW13

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末萍膛,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子嚷堡,更是在濱河造成了極大的恐慌蝗罗,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,607評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蝌戒,死亡現(xiàn)場(chǎng)離奇詭異串塑,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)北苟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,239評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門桩匪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人友鼻,你說(shuō)我怎么就攤上這事傻昙。” “怎么了彩扔?”我有些...
    開(kāi)封第一講書人閱讀 164,960評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵妆档,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我借杰,道長(zhǎng)过吻,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,750評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮纤虽,結(jié)果婚禮上乳绕,老公的妹妹穿的比我還像新娘。我一直安慰自己逼纸,他們只是感情好洋措,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,764評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著杰刽,像睡著了一般菠发。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上贺嫂,一...
    開(kāi)封第一講書人閱讀 51,604評(píng)論 1 305
  • 那天滓鸠,我揣著相機(jī)與錄音,去河邊找鬼第喳。 笑死糜俗,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的曲饱。 我是一名探鬼主播悠抹,決...
    沈念sama閱讀 40,347評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼扩淀!你這毒婦竟也來(lái)了楔敌?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,253評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤驻谆,失蹤者是張志新(化名)和其女友劉穎卵凑,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體旺韭,經(jīng)...
    沈念sama閱讀 45,702評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡氛谜,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,893評(píng)論 3 336
  • 正文 我和宋清朗相戀三年掏觉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了区端。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,015評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡澳腹,死狀恐怖织盼,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情酱塔,我是刑警寧澤沥邻,帶...
    沈念sama閱讀 35,734評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站羊娃,受9級(jí)特大地震影響唐全,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,352評(píng)論 3 330
  • 文/蒙蒙 一邮利、第九天 我趴在偏房一處隱蔽的房頂上張望弥雹。 院中可真熱鬧,春花似錦延届、人聲如沸剪勿。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,934評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)厕吉。三九已至,卻和暖如春械念,著一層夾襖步出監(jiān)牢的瞬間头朱,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,052評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工龄减, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留髓窜,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,216評(píng)論 3 371
  • 正文 我出身青樓欺殿,卻偏偏與公主長(zhǎng)得像寄纵,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子脖苏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,969評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 前言: 記載資料多為網(wǎng)絡(luò)搜集程拭,侵刪。 根據(jù)最近接觸的整機(jī)項(xiàng)目做了一些整機(jī)音頻相關(guān)基礎(chǔ)知識(shí)的總結(jié)棍潘,如有不足或表述問(wèn)題...
    Gawain_Knowknow閱讀 8,154評(píng)論 0 4
  • 一恃鞋、聲音的三要素 1.音調(diào) 人耳對(duì)聲音高低的感覺(jué)稱為音調(diào)(也叫音頻)。音調(diào)主要與聲波的頻率有關(guān)亦歉。聲波的頻率高恤浪,則音...
    一葉知秋0830閱讀 15,383評(píng)論 0 10
  • 音頻的基礎(chǔ)知識(shí) 1采樣和采樣頻率: 現(xiàn)在是數(shù)字時(shí)代,在音頻處理時(shí)要先把音頻的模擬信號(hào)變成數(shù)字信號(hào)肴楷,這叫A/D轉(zhuǎn)換水由。...
    FisherTige_f2ef閱讀 3,579評(píng)論 1 13
  • 音頻技術(shù)開(kāi)發(fā),我們得對(duì)聲音有所了解赛蔫,掌握音頻的基礎(chǔ)知識(shí)砂客,這才能更好地去做技術(shù)開(kāi)發(fā)。首先介紹音頻基礎(chǔ)知識(shí)呵恢,然后介紹音...
    安仔夏天勤奮閱讀 7,454評(píng)論 3 18
  • 摘要 該配置文件定義了支持高質(zhì)量音頻分發(fā)所需的Bluetooth?設(shè)備的要求鞠值。這些要求以終端用戶服務(wù)的方式表達(dá),并...
    公子小水閱讀 9,710評(píng)論 0 4