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 to look up a value in a table. That value becomes the audio output signal. The table’s values can be drawn or generated using Chebyshev formulae. The outputs 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, click on the Play Keys button.
  • Click on 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 sound 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 sine wave.
  • 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.