2011-03-06 31 views
1

如何上採樣AMR音頻數據。 amr文件由6個字節的頭部 - 「!#AMR」.getBytes()組成,之後有32bytes的幀,每個幀包含1個字節的頭部和31個字節的音頻。我應該怎樣升級它?我讀到了線性插值,但我不知道如何在這裏應用它。 我應該在不同的幀之間插入還是在幀中的字節之間插入? 任何幫助將不勝感激:)AMR - 如何上採樣

回答

1

您需要將AMR數據轉換爲原始PCM緩衝區,對PCM緩衝區進行重新採樣,然後可選擇將其轉換回AMR。

+0

所以不可能直接上採樣amr?那很糟。你可以給我一些關於如何上取樣pcm的資料,也許可以提供pcm數據的結構?謝謝。 – 2011-03-06 18:45:46

+0

@gosho:PCM數據是一個連續的線性採樣值的原始緩衝區。您可以將任何標準上採樣算法應用於此數據,然後您將擁有更大的輸出緩衝區,您可以將其轉換回AMR數據。我想知道:你真的是指* upsample *?上採樣意味着提高採樣率,同時保留原始採樣數據 - 這真的是你想要做的嗎?在AMR數據的背景下,這似乎沒有多大意義? – 2011-03-06 19:00:55

+0

@Paul R嗯,這是我的事情。我正在爲移動設備製作voip應用程序,並從一臺設備捕獲AMR音頻,將其封裝在數據報中併發送到播放它的其他設備。我的問題是音頻播放器有一些內部緩衝區(無法控制),在播放音頻之前需要填充該緩衝區。這會導致2秒的延遲,其餘的代碼(網絡和其他東西)足夠快。所以我的想法是上樣(在接收設備上),從而爲玩家的緩衝區創建更多數據。在這裏上升採樣是一個好方法。 – 2011-03-06 19:16:10