Open pseeth opened 4 years ago
SoX reverb doesn't play well with clipped signals, but we currently don't have a unit test for this. We should add one.
Here's a script using nussl and SoxBindings to show the issue (run in a notebook):
import soxbindings as sox import copy data = nussl.AudioSignal( nussl.efz_utils.download_audio_file('marimba_timbre.mp3') ) data.peak_normalize() original = copy.deepcopy(data) print('Original') original.embed_audio() clip = original * 10.0 print('Clipping (WARNING: Volume)') clip.embed_audio() tfm = sox.Transformer() tfm.reverb(100) out = tfm.build_array( input_array=clip.audio_data.T, sample_rate_in=clip.sample_rate ) out = clip.make_copy_with_audio_data(out.T) print('Clipping + reverb') out.embed_audio() out.peak_normalize() print('Peak normalized clipping + reverb') out.embed_audio() tfm = sox.Transformer() tfm.reverb(100) out = tfm.build_array( input_array=original.audio_data.T, sample_rate_in=original.sample_rate ) out = original.make_copy_with_audio_data(out.T) print('Original + reverb') out.embed_audio()
SoX reverb doesn't play well with clipped signals, but we currently don't have a unit test for this. We should add one.
Here's a script using nussl and SoxBindings to show the issue (run in a notebook):