In fact, Drumbot loves drum machines so much that she made an API dedicated to serving up drum patterns. Nothing would make her happier than for you to bring this API to life.
Drumbot’s API has two endpoints:
GET https://api.noopschallenge.com/drumbot/patterns
[
{ "name": "oontza" },
{ "name": "nipnop" },
...
]
GET https://api.noopschallenge.com/drumbot/patterns/nipnop
{
"name": "nipnop",
"stepCount": 16,
"beatsPerMinute": 92,
"tracks": [
{
"instrument": "hihat",
"steps": [ 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1 ]
},
...
]
}
Read the API documentation for all the details!
To get you started, Drumbot has provided you with a forkable drum machine that talks to her API and plays beats in in the browser.
The WebAudio API is relatively new and support can be slightly different in each browser—it should work on Edge, Firefox, Chrome, and Safari.
If you're on a mobile device, you might need to plug in headphones.
You can start with the provided drum machine and add your own features, or perhaps you'd like to create your own from scratch – Drumbot would love to see that.
This drum machine is pretty basic. Try adding some features or changing the sounds.
Add dynamics or stereo effects. Make it beautiful. Invent a new UI paradigm. Make it weird.
See more ideas at GitHub.
The WebAudio page on MDN is a good place to start learning about the WebAudio API.
Are you the type that likes to build something from the ground up?
Great! Here are a few ideas to get you started.
Most languages and platforms out there can play music, with a little help from a library or two. What’s your favorite language?
Connect to a real drum machine! Hook these patterns up to your favorite music program! Make your smart microwave heat up pizza to the beatza!
Playing sounds is just one possibility. Build something else cool with these repeating patterns. Light up your smart lightbulbs or teach your Roomba to dance.
See who has recently forked this repository...
Want to hear about new challenges and updates?