2016-07-29 93 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,并且所有其他样本也相应增加。