Public | Automated Build

Last pushed: 2 years ago
Short Description
Tidal base and derived livecoding setups.
Full Description


Based on the work of DoubleDensity's Tidebox and
tida1vm by @lvm

A complete Tidal musical live coding and audio streaming environment inside Docker

uses tidal-0.8 and tidal-midi-0.8

Getting started

You can use docker pull to get a recent built image for tidal.

$ docker pull lennart/tida1vm:0.8

If you want extra control you follow the instructions below to customize the default tidal image.

Build from source

$ git clone
$ 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

MIDI Ports

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"

Custom tidal-midi Synths

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

Extra docs

For more info, take a look at the wiki.


Docker Pull Command
Source Repository