AMR音频格式分析
AMR音頻格式分析
2016年10月19日 19:58:24?-鳴人-?閱讀數:5058?標簽:?amr audio?更多
個人分類:?audio語音
一.??AMR音頻格式概述
AMR,全稱是:Adaptive Multi-Rate,自適應多速率,是一種音頻編碼文件格式,專用于有效地壓縮語音頻率。
AMR音頻主要用于移動設備的音頻壓縮,壓縮比非常高,但是音質比較差,主要用于語音類的音頻壓縮,不適合對音質要求較高的音樂類音頻的壓縮。
1.1???AMR分類
1.????????AMR:
又稱為AMR-NB,相對于下面的WB而言,
語音帶寬范圍:300-3400Hz,
8KHz抽樣
?
2.???????AMR-WB:
AMR WideBand,
????????語音帶寬范圍:?50-7000Hz
??????? 16KHz抽樣
?
“AMR-WB”全稱為“Adaptive Multi-rate - Wideband”,即“自適應多速率寬帶編碼”,采樣頻率為16kHz,是一種同時被國際標準化組織ITU-T和3GPP采用的寬帶語音編碼標準,也稱?為G722.2標準。AMR-WB提供語音帶寬范圍達到50~7000Hz,用戶可主觀感受到話音比以前更加自然、舒適和易于分辨。
與之作比較,現在GSM用的EFR(Enhenced Full Rate,增強型全速率編碼)采樣頻率為8kHz,語音帶寬為200~3400Hz。
AMR-WB應用于窄帶GSM(全速信道16k,GMSK)的優勢在于其可采用從6.6kb/s, 8.85kb/s和12.65kb/s三種編碼,當網絡繁忙時C/I惡化,編碼器可以自動調整編碼模式,從而增強QoS。在這種應用中,AMR-WB抗擾?度優于AMR-NB。
AMR-WB應用于EDGE、3G可充分體現其優勢。足夠的傳輸帶寬保證AMR-WB可采用從6.6kb/s到23.85kb/s共九種編碼,語音質量超越PSTN固定電話。
1.2???AMR編碼方式
1.?AMR-NB編碼方式
AMR?一共有16種編碼方式,?0-7對應8種不同的編碼方式,?8-15?用于噪音或者保留用:
| Frame Type | Mode Indication | Mode Request | Frame content (AMR mode, comfort noise, or other) |
| 0 | 0 | 0 | AMR 4,75 kbit/s |
| 1 | 1 | 1 | AMR 5,15 kbit/s |
| 2 | 2 | 2 | AMR 5,90 kbit/s |
| 3 | 3 | 3 | AMR 6,70 kbit/s (PDC-EFR) |
| 4 | 4 | 4 | AMR 7,40 kbit/s (TDMA-EFR) |
| 5 | 5 | 5 | AMR 7,95 kbit/s |
| 6 | 6 | 6 | AMR 10,2 kbit/s |
| 7 | 7 | 7 | AMR 12,2 kbit/s (GSM-EFR) |
| 8 | - | - | AMR SID |
| 9 | - | - | GSM-EFR SID |
| 10 | - | - | TDMA-EFR SID |
| 11 | - | - | PDC-EFR SID |
| 12-14 | - | - | For future use |
| 15 | - | - | No Data (No transmission/No reception) |
2.?AMR-WB編碼方式
| Frame Type Index | Mode Indication | Mode Request | Frame content (AMR-WB mode, comfort noise, or other) |
| 0 | 0 | 0 | AMR-WB 6.60 kbit/s |
| 1 | 1 | 1 | AMR-WB 8.85 kbit/s |
| 2 | 2 | 2 | AMR-WB 12.65 kbit/s |
| 3 | 3 | 3 | AMR-WB 14.25 kbit/s |
| 4 | 4 | 4 | AMR-WB 15.85 kbit/s |
| 5 | 5 | 5 | AMR-WB 18.25 kbit/s |
| 6 | 6 | 6 | AMR-WB 19.85 kbit/s |
| 7 | 7 | 7 | AMR-WB 23.05 kbit/s |
| 8 | 8 | 8 | AMR-WB 23.85 kbit/s |
| 9 | - | - | AMR-WB SID (Comfort Noise Frame) |
| 10-13 | - | - | For future use |
| 14 | - | - | speech lost |
| 15 | - | - | No Data (No transmission/No reception) |
?
說明:
l??比特率是指將數字聲音由模擬格式轉化成數字格式的采樣率,采樣率越高,還原后的音質就越好。
?
l??比特率值與現實音頻對照:
16kbps=電話音質
24kbps=增加電話音質、短波廣播、長波廣播、歐洲制式中波廣播
40kbps=美國制式中波廣播
56kbps=話音
64kbps=增加話音(手機鈴聲最佳比特率設定值、手機單聲道MP3播放器最佳設定值)
112kbps=FM調頻立體聲廣播
128kbps=磁帶(手機立體聲MP3播放器最佳設定值、低檔MP3播放器最佳設定值)
160kbps=HIFI高保真(中高檔MP3播放器最佳設定值)
192kbps=CD(高檔MP3播放器最佳設定值)
256kbps=Studio音樂工作室(音樂發燒友適用)
?
l??音頻數據幀大小的計算:
amr?一幀對應20ms,那么一秒有50幀的音頻數據。由于比特率不同,每幀的數據大小也不同。
如果比特率是12.2kbs,那么每秒采樣的音頻數據位數為:
12200 / 50 = 244bit = 30.5byte,取整為31字節。
取整要四舍五入。
再加上一個字節的幀頭,這樣數據幀的大小為32字節。
二.??AMR音頻格式剖析
AMR文件格式如下所示:
| Header(文件頭) |
| Speech frame 1(語音幀1) |
| … |
| Speech fram n(語音幀n) |
它包含一個文件頭,然后就是一幀一幀的AMR數據了。
具體如下:
?
?
2.1 AMR文件頭
AMR?文件支持單聲道和多聲道。單聲道和多聲道的文件頭是不同的。單聲道(AMR-NB)只包含一個Magic number;多聲道(AMR-WB)包含Magic number和一個32位的Chanel description field,多聲道情況下的32位通道描述字符,前28位都是保留字符,必須設置成0,最后4位說明使用的聲道個數。多聲道文件頭長度比單聲道文件頭長度大4個字節。
1.?????單聲道:
?AMR-NB文件頭:?"#!AMR\n" (or 0x2321414d520a in hexadecimal)(引號內的部分)
?AMR-WB?文件頭:"#!AMR-WB\n" (or 0x2321414d522d57420a in hexadecimal).(引號內)
2.?????多聲道:
多聲道的文件頭包含一個magic number和32bit channle description域。
| Magic number |
| Chan-desc field |
AMR-NB?的magic number:"#!AMR_MC1.0\n"
(or 0x2321414d525F4D43312E300a in hexadecimal).
AMR-WB的magic number:"#!AMR-WB_MC1.0\n"
(or 0x2321414d522d57425F4D43312E300a in hexadecimal).
32bit的channel description域的定義如下:
?
?
其中?reserved bits必須為0,?CHAN:表示當前文件中含有幾個聲道。
總結
- 上一篇: [转]Java实现的求解经典罗马数字和阿
- 下一篇: 20001数的表示