Skip to content

Latest commit

 

History

History
88 lines (66 loc) · 4.75 KB

kata-02.md

File metadata and controls

88 lines (66 loc) · 4.75 KB

Kata 2 - Oscillation

The purpose of this kata is to implement simple oscillators as the first part of our DAW.

Learning aims

The minimal target of this kata is to get started with the Audio API and understand oscillators on a basic level:

  • Initializing Web Audio
  • Understanding what is an oscillator
  • Setting up an oscillator

Task

Complete the following:

  1. Add a window with controls to start and stop playback
  2. Attach a Web Audio based sine wave oscillator to the controls so that it plays when you click start and stops when you click stop
  3. Add a volume control
  4. Add a control for adjusting oscillator frequency
  5. Allow adjusting the volume in decibels
  6. Optional - Add a control that lets the use to change the oscillator type (not just sine)
  7. Optional - Make the frequency of the oscillator slowly change over time (Hint: make another oscillator and connect it to your oscillator's frequency)
  8. Optional - Set up a random noise generator
  9. Optional - Allow mixing between oscillator and random noise
  10. Optional - Add a window for displaying and debugging application state
  11. Optional - Add a way to save oscillators
  12. Optional - Add a way to duplicate oscillators and play multiple at once
  13. Optional - Implement a theremin to allow adjusting two parameters (volume, frequence for example) of a waveform using a single control. A 2D slider is a good choice for this.

Reference

UI

Web Audio

Theory

Instruments

Blogs

Songs

Videos