Audio Perturbators¶
All audio-specific perturbators derive from the BlackboxAudioPerturbator class. They take a numpy array (audio signal)
and the sample rate as input and return a numpy array (perturbed audio signal).
AudioBackgroundWhiteNoisePerturbator¶
The AudioBackgroundWhiteNoisePerturbator adds white noise to the input signal.
The probability distribution passed to the class during instantiation is used to determine the amount of noise added to the signal.
Usage¶
from insynth.perturbators.audio import AudioBackgroundWhiteNoisePerturbator
import librosa
from scipy.stats import norm
perturbator = AudioBackgroundWhiteNoisePerturbator(noise_prob=norm, noise_prob_args={'loc': 0.2, 'scale': 0.2})
audio, sample_rate = librosa.load('audio.wav')
perturbed_im = perturbator.apply((audio, sample_rate))
Result¶
AudioCompressionPerturbator¶
The AudioCompressionPerturbator adds compression artifacts to the input signal.
The probability distribution passed to the class during instantiation is used to determine the amount of compression artifacts added to the signal.
Usage¶
from insynth.perturbators.audio import AudioCompressionPerturbator
import librosa
from scipy.stats import norm
perturbator = AudioCompressionPerturbator(compression_prob=norm, compression_prob_args={'loc': 80, 'scale': 40})
audio, sample_rate = librosa.load('audio.wav')
perturbed_im = perturbator.apply((audio, sample_rate))
Result¶
AudioPitchPerturbator¶
The AudioPitchPerturbator changes the pitch of the input signal.
The probability distribution passed to the class during instantiation is used to determine how much the pitch is changed.
Usage¶
from insynth.perturbators.audio import AudioPitchPerturbator
import librosa
from scipy.stats import norm
perturbator = AudioPitchPerturbator(pitch_prob=norm, pitch_prob_args={'loc': 0, 'scale': 8})
audio, sample_rate = librosa.load('audio.wav')
perturbed_im = perturbator.apply((audio, sample_rate))
Result¶
AudioClippingPerturbator¶
The AudioClippingPerturbator clips the input signal.
The probability distribution passed to the class during instantiation is used to determine how much the signal is clipped.
Usage¶
from insynth.perturbators.audio import AudioClippingPerturbator
import librosa
from scipy.stats import norm
perturbator = AudioClippingPerturbator(clipping_prob=norm, clipping_prob_args={'loc': 20, 'scale': 30})
audio, sample_rate = librosa.load('audio.wav')
perturbed_im = perturbator.apply((audio, sample_rate))
Result¶
AudioVolumePerturbator¶
The AudioVolumePerturbator changes the volume of the input signal.
The probability distribution passed to the class during instantiation is used to determine how much the volume is changed.
Usage¶
from insynth.perturbators.audio import AudioVolumePerturbator
import librosa
from scipy.stats import norm
perturbator = AudioVolumePerturbator(volume_prob=norm, volume_prob_args={'loc': 0, 'scale': 10})
audio, sample_rate = librosa.load('audio.wav')
perturbed_im = perturbator.apply((audio, sample_rate))
Result¶
AudioEchoPerturbator¶
The AudioEchoPerturbator adds echo to the input signal.
The probability distribution passed to the class during instantiation is used to determine how large the delay of the added echo is.
Usage¶
from insynth.perturbators.audio import AudioEchoPerturbator
import librosa
from scipy.stats import norm
perturbator = AudioEchoPerturbator(echo_prob=norm, echo_prob_args={'loc': 0.3, 'scale': 0.1})
audio, sample_rate = librosa.load('audio.wav')
perturbed_im = perturbator.apply((audio, sample_rate))
Result¶
AudioShortNoisePerturbator¶
The AudioShortNoisePerturbator adds short background noise to the input signal.
The noise_types parameter passed to the class during instantiation determines which noise types are added to the signal (chosen randomly).
They are used as the directory names to search noise files from under data/audio/background_noise/.
Usage¶
from insynth.perturbators.audio import AudioShortNoisePerturbator
import librosa
perturbator = AudioShortNoisePerturbator()
audio, sample_rate = librosa.load('audio.wav')
perturbed_im = perturbator.apply((audio, sample_rate))
Result¶
AudioBackgroundNoisePerturbator¶
The AudioBackgroundNoisePerturbator adds background noise to the input signal.
The noise_types parameter passed to the class during instantiation determines which noise types are added to the signal (chosen randomly).
They are used as the directory names to search noise files from under data/audio/background_noise/.
Usage¶
from insynth.perturbators.audio import AudioBackgroundNoisePerturbator
import librosa
perturbator = AudioBackgroundNoisePerturbator()
audio, sample_rate = librosa.load('audio.wav')
perturbed_im = perturbator.apply((audio, sample_rate))
Result¶
AudioImpulseResponsePerturbator¶
The AudioImpulseResponsePerturbator convolves the input signal with an impulse response.
The impulse_types parameter passed to the class during instantiation determines which impulse response types the signal is convolved with.
They are used as the directory names to search noise files from under data/audio/pulse_response/.
Usage¶
from insynth.perturbators.audio import AudioImpulseResponsePerturbator
import librosa
perturbator = AudioImpulseResponsePerturbator()
audio, sample_rate = librosa.load('audio.wav')
perturbed_im = perturbator.apply((audio, sample_rate))