Skip to content

Latest commit

 

History

History
72 lines (44 loc) · 3.35 KB

README.md

File metadata and controls

72 lines (44 loc) · 3.35 KB

Loop Drop

MIDI looper, modular synth and sampler app built around Novation Launchpad controller.

Install

$ git clone https://github.com/mmckegg/loop-drop-app
$ npm install
$ npm run build # or npm run watch (to automatically rebuild) 

Then open chrome and go the the extensions tab. Tick the enable developer mode then 'Load Unpacked Extension' and navigate to 'loop-drop-app/build' (the entire directory).

If you want to use it with Launchpad (WHICH YOU SHOULD!), you need to go to chrome://flags/#enable-web-midi and enable Web Midi. Then restart Chrome.

When the app first launches, it will prompt you for a place to store its files. Create a directory somewhere useful and call it Loop Drop or something. Or clone the sample project and point at that.

What/How/Why is this thing?

Some people find writing and performing electronic music far too much like programming a computer and not enough like playing an instrument. So instead we write software that makes making music fun again! If we ever get around to finishing it that is...

Use it with Novation Launchpad

For (somewhat) detailed Launchpad controller info see the usage notes on the midi-looper-launchpad module.

If you are using it with a Launchpad Mini, you will have to modify the code that initializes the Launchpad connection behaviors/engine.js:41 to look for "Launchpad Mini" instead.

Using without a Launchpad

Very simplistic 'computer keyboard' controls have been implemented.

You get the first 3 lines of the soundbank grid. You can move the target up and down using - and = keys

Q W E R T Y U O
A S D F G H J K
Z X C V B N M ,

Enter loops the events currently in buffer, and Backspace undoes the last loop.

SHIFT+SPACE switches to the other soundbank deck.

By default, it is in repeat mode which means you have to hold down the key to hear a sound. By default it triggers on each beat. You can change the repeat length by using 1-8 number keys across the top of keyboard. Press ~ to disable repeat and free-play.

Implement your own controller

YES DO IT!

Modules

Clock and Scheduling

  • bopper: Streaming clock source for scheduling Web Audio events rhythmically
  • ditty: Schedule playback for a loop sequence of Web Audio events (e.g. midi notes) using bopper clock source.

Midi / Loop Recording

Sound, Sampling, Synthesis and FX

  • soundbank: Web Audio API based sound slot player with basic editing
  • wave-recorder: Pipe Web Audio API nodes into 16bit PCM Wave files.

soon: