Music and Computers
WaveShaping using Tables and Chebyshev Formulae
(Special thanks to Nick Didkovsky for contributing the Chebyshev Polynomial
calculating software.)
How it works:
The value of a sine wave is used lookup a value in a table. That value
becomes the audio output signal. The table's value can be drawn or
generated using Chebyshev formulae. The output of different Chebyshev polynomials
of increasing order are mixed together to generate a complex wave shape.
Faders control the amount that each Chebyshev order contributes to the
final polynomial.
To Do:
-
Move the Oscilloscope window to the side.
-
Scroll down until you can see the faders and the large rectangle..
-
Turn up fader number 1 all the way so that the line in the box is slanted.
-
Click on the "Play Keys" button to enable keys on the left side of the
ASCII keyboard. Play a tune.
-
If the keyboard ever stops playing notes, then click on the "Play Keys"
button.
-
Click the "Note On" box to turn on a steady note.
-
Draw a little wiggle on the far right side of the line. Move the "Range"
fader which controls the amplitude of the sine wave used to index into
the table.
-
Note that when the range does not include the wiggle, the sound is smooth.
But when the range includes wiggle the notes sounds richer and the output
has a wiggle in it.
-
Hit the smooth button. By smoothing the transfer function, we get a smoother
output with less harmonic content.
-
Set the "Range" fader to 1.0 and the "Amplitude" fader to 0.5.
-
Hit "Clear" then turn up fader #0. Notice the shape and that you hear silence.
The sine wave is converted to a flat signal.
-
Hit "Clear" then turn up fader #1 which is a first order Chebyshev polynomial.
This linear transfer function converts a sine wave to another sinewave
-
Hit "Clear and turn up fader #2 which is a first order Chebyshev polynomial.
Note that we get a sine wave twice as high which is the second harmonic.
Repeat for higher orders.
-
Combine different polynomials and turn the Range fader up and down. Hear
how a higher "Range" introduces higher harmonics.
-
Push buttons. Get crazy.