Simple arduino based module for synthesizer/sequencer synchronization.
- 4 synchronization channels (easily extendable by
CHANNEL_COUNT
). - every channel can be delayed in 256 steps up to +/- 1/16th note (positive and negative delay possible).
- every channel supports half-step mode (only pulses every second sync step).
- song tempo configuration (in BPM).
- song position display.
- global start/stop.
- settings are persisted in EEPROM.
- changing the channel delay will slowly change the delay (immediate changes confuse some devices).
I've had a lot of problems syncing my devices. No matter which device is set to master, nothing really worked 100%.
- Volcas have huge problems with MIDI sync
- Volcas emit a single pulse upon startup (=> device chain is out of sync)
- Arturia Keystep stops forwarding syncs when sequencing is stopped
- Monologue emits an additional sync when play is pressed (WTF?)
- Sequenced synths with (relative) long attack times sound off-sync with the kick-drum. A negative sync delay would fix this issue.
- ATMEGA328 + Crystal
- PCF8574 I2C LCD Controller
- 16x2 LCD Display
- Some buttons
- A rotary encoder
This is what four delayed pulses with a PULSE_LENGTH
of 30 look like in the scope (two of them are half-step only):