Re: Audio Compressor
Doug Stewart <[email protected]>
| Newsgroups | gmane.comp.gnu.octave.general |
|---|---|
| Message-ID | <CAAohRsZHcVyps7h7xhS=e8r+XHiDZ4WcBPiyXmviRPNq44kfVw@mail.gmail.com> |
On Tue, Aug 18, 2020 at 9:41 AM Renato S. Yamane <[email protected]> wrote: > Hi, > > Is there an Audio Compressor available in Octave? > https://www.mathworks.com/help/audio/ref/compressor-system-object.html > > 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); > ==================== > > Thanks in advance, > Renato > > There are many ways to do Audio Compression. Tell us more about what you want to accomplish. -- DAS[image: Certificate for 206392] <https://linuxcounter.net/user/206392.html>