Skip to content

Instantly share code, notes, and snippets.

@ericandrewlewis
Last active December 20, 2018 23:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ericandrewlewis/cd95f926a86dab93c22375a863539f9e to your computer and use it in GitHub Desktop.
Save ericandrewlewis/cd95f926a86dab93c22375a863539f9e to your computer and use it in GitHub Desktop.
Waveforms and timbre "article" outline

Thanks for offering to look at this! Any feedback you have is appreciated.

I've been making snack-sized articles that run code, and considering writing one for introductory synthesizer concepts of oscillator waveforms and timbre.

The Web Audio API is super cool. I've been playing around with it, mostly with the nice and "declarative" wrapping library Tone.js.

I'm planning on using it to include visualizations and offer readers a synth they can play with in the zxcvbn neighborhood of their keyboard.

Some things in my mind:

  • This is an opportunity to make a really different experience rather than a straight-reading article, and I'm not sure my plan is weird enough yet.
  • Is there anything important I'm missing?
  • Is this too little or the right size of content to cover?
  • Creating a good mobile experience might require some thinking I haven't done yet

Here's the outline:

  • A general introduction to waveforms.
  • Display the shapes of common waveforms (sine, square, sawtooth, triangle).
  • Discuss the sine wave, how it is a single fundamental/pure note. allow the user to listen to it and play an interactive keyboard.
  • Switch to the square wave, the reader notices the difference timbre.
  • Explain how overtones work with different waves to create dull/bright sounds. Show a live updating frequency equalizer graph while the reader plays a keyboard and switches between the square and sine waves.
  • I should provide examples of waveforms from actual songs folks can listen to in context
  • Maybe include an exercise section where you listen to a recognizable synth sound from a song like Van Halen's Jump and try to reproduce it by picking the right waveform.

Thanks for reading!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment