https://github.com/kulmanferdi/audio_effects
Audio effects in MATLAB
https://github.com/kulmanferdi/audio_effects
audio chorus delay distortion matlab matlab-functions matlab-script reverb tremolo
Last synced: 5 months ago
JSON representation
Audio effects in MATLAB
- Host: GitHub
- URL: https://github.com/kulmanferdi/audio_effects
- Owner: kulmanferdi
- License: mit
- Created: 2024-12-07T11:44:54.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-12-15T23:22:49.000Z (11 months ago)
- Last Synced: 2025-04-07T06:43:52.165Z (7 months ago)
- Topics: audio, chorus, delay, distortion, matlab, matlab-functions, matlab-script, reverb, tremolo
- Language: MATLAB
- Homepage:
- Size: 11.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Audio Effects in MATLAB
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.
## Reverb
Adds depth and realism by simulating natural sound reflections in an environment.
```matlab
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.
## Chorus
Produces a rich, shimmering sound by blending delayed and pitch-modulated copies of the input.
```matlab
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.
## Delay (Echo)
Repeats the input signal with customizable delay and decay, creating rhythmic echoes.
```matlab
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.
## Distortion
Adds harmonic saturation or aggressive tones by amplifying and clipping the signal.
```matlab
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.
## Tremolo
Modulates the amplitude to create a pulsating volume effect.
```matlab
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.
## Example
Here is an example of applying an effect:
```matlab
[audioIn, Fs] = audioread('input.wav');
wetDryMix = 0.5;
reverbTime = 1.5;
output = customReverberator(audioIn, Fs, reverbTime, wetDryMix);
audiowrite('output.wav', output, Fs);
```
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.