help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Audio Compressor


From: Renato S. Yamane
Subject: Re: Audio Compressor
Date: Tue, 18 Aug 2020 15:28:43 +0100

Em ter., 18 de ago. de 2020 às 15:12, Doug Stewart <doug.dastew@gmail.com> escreveu:
On Tue, Aug 18, 2020 at 9:41 AM Renato S. Yamane <renatoyamane@gmail.com> wrote:
Is there an Audio Compressor available in Octave?

I'm compressing my noises in the worst way, as you can see in the "while" condition on the example below.

In my way, the peaks will be "clipped", and I would like to avoid my stupid workaround:

====================
crest_factor = 6;
typenoise = noise(10*44100, 1, 'pink');
[z, p, k] = butter(4, [100/(44100/2), 500/(44100/2)]);
sos = zp2sos (z, p, k);
filtered = sosfilt(sos, typenoise);
normalized = filtered / (rms(filtered) / 10^(-crest_factor/20));

#{
Now I'm making an stupid workaround, as the audio file must be in
a range from -1 to +1:
#}

while (normalized(normalized > 1) || normalized(normalized < -1))
  normalized(normalized > 1) = 1;
  normalized(normalized < -1) = -1;
  normalized = normalized / (rms(normalized) / 10^(-crest_factor/20));
endwhile

audiowrite ('AudioFile.wav', normalized, 44100);
  ==================== 
 
There are many ways to do Audio Compression.
Tell us more about what you want to accomplish.

Hi, thanks for your feedback.
I just need to the user define the crest factor (first line of the code above) and the script must generate the noise (wav file) with the respective crest factor without clipping.
I'm expecting the user define the Crest Factor between -6 to -12dB.

Many thanks,
Renato

reply via email to

[Prev in Thread] Current Thread [Next in Thread]