Noops homepage
Noops challenge home

drumbot

Hey there! We haven't met yet. Connect your GitHub account to enter the challenge.

Drumbot loves drum machines

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 API

Drumbot’s API has two endpoints:

Get available patterns

GET https://api.noopschallenge.com/drumbot/patterns
[
  { "name": "oontza" },
  { "name": "nipnop" },
  ...
]

Request details about a pattern

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!

Starter kit: WebAudio drum machine

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.

What will you build?

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.

Make your own from scratch

Are you the type that likes to build something from the ground up?

Great! Here are a few ideas to get you started.

Use a different programming language

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 other devices

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!

Visualize the rhythm

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.

Connect to GitHub

Participants

See who has recently forked this repository...

Other challenges you might like

Meet

hexbot

hexbot hero

Hex codes everywhere

A different color with every ping

Level 1

Want to hear about new challenges and updates?

Meet the Noops

Sponsored by GitHub