# web-audio-school **Repository Path**: mirrors_skratchdot/web-audio-school ## Basic Information - **Project Name**: web-audio-school - **Description**: An intro to the Web Audio API by a series of self-guided workshops. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-25 - **Last Updated**: 2026-05-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Web Audio School === An intro to the **Web Audio API** by a series of self-guided workshops. We will primarily focus on using the Web Audio API for music, but the concepts here could be applied to game sound and other creative uses. > This workshop was built for [CampJS V](http://v.campjs.com/)! ## Try it out here: [mmckegg.github.io/web-audio-school](http://mmckegg.github.io/web-audio-school/) ## TODO - Handle user code errors and display in editor ## Install via [npm](https://www.npmjs.com/package/web-audio-school) Global install: ```bash $ npm install web-audio-school -g ``` Start the server: ``` $ web-audio-school ``` Now navigate to [localhost:9966](http://localhost:9966). ## Browser Support Works in latest versions of Chrome, Firefox, Safari. [Internet Explorer doesn't support the Web Audio API yet](https://status.modern.ie/webaudioapi). ## Lesson Overview ### Part I: Subtractive Synthesis 1. Play a pitched sawtooth wave 2. Play a short sequence of notes 3. Add a high-pass filter 4. Modulate filter cutoff 5. Add an envelope 6. Vibrato ### Part II: Working With Samples 7. Decode and play an audio file 8. Set in and out points 9. Looping samples 10. Set sample pitch 11. Play a sequence of pitched samples ### Part III: Effects 12. Tremolo 13. Stereo Tremolo 14. Echo / Delay 16. Overdrive (part 1) 17. Overdrive (part 2) 18. Ping Pong Delay 19. Simple Reverb ### Epilogue 20. Drop the Bass ## Coverage - AudioContext - AudioBuffer - AudioParam - AudioDestinationNode - OscillatorNode - AudioBufferSourceNode - GainNode - WaveShaperNode - StereoPannerNode - ConvolverNode - BiquadFilterNode - DelayNode - ChannelSplitterNode - ChannelMergerNode ## Not Yet Covered - AudioWorker (not yet supported by any browsers) - ScriptProcessor (deprecated) - OfflineAudioContext - DynamicsCompressorNode - AudioListener - PannerNode - AnalyserNode ## License MIT ## Contributors - [Matt McKegg](https://github.com/mmckegg) - [Jan Monschke](https://github.com/janmonschke) This is an OPEN open source project. See [CONTRIBUTING.md](https://github.com/mmckegg/web-audio-school/blob/master/CONTRIBUTING.md) for details