2016-07-29 11 views
1

Ich versuche, MP3-Dateien mit NAudio zu normalisieren, aber ich weiß nicht, wie das geht.NAudio Normalisieren Audio

Die erste habe ich die MP3-Datei in PCM-Umwandlung:

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

Aber was ist der nächste Schritt? Leider habe ich nichts im Netz gefunden.

Danke für Ihre Hilfe

+0

Mögliches Duplikat von [Naudio-Sound normalisieren] (http://StackOverflow.com/questions/9802461/Naudio-Sound-Normalize) – bassfader

Antwort

1

ich NAudio neu bin, so dass ich weiß nicht genau, wie diese codieren, aber ich weiß, dass die Normalisierung einer Audiodatei erfordert zwei Durchgänge durch die Daten. Der erste Durchlauf besteht darin, die maximalen und minimalen Datenwerte zu bestimmen, die in der Datei enthalten sind. Sie müssten also jeden Datenpunkt scannen und die maximalen und minimalen Datenpunkte bestimmen (und für beide Kanäle, falls Stereo vorhanden ist). Wenn Sie dann den höchsten maximalen oder niedrigsten Wert (den höchsten absoluten Wert) ermittelt haben, berechnen Sie diesen Wert als Prozentsatz von Full Scale (der höchste oder niedrigste mögliche Wert für den Bitstream, z. B. bei 16-Bit-Audio 32767 oder -32768). Sie erhöhen dann die Lautstärke um den prozentualen Unterschied.

So haben Sie beispielsweise bei Ihrem Scan-Durchlauf festgestellt, dass der höchste Wert in einer 16-Bit-Monodatei 29000 ist. Sie würden dann das Volumen um 112,989 Prozent erhöhen, sodass die maximale Stichprobe von 29000 auf 32767 erhöht wird andere Proben werden entsprechend erhöht.