/Dirt

Experimental sample playback

Primary LanguageCGNU General Public License v3.0GPL-3.0

An unimpressive thingie for playing bits of samples with some level of accuracy.

(c) Alex McLean and contributors, 2016 Released under the GNU Public Licence version 3

Linux installation

Here's how to install dirt under Debian, Ubuntu or a similar distribution:

sudo apt-get install build-essential libsndfile1-dev libsamplerate0-dev \
                     liblo-dev libjack-jackd2-dev qjackctl jackd git
git clone --recursive https://github.com/tidalcycles/Dirt.git
cd Dirt
make clean; make

Starting Dirt under Linux

First of all, start the "jack" audio layer. The easier way to do this is with the "qjackctl" app, which you should find in your program menus under "Sound & Video" or similar. If you have trouble with qjackctl, you can also try starting jack directly from the commandline:

jackd -d alsa &

If that doesn't work, you might well have something called "pulseaudio" in control of your sound. In that case, this should work:

/usr/bin/pasuspender -- jackd -d alsa &

And finally you should be able to start dirt with this:

cd ~/Dirt
./dirt &

If you have problems with jack, try enabling realtime audio, and adjusting the settings by installing and using the "qjackctl" software. Some more info can be found in the Ubuntu Community page for JACK configuration

MacOS installation

Installing Dirt's dependencies on Mac OS X can be done via homebrew or MacPorts, but choose only one to avoid conflicts with duplicate system libraries.

Unless otherwise specified, the below commands should be typed or pasted into a terminal window.

Installing dependencies via Homebrew

Homebrew is a package manager for OS X. It lives side by side with the native libraries and tools that ship with the operating system.

To install homebrew:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Initialise homebrew:

brew doctor

Install Dirt, a synth (well, more of a sampler) made to work with Tidal. A homebrew 'recipe' for dirt does exist, but that doesn't come with any sounds to play with, so for now it's probably easiest just download it all from github and compile it as follows.

Install some libraries which the Dirt synth needs to compile:

brew install liblo libsndfile libsamplerate

Install the 'jack audio connection kit' which Dirt also needs:

brew install jack

If Homebrew's installation of Jack fails with a make error, you can use the JackOSX Installer instead. This will, however, add an additional step when installing Dirt (see below).

Alternative: Installing dependencies via Mac Ports

MacPorts is another package manager for OS X.

If you already installed dependencies via homebrew, skip ahead to build Dirt.
Otherwise if you happen to already use MacPorts, here's a list of steps in order to get all dependencies:

sudo port install liblo libsndfile libsamplerate

Download and install jack2 Jack Download Page. Jack 2 has better OS X integration Jack Comparison.

Building Dirt from source

Get the source code for the Dirt synth:

cd ~
git clone --recursive https://github.com/tidalcycles/Dirt.git

Compile dirt:

cd ~/Dirt
make clean; make

If Dirt fails to compile after using the JackOSX installer as above, you may need to add flags to the Makefile to specify the appropriate paths:

CFLAGS += -g -I/usr/local/include -Wall -O3 -std=gnu99 -DCHANNELS=2
LDFLAGS += -lm -L/usr/local/lib -llo -lsndfile -lsamplerate -ljack

Homebrew users

As MacPorts installs all libs on /opt/local/ edit the Makefile to point the right direction of libsndfile and libsamplerate

CFLAGS += -g -I/opt/local/include -Wall -O3 -std=gnu99
LDFLAGS += -lm -L/opt/local/lib  -llo -lsndfile -lsamplerate

Starting Dirt under MacOS

To start Dirt, back in a terminal window, first start jack:

jackd -d coreaudio &

Or, if you downloaded Jack 2, then start the JackPilot at: /Applications/Jack/JackPilot.app

Click start button.

Then start dirt:

cd ~/Dirt
./dirt &

Windows installation

Cygwin

First, install Cygwin. In Cygwin, make sure the following packages are installed:

git
gcc-core
make
gcc-g++
libsndfile
libsndfile-devel
libsamplerate
libsamplerate-devel

Portaudio

Download Portaudio from http://www.portaudio.com. In Cygwin, Unpack the download with tar fxvz. After unpacking, from Cygwin, go to the directory where you unpacked Portaudio and then run:

./configure && make && make install

Liblo

Download Liblo. In Cygwin, unpack Liblo with tar fxvz, then in Cygwin go to the directory where you unpacked Liblo and then run:

./configure && make && make install

Dirt

In Cygwin:

git clone --recursive http://github.com/tidalcycles/Dirt.git

Then:

cd Dirt
make dirt-pa

Then you get a dirt-pa.exe that works. Maybe this even works on any windows system without having to compile. You'd need cygwin1.dll at least though.