Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://mmckegg.github.io/web-audio-school/
An intro to the Web Audio API by a series of self-guided workshops.
https://mmckegg.github.io/web-audio-school/
Last synced: 6 days ago
JSON representation
An intro to the Web Audio API by a series of self-guided workshops.
- Host: GitHub
- URL: https://mmckegg.github.io/web-audio-school/
- Owner: mmckegg
- Created: 2015-04-10T07:23:29.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-12-11T09:04:34.000Z (almost 7 years ago)
- Last Synced: 2024-04-15T12:16:34.531Z (7 months ago)
- Language: JavaScript
- Size: 2.89 MB
- Stars: 401
- Watchers: 26
- Forks: 40
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
- awesome-educational-games - Web Audio School - Interactive WebAudio tutorials. (Programming)
- awesome-deved - Web Audio School - Interactive WebAudio tutorials. (Single Learning Path)
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