multiple .wav files, different playback volumes
5 次查看(过去 30 天)
显示 更早的评论
I have about 250 .wav audio files which have different volumes during playback. I assume this difference is a result of moving the microphone during recordings.
Is there a way of altering the soundfile itself so that all of the files play at a similar volume.
Thanks
0 个评论
采纳的回答
Steven Van Vaerenbergh
2016-10-5
You should normalize the sounds so they have the same overall power (per time step).
For example, normalize to power 1 (per sample):
x = audioread(filename);
x = x/sqrt(mean(x.^2));
When you play the normalized sounds through the sound(), each sound should appear to have a similar volume.
In order to avoid distortions you may normalize to a smaller power though, e.g.
x = x/sqrt(mean(x.^2))/10;
If you want something more sophisticated you may have a look at dynamic range compression, though this kind of technique will modify the waveform unrecoverably.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Using audio files 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!