L'accompanier

A live drum and bass accompanier for keyboardists.

Author: Trijeet Mukhopadhyay

About L'accompanier

What?
L'accompanier is live accompanier for keyboardists on the drums and bass. One can simply plug in a MIDI keyboard, input a scale, and the software will attempt to follow you on the drums and bass while you jam away.

Why?
One of the core motivations behind this project was the fact that I play the keyboards myself, and sometimes you just don't have anyone to play with. And in order to play something tangible, a drummer and a bassist are quite essential.
So it was an interesting challenge for me to see how I use the knowledge of music theory to construct a naive AI which could a accompany a MIDI keyboard.

Who?
Author: Trijeet Mukhopadhyay
trijeetm@stanford.edu
Date: Fall '14

Sadly, only Mac builds exist as of now, Linux and Windows builds out soon. Feel free to download the source code and create your own makefiles for other operating systems.

Download

Mac OSX: Executable

The source code is available here

Build instructions

Download build from the links above and then extract it.
To extract: $ tar -zxvf <archive>
To run, go to directory where the archive was extracted and run: $ ./l'accompanier
Parameterized run modes:
./l'accompanier [tempo] [time-signature_beat-unit] [time-signature_beat-count] [midi-mode]
[tempo]: Tempo in beats per minute (> 0)
[time-signature_beat-unit]: Beat unit of desired time signature
[time-signature_beat-count]: Beat count of desired time signature
[midi-mode]: --midi-in | --midi-thru
Ba-Dum-Tss require lib-fluidSynth to work.
To install FluidSynth: $ brew install fluidsynth pkg-config

Usage

./l'accompanier [tempo] [time-signature_beat-unit] [time-signature_beat-count] [midi-mode]
------------------------------------------------------------------------
L'accompanier
Trijeet Mukhopadhyay
http://ccrma.stanford.edu/~trijeetm/l-accompanier
------------------------------------------------------------------------
'h' - print this help message
'`' - toggle fullscreen (below esc key)
'<esc>' - quit visualization
'.' and '/' - control drums gain
';' and ''' - control bass gain
's' - toggle scale building mode
<up-arrow> and <down-arrow> to control tempo
------------------------------------------------------------------------
PROTIP: if program crashes, run with wi-fi/bluetooth turned off
------------------------------------------------------------------------