This project implements several audio effects in MATLAB, providing simple, easy-to-use functions for audio processing. Each effect simulates a unique aspect of sound design, enhancing audio signals creatively.
Adds depth and realism by simulating natural sound reflections in an environment.
function reverbSignal = customReverberator(inputSignal, Fs, reverbTime, wetDryMix)
- inputSignal: Input audio signal.
- Fs: Sampling frequency.
- reverbTime: Time for reflections to decay.
- wetDryMix: Ratio of processed to original signal.
Produces a rich, shimmering sound by blending delayed and pitch-modulated copies of the input.
function chorusSignal = customChorus(inputSignal, Fs, depth, rate, wetDryMix)
- depth: Maximum delay depth in seconds.
- rate: Modulation speed in Hz.
- wetDryMix: Ratio of processed to original signal.
Repeats the input signal with customizable delay and decay, creating rhythmic echoes.
function echoSignal = customDelay(inputSignal, Fs, delayTime, decayFactor, wetDryMix)
- delayTime: Delay time in seconds.
- decayFactor: Attenuation of each echo.
- wetDryMix: Ratio of processed to original signal.
Adds harmonic saturation or aggressive tones by amplifying and clipping the signal.
function distortionSignal = customDistortion(inputSignal, gain, clipLevel, wetDryMix)
- gain: Amplification applied before clipping.
- clipLevel: Threshold for clipping the signal.
- wetDryMix: Ratio of processed to original signal.
Modulates the amplitude to create a pulsating volume effect.
function tremoloSignal = customTremolo(inputSignal, Fs, rate, depth, wetDryMix)
- rate: Modulation rate in Hz.
- depth: Intensity of amplitude modulation.
- wetDryMix: Ratio of processed to original signal.
Here is an example of applying an effect:
[audioIn, Fs] = audioread('input.wav');
wetDryMix = 0.5;
reverbTime = 1.5;
output = customReverberator(audioIn, Fs, reverbTime, wetDryMix);
audiowrite('output.wav', output, Fs);
This project is licensed under the MIT License - see the LICENSE file for details.