Skip to main content

jack-audio-tools

A collection of utilities and tools for the JACK audio ecosystem

JACK Transport

The scripts in the jackaudiotools.transport package query or manipulate the JACK transport state.

They require the JACK-Client package to be installed, which will be installed automatically, when you install the jack-audio-tools distribution via pip:

pip install jack-audio-tools

jack-midi-to-transport

JACK client which allows to control transport state via MIDI.

The client provides a MIDI input and converts received MIDI system real-time and MIDI machine control (MMC) messages into JACK transport commands.

The following MIDI messages, when received, start the JACK transport:

  • START (System Real-time)
  • CONTINUE (System Real-time)
  • PLAY (MMC)
  • DEFERRED PLAY (MMC)

These messages stop the transport:

  • STOP (System Real-time)
  • STOP (MMC)
  • PAUSE (MMC)
  • RESET (MMC)

And these rewind the transport to frame zero:

  • REWIND (MMC)
  • RESET (MMC)

MMC messages are ignored, if the device number in the MMC System Exclusive message does not match the client's device number (set with the -d command line option).

If the client's device number is set to 127 (the default), it matches all MMC message device numbers.

jack-rtmidi-to-transport

JACK client which allows to control transport state via MIDI.

A variant of midi_to_transport, which uses the python-rtmidi package as a MIDI backend instead of JACK-Client, which is slightly more efficient, because MIDI input processing is happening in a C++ thread instead of a Python callback.

To use it, specify the rtmidi extra dependency when installing the jack-audio-tools distribution via pip:

pip install "jack-audio-tools[rtmidi]"

jack-timebase-master

A simple JACK timebase master, which provides musical timing related information (i.e. currents bar, beats per bar, beat denominator, BPM etc.) to other JACK clients.

jack-transporter

Query or change the JACK transport state.

JACK D-BUS

The scripts in the jackaudiotools.jackdbus package interface with the JACK D-BUS service to query information about the status of the JACK server and/or control its operation.

These scripts require the PyGobject and dbus-python packages to be installed. To install these, specify the dbus extra dependency when installing the jack-audio-tools distribution via pip:

pip install "jack-audio-tools[dbus]"

jack-dbus-monitor

This script monitors the JACK server via D-BUS and runs a command on status changes and optionally at a given interval passing some JACK stats in the environment.

Here is an example shell script to use as a command:

#!/bin/bash

event="$1"  # 'start', 'stop' or 'status'
echo "JACK event: $event"

if [[ "$event" = "status" ]]; then
    echo "IS_STARTED: $IS_STARTED"
    echo "IS_REALTIME: $IS_REALTIME"
    echo "PERIOD: $PERIOD"
    echo "LATENCY: $LATENCY"
    echo "LOAD: $LOAD"
    echo "XRUNS: $XRUNS"
    echo "SAMPLERATE: $SAMPLERATE"
fi

Save this as jack_status.sh and use it like so:

jack-dbus-monitor --interval-stats 1000 ./jack_status.sh

LV2

The scripts in the jackaudiotools.lv2 package help with querying information from the LV2 plugins installed on the system.

They require the lilv Python bindings to be installed. Unfortunately, these can not be installed from the Python Package Index. Instead, install a recent version of the lilv library, either from your distribution's package repository or from source.

lv2-grep

Print URIs of all installed LV2 plugins matching the given regular expression.

Can optionally output the list of matching plugins in JSON format, where each list item is an object with the plugin name and uri and optionally the list of categories the plugin belongs to, as properties.

lv2-plugin-uris

Print a list of all URIs associated with an LV2 plugin.

lv2-list-plugin-presets

List all presets of an LV2 plugin with the given URI.

lv2-plugin-info

Generate a JSON document with information about a single or all installed LV2 plugins. This allows plugin meta data to be loaded quickly in other programs.

Depending on the number of plugins installed on your system, this script may run for several seconds or even minutes and produce an output file of several megabytes in size.

Carla

The scripts in the jackaudiotools.carla package manipulate or query Carla project files.

carxp2lv2presets

Export plugin settings from a Carla project file (.carxp) as LV2 preset bundles.

This script requires the rdflib package to be installed. To install it, specify the rdflib extra dependency when installing the jack-audio-tools distribution via pip:

pip install "jack-audio-tools[rdflib]"

License

This software is distributed under the MIT License.

See the file LICENSE for more information.

Author

This software is written by Christopher Arndt.

Metadata

Release files for jack-audio-tools 0.4.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jack-audio-tools 0.4.1
File Size Uploaded
jack-audio-tools-0.4.1.tar.gz 22.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for jack-audio-tools 0.4.1
File Interpreter ABI Platform
jack_audio_tools-0.4.1-py3-none-any.whl Python 3 none any Details

Total release size: 47.8 kB

Release files / jack-audio-tools-0.4.1.tar.gz

Download URL jack-audio-tools-0.4.1.tar.gz
Size 22.0 kB
Tags Source
SHA-256 checksum
How to use checksums
030ea28165551f801d7c9170c1fd06da5fa7b0473d7c9d37f7bc4351b0955191
BLAKE2b-256 checksum
How to use checksums
e4c02031e4044615eb70646bf690055ab743088425f71e4df20815cd9ea457ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.3

Release files / jack_audio_tools-0.4.1-py3-none-any.whl

Download URL jack_audio_tools-0.4.1-py3-none-any.whl
Size 25.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
57540c325d1d4e41ade653e5a72f5b8f7f21f91f5e964920c60a631ca0f9df81
BLAKE2b-256 checksum
How to use checksums
2ccd7d820a8d6d30f9d0bc6eccb8f938eb2426db6f5459b54d9e6eb4b13b380c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.3

Release history Release notifications | RSS feed

This release

0.4.1 This release

2 release files

0.4.0

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

1 release file

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page