Live Instrumentation in Flash

This post covers another topic that I'll be covering at NCDevCon (http://ncdevcon.com/). Like my last post, I'm giving a general outline of series of points I'll be covering in both the presentation and the blog post and filling them in with links as I progress.

Live Instrumentation is a topic I'm an amateur in, but is terribly interesting to me. It makes me remember back in the 80's playing with synthesizers as a kid, and tweaking knobs to make different sounds. That is, until they got complicated and I sorta gave up. Also, samplers came along and made things a little less relevant.

Anyway - my Live Instrumentation series will cover how to create sounds dynamically in Flash. We'll explore how these sounds can be made into musical notes, chords, compositions, etc. We'll also explore some synthesizer basics - that is making our notes have different voices, or different sound qualities.

Basics of Dynamic Sound in Flash

  • Creating byte arrays
  • Writing file output
  • Live buffer with Sample Data Event
  • Generating White noise

The Flashamaphone Project

  • Live/Recorded Buffer
  • Keyboard Controller

Generating a Tone

  • Basic Sine Wave Generation
  • Altering frequency and amplitude
  • Some Different types of waves (stepped, sawtooth, square, sharkfin)

Turning a Tone into a Note

  • Brief history of notes in man made instruments, settling on standard
  • Relation of notes and octaves
  • Chord structures, how Western music is different from others
  • triads, 7ths, 9ths, major, minor, etc

Voice Synthesis

  • Attack, Decay, Sustain, Release
  • Shortening the sustain for sharper notes
  • Enveloping
  • Harmonic Overtones
  • Frequency Modulation

Demos

Beyond Flash

  • Web Audio API in HTML
  • iOS audio