Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/survivejs/audio-katas

Web Audio katas
https://github.com/survivejs/audio-katas

Last synced: 3 months ago
JSON representation

Web Audio katas

Awesome Lists containing this project

README

        

# 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

## 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.