noiseorchestra / jacktrip_pypatcher

Python scripts to autopatch a JackTrip hubserver
GNU General Public License v3.0
6 stars 1 forks source link

Madwort Auto Patcher

Use JackClient Python API to do some autopatching for our JackTrip server

Install

Dependencies

Install LADSPA/Jack plugins

$ sudo aptitude install invada-studio-plugins-ladspa
$ git clone https://repo.or.cz/ng-jackspa.git
$ sudo aptitude install libglib2.0-dev libncurses5-dev ladspa-sdk ladspa-sdk-dev
$ cd ng-jackspa
# trying to avoid building the GTK version, so avoid make install...!
$ make njackspa jackspa-cli
$ cp njackspa jackspa-cli /usr/local/bin/
$ njackspa /usr/lib/ladspa/inv_input.so 3301

Python dependencies

To use this on Ubuntu 18, you'll need to install jackclient-python's dependencies, which currently means the following:

$ sudo aptitude install python3-pip
$ python3 -m pip install -r requirements.txt --user

Services

Systemd service files are in ./services, see the README.md there.

Usage

If all dependencies are configured correctly you can start the Jackd, Icecast and JackTrip services. Edit the relevant service config files if you want to change the default session configurations.

hard-coded paths

Modes

Mono headphone mix

Some clients would prefer to receive a mono headphone mix, as they can then wear their headphones only on one ear & hear the acoustic sound in their room with their other ear. The easiest thing is for these clients to run jacktrip with -n1.

Alternatively they can patch jacktrip/receive_2 to system/playback_1 on their local jackd server.

Run tests

Run tests with:

$ python3 -m pytest

Credits

Written by Tom Ward and Sam Andreae as part of a project with Noise Orchestra