Based on the work of DoubleDensity's Tidebox
A complete Tidal musical live coding and audio streaming environment inside Docker
$ git clone https://github.com/lvm/tida1vm
$ cd tida1vm
$ git checkout 0.8
$ docker build -t tida1vm-0.8 .
$ docker run -ti --rm --privileged -v /dev/bus/usb:/dev/bus/usb --name 1vm8 tida1vm-0.8
All of them are connected to ALSA "Midi Through".
Device | Stream | MIDI Port | Tidal Midi | Soundfont | Notes |
---|---|---|---|---|---|
Volca Beats | beats | 1 | VolcaBeats.hs | ||
Volca Bass | bass | 2 | VolcaBass.hs | ||
Qsynth | drums | 3 | GMPerc.hs | GeneralUser | Bank 145 / Prog 25 |
{Q,am}synth | midi4 | 4 | Synth.hs | ||
{Q,am}synth | midi5 | 5 | Synth.hs | ||
{Q,am}synth | midi6 | 6 | Synth.hs | ||
{Q,am}synth | midi7 | 7 | Synth.hs | ||
{Q,am}synth | midi8 | 8 | Synth.hs | ||
{Q,am}synth | midi9 | 9 | Synth.hs | ||
{Q,am}synth | midi10 | 10 | Synth.hs | ||
{Q,am}synth | midi11 | 11 | Synth.hs | ||
{Q,am}synth | midi12 | 12 | Synth.hs | ||
{Q,am}synth | midi13 | 13 | Synth.hs | ||
{Q,am}synth | midi14 | 14 | Synth.hs | ||
{Q,am}synth | midi15 | 15 | Synth.hs | ||
{Q,am}synth | midi16 | 16 | Synth.hs |
The GeneralUser SoundFont is a work by S. Christian Collins.
They used to be named based on a particular use, now it's more generic.
In order to alias any stream, just write in your .tidal
file, something like:
let something = midi4
-- now it can be used as:
something $ n "c d e f"
For 0.8
, I updated the General MIDI Percussion keymap
module here with the idea to integrate it to the rest of tidal-midi
.
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
For more info, take a look at the wiki.