m (updated references) |
m |
||
(13 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
=DSP Audio Effect Applications= | =DSP Audio Effect Applications= | ||
− | |||
by Thomas Stepp | by Thomas Stepp | ||
+ | ---- | ||
+ | == Introduction == | ||
+ | If you listen to music, there's a guarantee that you will not hear the exact voice of a singer or the immediate output of an instrument. Instead musicians and vocalists use effects to enhance their sound, craft a unique tone, and as a tool to express themselves. | ||
+ | <br><br> | ||
+ | Some commonly used effects are reverb (to sound like you are playing in a large room), distortion (to achieve a harsher tone and add harmonics), and delay (to create an echo or repeating effect). Many of these were initially created through analog circuits, but it is increasingly more popular to use digital implementations as technology improves and becomes cheaper. | ||
---- | ---- | ||
− | |||
+ | == Analog Effects == | ||
+ | 1. Analog Distortion: This is an easy circuit to implement with an amplifier and clipping diodes. <br> | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Circuit !! Output !! | ||
+ | |- | ||
+ | | [[File:Distortion.jpg|225px|thumb|left]] || [[File:Distortionsignal.gif|225px|thumb|left]] | ||
+ | |} | ||
+ | <br> | ||
---- | ---- | ||
− | + | 2. Analog Delay: This is a difficult circuit to implement. You have to use a delay line IC and it is still hard to have a good signal to noise ratio in this scenario. <br> | |
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Circuit | ||
+ | |- | ||
+ | | [[File:Delayschematic.gif|225px|thumb|left]] | ||
+ | |} | ||
+ | ---- | ||
+ | == Digital World == | ||
+ | 1. Digital Distortion: A simple implementation for matlab, would be scaling the signal, and then "clipping" the output with a max value: <br> | ||
+ | y[n] = A*x[n] <br> | ||
+ | if y[n] > max, then y[n] = max <br> | ||
+ | if y[n] < -max, then y[n] = -max <br><br> | ||
+ | |||
+ | Where "A" is a variable scalar greater than one. This could be controlled via a GUI in software or with a potentiometer in hardware. And "max" is the clipping value or max output voltage.<br> | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Block Diagram | ||
+ | |- | ||
+ | | [[File:Distortion block.png|225px|thumb|left]] | ||
+ | |} | ||
+ | <br> | ||
---- | ---- | ||
− | + | 2. Digital Delay: Much easier in the digital world compared to the analog world. <br> | |
+ | y[n] = x[n] + A*x[n - T] <br> | ||
+ | H(z) = 1 + A*z^{-T} <br><br> | ||
+ | Where "A" is a variable scalar less than or equal to one. It acts as the volume for the delayed signal, so it can match the original signal or be more subtle. And "T" is the delay time. When this value is large enough, you can distinctly here the repeating signal. When this value is smaller, it will have a "chorus" type effect where it sounds like multiple instruments are playing the same notes.<br> | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Block Diagram | ||
+ | |- | ||
+ | | [[File:Delayblock.png|225px|thumb|left]] | ||
+ | |} | ||
---- | ---- | ||
+ | |||
== Conclusion == | == Conclusion == | ||
− | + | While audio effects were historically made with analog circuits, digital technology has become cheap and easy to implement. Modeling various audio effects is quite simple and in some cases easier to implement than the hardware counterparts. | |
− | + | ||
---- | ---- | ||
+ | |||
== References == | == References == | ||
Stanford PowerPoint with Matlab examples: [https://web.stanford.edu/~odas/Documents/DAFx.pdf] | Stanford PowerPoint with Matlab examples: [https://web.stanford.edu/~odas/Documents/DAFx.pdf] | ||
+ | <br> | ||
Texas Instruments PowerPoint with block diagrams: [http://www.ti.com/lit/ml/sprp499/sprp499.pdf] | Texas Instruments PowerPoint with block diagrams: [http://www.ti.com/lit/ml/sprp499/sprp499.pdf] | ||
+ | <br> | ||
Bradley project for real-time audio effects: [http://ee.bradley.edu/projects/proj2008/gegudps/Czubak_Raheja_Final_Paper.pdf] | Bradley project for real-time audio effects: [http://ee.bradley.edu/projects/proj2008/gegudps/Czubak_Raheja_Final_Paper.pdf] | ||
+ | <br> | ||
McGill book for Digital Audio Effects: [http://www.music.mcgill.ca/~ich/classes/dafx_book.pdf] | McGill book for Digital Audio Effects: [http://www.music.mcgill.ca/~ich/classes/dafx_book.pdf] | ||
+ | <br> | ||
+ | Blog post from dubspot music communinty: [http://blog.dubspot.com/understanding-audio-effects-an-overview/] | ||
---- | ---- | ||
+ | |||
[[ 2017 Spring ECE 438 Boutin|Back to 2017 Spring ECE 438 Boutin]] | [[ 2017 Spring ECE 438 Boutin|Back to 2017 Spring ECE 438 Boutin]] |
Latest revision as of 13:46, 23 April 2017
Contents
DSP Audio Effect Applications
by Thomas Stepp
Introduction
If you listen to music, there's a guarantee that you will not hear the exact voice of a singer or the immediate output of an instrument. Instead musicians and vocalists use effects to enhance their sound, craft a unique tone, and as a tool to express themselves.
Some commonly used effects are reverb (to sound like you are playing in a large room), distortion (to achieve a harsher tone and add harmonics), and delay (to create an echo or repeating effect). Many of these were initially created through analog circuits, but it is increasingly more popular to use digital implementations as technology improves and becomes cheaper.
Analog Effects
1. Analog Distortion: This is an easy circuit to implement with an amplifier and clipping diodes.
Circuit | Output | |
---|---|---|
2. Analog Delay: This is a difficult circuit to implement. You have to use a delay line IC and it is still hard to have a good signal to noise ratio in this scenario.
Circuit |
---|
Digital World
1. Digital Distortion: A simple implementation for matlab, would be scaling the signal, and then "clipping" the output with a max value:
y[n] = A*x[n]
if y[n] > max, then y[n] = max
if y[n] < -max, then y[n] = -max
Where "A" is a variable scalar greater than one. This could be controlled via a GUI in software or with a potentiometer in hardware. And "max" is the clipping value or max output voltage.
Block Diagram |
---|
2. Digital Delay: Much easier in the digital world compared to the analog world.
y[n] = x[n] + A*x[n - T]
H(z) = 1 + A*z^{-T}
Where "A" is a variable scalar less than or equal to one. It acts as the volume for the delayed signal, so it can match the original signal or be more subtle. And "T" is the delay time. When this value is large enough, you can distinctly here the repeating signal. When this value is smaller, it will have a "chorus" type effect where it sounds like multiple instruments are playing the same notes.
Block Diagram |
---|
Conclusion
While audio effects were historically made with analog circuits, digital technology has become cheap and easy to implement. Modeling various audio effects is quite simple and in some cases easier to implement than the hardware counterparts.
References
Stanford PowerPoint with Matlab examples: [1]
Texas Instruments PowerPoint with block diagrams: [2]
Bradley project for real-time audio effects: [3]
McGill book for Digital Audio Effects: [4]
Blog post from dubspot music communinty: [5]