# audio-katas - Learn Web Audio [Web Audio](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API) is one of the perhaps most overlooked web APIs. Through these katas, you will get a better idea of its capabilities and will be able to go further in your own experiments with the API. Essentially we will be building a modular [Digital Audio Workstation (DAW)](https://en.wikipedia.org/wiki/Digital_audio_workstation) of our own. The repository contains [katas](katas/) and [solutions](solutions/). Each kata comes with a brief description for learning aims, background information, and specific tasks to perform. The katas have been designed to form a continuum so make sure to start from the first one and complete them in a successive manner. Each kata is fairly simple and the goal is to teach a concept per kata to avoid overwhelming anyone. ## Katas 1. [Getting started](katas/kata-01.md) - [Solution](solutions/kata-01) 2. [Oscillation](katas/kata-02.md) - [Solution](solutions/kata-02) 3. [Musical keyboard](katas/kata-03.md) - [Solution](solutions/kata-03) 4. [Audio sampling](katas/kata-04.md) - [Solution](solutions/kata-04) 5. [Music sequencing](katas/kata-05.md) - [Solution](solutions/kata-05) 6. [Audio worklets](katas/kata-06.md) - [Solution](solutions/kata-06) 7. [Dataflow programming](katas/kata-07.md) ## Prerequisites To be able to complete the katas, you need the following: * Adequate command of JavaScript and TypeScript programming languages * [Node.js](https://nodejs.org/en/) * [Git](https://git-scm.com/) - Optional but it is a good idea to version your work so you can see what was done and why ## Related resources See [notthetup/awesome-webaudio](https://github.com/notthetup/awesome-webaudio) for a collection of Web Audio related resources. ## Credits The kata format has been adapted from [red-gate/web-kata](https://github.com/red-gate/web-kata). Special thanks go to [Tero Parviainen](https://github.com/teropa) for helping to ideate the content.