2016-07-29 109 views
1

我想用NAudio標準化Mp3文件,但我不知道該怎麼做。NAudio標準化音頻

首先我是在的MP3文件轉換爲PCM:

using (Mp3FileReader fr = new Mp3FileReader(mp3.getPathWithFilename())) { 
    using (WaveStream pcm = WaveFormatConversionStream.CreatePcmStream(fr)) { 
     WaveFileWriter.CreateWaveFile("test.wav", pcm); 
    } 
} 

但是,什麼是下一個步驟?不幸的是我沒有在網上找到任何東西。

感謝您的幫助

+0

[Naudio sound normalize]的可能重複(http://stackoverflow.com/questions/9802461/naudio-sound-normalize) – bassfader

回答

1

我是新來的n音訊,所以我不知道究竟如何代碼,但我確實知道的音頻文件的正常化需要通過數據兩遍。第一步是確定文件中包含的最大和最小數據值 - 因此您必須掃描每個數據點並確定最大和最小數據點(以及兩個通道(如果是立體聲))。然後,在確定最高最高值或最低最低值(以絕對值最高者爲準)時,可以將該值計算爲滿量程的百分比(比特流的最高或最低可能值,例如16位音頻爲32767或-32768)。然後您通過百分比的差異增加音量。

因此,例如在掃描過程中,您發現16位單聲道文件中的最高值爲29000,然後將音量增加112.989%,以便將最大樣本從29000增加到32767,並且所有其他樣本也相應增加。