├── .gitignore ├── CONTRIBUTING.md ├── README.md ├── browser-entry.js ├── lessons ├── 1. Subtractive Synthesis │ ├── 00. Browser make sound! │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ ├── 01. Play a pitched sawtooth wave │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ ├── 02. Chromatic Scale │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ ├── 03. Play a short sequence of notes │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ ├── 04. Add a high-pass filter │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ ├── 05. Modulate filter cutoff │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ ├── 06. Add an envelope │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ └── 07. Vibrato │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js ├── 2. Working With Samples │ ├── 08. Decode and play an audio file │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ ├── 09. Set in and out points │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ ├── 10. Looping samples │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ ├── 11. Set sample pitch │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ └── 12. Play a sequence of pitched samples │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js ├── 3. Effects │ ├── 13. Tremolo │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ ├── 14. Stereo Tremolo │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ ├── 15. Simple Overdrive │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ ├── 16. Better Overdrive │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ ├── 17. Delay with feedback │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ ├── 18. Ping Pong Delay │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js │ └── 19. Simple Reverb │ │ ├── answer.js │ │ ├── lesson.md │ │ └── start.js └── index.js ├── lib ├── audio-match.js ├── editor.js ├── evalify.js ├── interpolate-color.js ├── markdown.js ├── observ-set.js ├── persist.js ├── send.js ├── spectrograph.js └── verifier.js ├── package.json ├── resources ├── guitar.wav ├── index.html ├── spring.mp3 ├── vox.wav ├── web-audio-api-flowchart.png └── zara.wav ├── run.js ├── state ├── index.js └── lesson.js ├── styles ├── base.mcss ├── index.js ├── index.mcss ├── lesson.mcss ├── main.mcss ├── player.mcss └── raw-editor.mcss └── views ├── index.js └── lesson.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | build -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/README.md -------------------------------------------------------------------------------- /browser-entry.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/browser-entry.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/00. Browser make sound!/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/00. Browser make sound!/answer.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/00. Browser make sound!/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/00. Browser make sound!/lesson.md -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/00. Browser make sound!/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/00. Browser make sound!/start.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/01. Play a pitched sawtooth wave/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/01. Play a pitched sawtooth wave/answer.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/01. Play a pitched sawtooth wave/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/01. Play a pitched sawtooth wave/lesson.md -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/01. Play a pitched sawtooth wave/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/01. Play a pitched sawtooth wave/start.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/02. Chromatic Scale/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/02. Chromatic Scale/answer.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/02. Chromatic Scale/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/02. Chromatic Scale/lesson.md -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/02. Chromatic Scale/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/02. Chromatic Scale/start.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/03. Play a short sequence of notes/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/03. Play a short sequence of notes/answer.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/03. Play a short sequence of notes/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/03. Play a short sequence of notes/lesson.md -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/03. Play a short sequence of notes/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/03. Play a short sequence of notes/start.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/04. Add a high-pass filter/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/04. Add a high-pass filter/answer.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/04. Add a high-pass filter/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/04. Add a high-pass filter/lesson.md -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/04. Add a high-pass filter/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/04. Add a high-pass filter/start.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/05. Modulate filter cutoff/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/05. Modulate filter cutoff/answer.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/05. Modulate filter cutoff/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/05. Modulate filter cutoff/lesson.md -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/05. Modulate filter cutoff/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/05. Modulate filter cutoff/start.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/06. Add an envelope/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/06. Add an envelope/answer.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/06. Add an envelope/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/06. Add an envelope/lesson.md -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/06. Add an envelope/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/06. Add an envelope/start.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/07. Vibrato/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/07. Vibrato/answer.js -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/07. Vibrato/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/07. Vibrato/lesson.md -------------------------------------------------------------------------------- /lessons/1. Subtractive Synthesis/07. Vibrato/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/1. Subtractive Synthesis/07. Vibrato/start.js -------------------------------------------------------------------------------- /lessons/2. Working With Samples/08. Decode and play an audio file/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/08. Decode and play an audio file/answer.js -------------------------------------------------------------------------------- /lessons/2. Working With Samples/08. Decode and play an audio file/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/08. Decode and play an audio file/lesson.md -------------------------------------------------------------------------------- /lessons/2. Working With Samples/08. Decode and play an audio file/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/08. Decode and play an audio file/start.js -------------------------------------------------------------------------------- /lessons/2. Working With Samples/09. Set in and out points/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/09. Set in and out points/answer.js -------------------------------------------------------------------------------- /lessons/2. Working With Samples/09. Set in and out points/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/09. Set in and out points/lesson.md -------------------------------------------------------------------------------- /lessons/2. Working With Samples/09. Set in and out points/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/09. Set in and out points/start.js -------------------------------------------------------------------------------- /lessons/2. Working With Samples/10. Looping samples/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/10. Looping samples/answer.js -------------------------------------------------------------------------------- /lessons/2. Working With Samples/10. Looping samples/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/10. Looping samples/lesson.md -------------------------------------------------------------------------------- /lessons/2. Working With Samples/10. Looping samples/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/10. Looping samples/start.js -------------------------------------------------------------------------------- /lessons/2. Working With Samples/11. Set sample pitch/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/11. Set sample pitch/answer.js -------------------------------------------------------------------------------- /lessons/2. Working With Samples/11. Set sample pitch/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/11. Set sample pitch/lesson.md -------------------------------------------------------------------------------- /lessons/2. Working With Samples/11. Set sample pitch/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/11. Set sample pitch/start.js -------------------------------------------------------------------------------- /lessons/2. Working With Samples/12. Play a sequence of pitched samples/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/12. Play a sequence of pitched samples/answer.js -------------------------------------------------------------------------------- /lessons/2. Working With Samples/12. Play a sequence of pitched samples/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/12. Play a sequence of pitched samples/lesson.md -------------------------------------------------------------------------------- /lessons/2. Working With Samples/12. Play a sequence of pitched samples/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/2. Working With Samples/12. Play a sequence of pitched samples/start.js -------------------------------------------------------------------------------- /lessons/3. Effects/13. Tremolo/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/13. Tremolo/answer.js -------------------------------------------------------------------------------- /lessons/3. Effects/13. Tremolo/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/13. Tremolo/lesson.md -------------------------------------------------------------------------------- /lessons/3. Effects/13. Tremolo/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/13. Tremolo/start.js -------------------------------------------------------------------------------- /lessons/3. Effects/14. Stereo Tremolo/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/14. Stereo Tremolo/answer.js -------------------------------------------------------------------------------- /lessons/3. Effects/14. Stereo Tremolo/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/14. Stereo Tremolo/lesson.md -------------------------------------------------------------------------------- /lessons/3. Effects/14. Stereo Tremolo/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/14. Stereo Tremolo/start.js -------------------------------------------------------------------------------- /lessons/3. Effects/15. Simple Overdrive/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/15. Simple Overdrive/answer.js -------------------------------------------------------------------------------- /lessons/3. Effects/15. Simple Overdrive/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/15. Simple Overdrive/lesson.md -------------------------------------------------------------------------------- /lessons/3. Effects/15. Simple Overdrive/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/15. Simple Overdrive/start.js -------------------------------------------------------------------------------- /lessons/3. Effects/16. Better Overdrive/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/16. Better Overdrive/answer.js -------------------------------------------------------------------------------- /lessons/3. Effects/16. Better Overdrive/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/16. Better Overdrive/lesson.md -------------------------------------------------------------------------------- /lessons/3. Effects/16. Better Overdrive/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/16. Better Overdrive/start.js -------------------------------------------------------------------------------- /lessons/3. Effects/17. Delay with feedback/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/17. Delay with feedback/answer.js -------------------------------------------------------------------------------- /lessons/3. Effects/17. Delay with feedback/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/17. Delay with feedback/lesson.md -------------------------------------------------------------------------------- /lessons/3. Effects/17. Delay with feedback/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/17. Delay with feedback/start.js -------------------------------------------------------------------------------- /lessons/3. Effects/18. Ping Pong Delay/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/18. Ping Pong Delay/answer.js -------------------------------------------------------------------------------- /lessons/3. Effects/18. Ping Pong Delay/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/18. Ping Pong Delay/lesson.md -------------------------------------------------------------------------------- /lessons/3. Effects/18. Ping Pong Delay/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/18. Ping Pong Delay/start.js -------------------------------------------------------------------------------- /lessons/3. Effects/19. Simple Reverb/answer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/19. Simple Reverb/answer.js -------------------------------------------------------------------------------- /lessons/3. Effects/19. Simple Reverb/lesson.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/19. Simple Reverb/lesson.md -------------------------------------------------------------------------------- /lessons/3. Effects/19. Simple Reverb/start.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/3. Effects/19. Simple Reverb/start.js -------------------------------------------------------------------------------- /lessons/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lessons/index.js -------------------------------------------------------------------------------- /lib/audio-match.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lib/audio-match.js -------------------------------------------------------------------------------- /lib/editor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lib/editor.js -------------------------------------------------------------------------------- /lib/evalify.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lib/evalify.js -------------------------------------------------------------------------------- /lib/interpolate-color.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lib/interpolate-color.js -------------------------------------------------------------------------------- /lib/markdown.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lib/markdown.js -------------------------------------------------------------------------------- /lib/observ-set.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lib/observ-set.js -------------------------------------------------------------------------------- /lib/persist.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lib/persist.js -------------------------------------------------------------------------------- /lib/send.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lib/send.js -------------------------------------------------------------------------------- /lib/spectrograph.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lib/spectrograph.js -------------------------------------------------------------------------------- /lib/verifier.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/lib/verifier.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/package.json -------------------------------------------------------------------------------- /resources/guitar.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/resources/guitar.wav -------------------------------------------------------------------------------- /resources/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/resources/index.html -------------------------------------------------------------------------------- /resources/spring.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/resources/spring.mp3 -------------------------------------------------------------------------------- /resources/vox.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/resources/vox.wav -------------------------------------------------------------------------------- /resources/web-audio-api-flowchart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/resources/web-audio-api-flowchart.png -------------------------------------------------------------------------------- /resources/zara.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/resources/zara.wav -------------------------------------------------------------------------------- /run.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/run.js -------------------------------------------------------------------------------- /state/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/state/index.js -------------------------------------------------------------------------------- /state/lesson.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/state/lesson.js -------------------------------------------------------------------------------- /styles/base.mcss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/styles/base.mcss -------------------------------------------------------------------------------- /styles/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/styles/index.js -------------------------------------------------------------------------------- /styles/index.mcss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/styles/index.mcss -------------------------------------------------------------------------------- /styles/lesson.mcss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/styles/lesson.mcss -------------------------------------------------------------------------------- /styles/main.mcss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/styles/main.mcss -------------------------------------------------------------------------------- /styles/player.mcss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/styles/player.mcss -------------------------------------------------------------------------------- /styles/raw-editor.mcss: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/styles/raw-editor.mcss -------------------------------------------------------------------------------- /views/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/views/index.js -------------------------------------------------------------------------------- /views/lesson.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mmckegg/web-audio-school/HEAD/views/lesson.js --------------------------------------------------------------------------------