«Нормализация» аудиофайлов, как правило, не очень хорошая идея, поскольку, если на полной громкости есть только один сэмпл, он не будет иметь никакого эффекта. Лучшим подходом было бы запустить компрессор динамического диапазона для аудио.
В Skype Voice Changer Я написал пример кода, который использует NAudio и пропускает звук через компрессоры динамического диапазона. Однако, как уже говорили, NAudio не может напрямую использоваться в Silverlight из-за взаимодействия. Но вы должны быть в состоянии скопировать WaveFileReader, WaveFormat и WaveFileWriter и скомпилировать их без необходимости вносить слишком много изменений кода. Кроме того, вы не сможете использовать механизм WaveBuffer для приведения между массивами байтов и шортами / числами с плавающей запятой, поэтому вам нужно выполнить преобразование медленным способом (например, используя BitConverter ).