tida1vm
June 30, 2020 ยท View on GitHub
A complete Tidal musical live coding and audio streaming environment inside Docker
Getting started
Branches for each TidalCycles version
Currently, there's a branch for:
TidalCycles 0.6 + MIDI
TidalCycles 0.7 + MIDI
TidalCycles 0.7 + Dirt
TidalCycles 0.8 + MIDI
TidalCycles 0.8 + MIDI (Volca Beats + Volca Bass only)
TidalCycles 0.8 + MIDI + EspGrid
TidalCycles 0.8 + SuperDirt
TidalCycles 0.9 + SuperDirt
TidalCycles 1.0
TidalCycles 1.6.1
All of them are equally stable (ie: run at your own risk :neckbeard:)
So, let's say, you want to run the 0.9 version, simply:
$ git clone https://github.com/lvm/tida1vm
$ cd tida1vm
$ git checkout 0.9
$ docker build -t tida1vm-0.9 .
$ docker run -ti --rm --net=host --name tida1vm lvm23/tida1vm:0.9
or just:
$ docker pull lvm23/tida1vm:0.9
$ docker run -ti --rm --net=host --name tida1vm lvm23/tida1vm:0.9
MIDI Ports
See the README for each branch.
Custom tidal-midi Synths
For 0.6, there's a forked version of tidal-midi here, removing most of the synths (which I don't have) and added GM1Drums.hs configured after GM1 standards for percussion in GM soundfonts. Uses gdrum (works with drum too, but won't recognize all GM1 values).
For 0.7, since it has MIDI integrated, I created a repo for FluidSynth here with two exposed modules: GMDrums.hs and GMInst.hs, one for Drums and other for the rest of the instruments.
For 0.8, it should be integrated within tidal-midi.
midithru-connect
There's a small script in the helper directory called midithru-connect which connects clients to "Midi Through".
usage: midithru-connect [-h] [-v] [-a] [-c CONNECT] [-d DISCONNECT]
optional arguments:
-h, --help show this help message and exit
-v, --version shows the current version
-a, --all auto connects all clients available
-c CONNECT, --connect CONNECT
connects a client to midi through
-d DISCONNECT, --disconnect DISCONNECT
disconnects a client off midi through
Extra docs
For more info, take a look at the wiki.
What's the difference with Tidebox?
This container has configurations which are probably useful to me only, such as:
tideboxuses tidal+dirt andtida1vmuses tidal+tidal-midi.- Runs
Debian Jessieinstead ofFedora - A particular midi-port <-> tidal-stream config
- Uses
tmuxinstead ofscreen - Doesn't use
Dirt - Doesn't use
jackdirectly (though thehostmight) - Doesn't use
ffserver(so I dropped dependencies onffmpeg,lameand its libs) - Doesn't use
supervisor - Doesn't use
sshd