This is a collection of generative sequencers, written in Rust. Use it to send MIDI notes to your synthesizer or DAW. Sequencers currently supported:
- Euclidean
- Markov Chain
This is put here as reference, in case the original link (https://aidanblack.github.io/RPiMIDI.html) goes offline.
sudo nano /boot/firmware/cmdline.txt
Remove console=serial0,115200
sudo nano /boot/firmware/config.txt
Add:
enable_uart=1
dtoverlay=pi3-miniuart-bt
dtoverlay=midi-uart
sudo raspi-config
Interfacing options -> P6 Serial -> Disable login shell -> Enable serial port
sudo apt-get install libasound2-dev
wget http://www.varal.org/ttymidi/ttymidi.tar.gz
tar -zxvf ttymidi.tar.gz
cd ttymidi/
make
sudo make install
ttymidi -s /dev/ttyAMA0 -b 38400 &
Will run ttymidi in the background.
ttymidi -s /dev/ttyAMA0 -b 38400 -v
Will run ttymidi in verbose mode (midi traffic displayed on screen).
To operate the sequencer, you can attach a keyboard to whatever device is running this code, e.g. a Raspberry Pi.
The common keyboard shortcuts are:
SPACE
to start/stop the sequencer
UP
to increase the number of steps by 1DOWN
to decrease the number of steps by 1LEFT
to decrease the number of pulses by 1RIGHT
to increase the number of pulses by 1W
to increase the MIDI note by 1S
to decrease the MIDI note by 1A
to decrease the MIDI note by one octaveD
to increase the MIDI note by one octave