All Projects → noops-challenge → Drumbot

noops-challenge / Drumbot

Drumbot loves drum machines so much that she made an API dedicated to them. Nothing would make her happier than for you to bring this API to life.

Programming Languages

elixir
2628 projects

Labels

Projects that are alternatives of or similar to Drumbot

Opus
Modern audio compression for the internet.
Stars: ✭ 1,171 (+1363.75%)
Mutual labels:  audio
Agora Miniapp Tutorial
Hello world for Agora SDK running in https://en.wikipedia.org/wiki/WeChat#WeChat_Mini_Program
Stars: ✭ 75 (-6.25%)
Mutual labels:  audio
Squeezer
Flexible general-purpose compressor with a touch of citrus
Stars: ✭ 78 (-2.5%)
Mutual labels:  audio
Modernflyouts
A modern Fluent Design replacement for the old Metro themed flyouts present in Windows.
Stars: ✭ 1,173 (+1366.25%)
Mutual labels:  audio
Acme.jl
ACME.jl - Analog Circuit Modeling and Emulation for Julia
Stars: ✭ 74 (-7.5%)
Mutual labels:  audio
React Native Jw Media Player
React-Native Android/iOS bridge for JWPlayer SDK (https://www.jwplayer.com/)
Stars: ✭ 76 (-5%)
Mutual labels:  audio
Beep
A little package that brings sound to any Go application. Suitable for playback and audio-processing.
Stars: ✭ 1,168 (+1360%)
Mutual labels:  audio
Synstack
Modular soft synth & Forth based VM for audio DSL experiments
Stars: ✭ 79 (-1.25%)
Mutual labels:  audio
Soundswitch
C# application to switch default playing device. Download: https://soundswitch.aaflalo.me/
Stars: ✭ 1,190 (+1387.5%)
Mutual labels:  audio
Android Rtmp Muxer
Implementation of the RTMP protocol to broadcast video and audio on Android in pure Java
Stars: ✭ 78 (-2.5%)
Mutual labels:  audio
Awesome Web Audio
A list of resources and projects to help learn about audio
Stars: ✭ 73 (-8.75%)
Mutual labels:  audio
Ltkdifmu Userscript
No more Audio and Visual ads. Allows AFK, Allows AdBlock, on all radios from AudioAddict including www.di.fm and more.
Stars: ✭ 74 (-7.5%)
Mutual labels:  audio
Viwaveformview
Generate waveform view from audio data.
Stars: ✭ 76 (-5%)
Mutual labels:  audio
Redoflacs
Parallel BASH commandline FLAC compressor, verifier, organizer, analyzer, and retagger
Stars: ✭ 71 (-11.25%)
Mutual labels:  audio
Soundable
Soundable allows you to play sounds, single and in sequence, in a very easy way
Stars: ✭ 78 (-2.5%)
Mutual labels:  audio
Dspi
Digital Signal Processing (or Pi). Adventures in making my Raspberry Pi 3 realtime, and running audio DSP.
Stars: ✭ 71 (-11.25%)
Mutual labels:  audio
Rem
Audio and video processing media library
Stars: ✭ 75 (-6.25%)
Mutual labels:  audio
Figaro
Real-time voice-changer for voice-chat, etc. Will support many different voice-filters and features in the future. 🎵
Stars: ✭ 80 (+0%)
Mutual labels:  audio
Abmediaview
Media view which subclasses UIImageView, and can display & load images, videos, GIFs, and audio and from the web, and has functionality to minimize from fullscreen, as well as show GIF previews for videos.
Stars: ✭ 79 (-1.25%)
Mutual labels:  audio
Youtube explode dart
Port of YoutubeExplode to dart
Stars: ✭ 76 (-5%)
Mutual labels:  audio

👋 Drumbot wants you!

Drumbot loves drum machines so much that she made an API dedicated to them. Nothing would make her happier than for you to bring this API to life.

Drumbot has included a drum machine written using React and the WebAudio API to help you get started.

You can start with this or create your own from scratch.

API

Drumbot's API has the following methods:

GET /drumbot/patterns

Returns the list of available patterns

GET /drumbot/patterns/{pattern-name}

Returns a pattern.

See the API documention For all the details!

React Starter Kit

Drumbot has provided a starter kit – a drum machine that runs inside a browser, built with React and the WebAudio API.

See it in action here

To get started with the react example, you'll need recent version of node.js. Fork this repository to your own github account so you can share your work.

cd react-starter
npm install
npm start

This example requires WebAudio support,

The WebAudio API is relatively new and support can be slightly different in each browser. This drum machine should work on Edge, Firefox, Chrome, and Safari.

Also note that on some mobile devices, WebAudio only plays through headphones – so if you don't hear anything, plug some in!

The WebAudio page on MDN is a good place to start learning about the WebAudio API.

Ideas to try

Here are a few ideas for you to try:

Change the sounds

This drum machine loads its sounds from samples that are stored in the .wav format.

The sounds are found in the public/samples folder. Try replacing these with your own sounds.

If you're feeling adventurous, try synthesizing your own drum sounds using oscillators.

Change the speed!

This drum machine doesn't let you set the tempo. Try adding a tempo control!

Dynamics

This drum machine plays each sound at an equal volume. Try varying the volume of the sounds or adding a volume knob to each track.

Use the AudioContext.createGain method to create a gain node to control the volume.

Stererereo

You can move sounds around from left to right. Try using AudioContext.createStereoPanner() to create a StereoPannerNode.

You can even get crazy and move sounds around in 3D with a PannerNode.

Make it Swing!

A revolutionary feature on the Linn LM-1, one of the earliest drum machines, was "Swing" - the ability to make the beat "swing" by slightly changing the timing of every other step. Most drum machines since then have included some sort of swing control. Try adding one to this drum machine.

Spice up the design!

Drumbot is not a designer. Are you? Let's see what you got.

Create your own drum pattern API.

Can you reverse-engineer the drumbot API and create your own beats? Show us.

Add visualizations

Use AudioContext.createAnalyser to analyze the audio data. Create a sound meter or do something else awesome!

Change the pattern!

Enable changing the pattern by toggling each spet on or off.

Nevermind the starter; I want to roll my own!

Great! Here are some 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 of them. Build something else cool with these repeating patterns. Light up your smart lightbulbs or anything else.

Show drumbot what you made!

Push your work up to your own fork.

More about Drumbot here: https://noopschallenge.com/challenges/drumbot

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].