{"id":21689228,"url":"https://github.com/spotlightkid/jack-audio-tools","last_synced_at":"2025-04-12T09:26:06.869Z","repository":{"id":57438094,"uuid":"208475858","full_name":"SpotlightKid/jack-audio-tools","owner":"SpotlightKid","description":"A collection of utilities and tools for the JACK audio ecosystem","archived":false,"fork":false,"pushed_at":"2023-11-25T23:56:54.000Z","size":73,"stargazers_count":17,"open_issues_count":0,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-26T04:24:03.246Z","etag":null,"topics":["carla","dbus","jack-audio-connection-kit","jack-client","jack-transport","jackdbus","lilv","lv2","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SpotlightKid.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-14T17:17:48.000Z","updated_at":"2025-02-01T09:15:59.000Z","dependencies_parsed_at":"2023-11-26T00:26:50.437Z","dependency_job_id":"1136a2bc-1e57-4d04-80e2-c93f131c64c4","html_url":"https://github.com/SpotlightKid/jack-audio-tools","commit_stats":{"total_commits":52,"total_committers":2,"mean_commits":26.0,"dds":"0.019230769230769273","last_synced_commit":"4cd47dc20d8ebef2560589da126164d3456a9439"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpotlightKid%2Fjack-audio-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpotlightKid%2Fjack-audio-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpotlightKid%2Fjack-audio-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SpotlightKid%2Fjack-audio-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SpotlightKid","download_url":"https://codeload.github.com/SpotlightKid/jack-audio-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248545306,"owners_count":21122113,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["carla","dbus","jack-audio-connection-kit","jack-client","jack-transport","jackdbus","lilv","lv2","python"],"created_at":"2024-11-25T17:22:01.360Z","updated_at":"2025-04-12T09:26:06.845Z","avatar_url":"https://github.com/SpotlightKid.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jack-audio-tools\n\nA collection of utilities and tools for the [JACK] audio ecosystem\n\n\n## JACK Transport\n\nThe scripts in the `jackaudiotools.transport` package query or manipulate the\nJACK transport state.\n\nThey require the [JACK-Client] package to be installed, which will be installed\nautomatically, when you install the `jack-audio-tools` distribution via `pip`:\n\n    pip install jack-audio-tools\n\n\n### `jack-midi-to-transport`\n\nJACK client which allows to control transport state via MIDI.\n\nThe client provides a MIDI input and converts received MIDI system real-time\nand MIDI machine control (MMC) messages into JACK transport commands.\n\nThe following MIDI messages, when received, start the JACK transport:\n\n* `START` (System Real-time)\n* `CONTINUE` (System Real-time)\n* `PLAY` (MMC)\n* `DEFERRED PLAY` (MMC)\n\nThese messages stop the transport:\n\n* `STOP` (System Real-time)\n* `STOP` (MMC)\n* `PAUSE` (MMC)\n* `RESET` (MMC)\n\nAnd these rewind the transport to frame zero:\n\n* `REWIND` (MMC)\n* `RESET` (MMC)\n\nMMC messages are ignored, if the device number in the MMC System Exclusive\nmessage does not match the client's device number (set with the -d command\nline option).\n\nIf the client's device number is set to 127 (the default), it matches all\nMMC message device numbers.\n\n\n### `jack-rtmidi-to-transport`\n\nJACK client which allows to control transport state via MIDI.\n\nA variant of `midi_to_transport`, which uses the [python-rtmidi] package\nas a MIDI backend instead of JACK-Client, which is slightly more efficient,\nbecause MIDI input processing is happening in a C++ thread instead of a\nPython callback.\n\nTo use it, specify the `rtmidi` extra dependency when installing the\n`jack-audio-tools` distribution via `pip`:\n\n    pip install \"jack-audio-tools[rtmidi]\"\n\n\n### `jack-timebase-master`\n\nA simple JACK timebase master, which provides  musical timing related\ninformation (i.e. currents bar, beats per bar, beat denominator, BPM etc.)\nto other JACK clients.\n\n\n### `jack-transporter`\n\nQuery or change the JACK transport state.\n\n\n## JACK D-BUS\n\nThe scripts in the `jackaudiotools.jackdbus` package interface with the JACK\nD-BUS service to query information about the status of the JACK server and/or\ncontrol its operation.\n\nThese scripts require the [PyGobject]  and [dbus-python] packages to be\ninstalled. To install these, specify the `dbus` extra dependency when\ninstalling the `jack-audio-tools` distribution via `pip`:\n\n    pip install \"jack-audio-tools[dbus]\"\n\n\n### `jack-dbus-monitor`\n\nThis script monitors the JACK server via D-BUS and runs a command on status\nchanges and optionally at a given interval passing some JACK stats in the\nenvironment.\n\nHere is an example shell script to use as a command:\n\n```bash\n#!/bin/bash\n\nevent=\"$1\"  # 'start', 'stop' or 'status'\necho \"JACK event: $event\"\n\nif [[ \"$event\" = \"status\" ]]; then\n    echo \"IS_STARTED: $IS_STARTED\"\n    echo \"IS_REALTIME: $IS_REALTIME\"\n    echo \"PERIOD: $PERIOD\"\n    echo \"LATENCY: $LATENCY\"\n    echo \"LOAD: $LOAD\"\n    echo \"XRUNS: $XRUNS\"\n    echo \"SAMPLERATE: $SAMPLERATE\"\nfi\n```\n\nSave this as `jack_status.sh` and use it like so:\n\n```console\njack-dbus-monitor --interval-stats 1000 ./jack_status.sh\n```\n\n\n## LV2\n\nThe scripts in the `jackaudiotools.lv2` package help with querying information\nfrom the [LV2] plugins installed on the system.\n\nThey require the [lilv] Python bindings to be installed. Unfortunately, these\ncan not be installed from the Python Package Index. Instead, install a recent\nversion of the `lilv` library, either from your distribution's package\nrepository or from source.\n\n\n### `lv2-grep`\n\nPrint URIs of all installed LV2 plugins matching the given regular expression.\n\nCan optionally output the list of matching plugins in JSON format, where each\nlist item is an object with the plugin name and uri and optionally the list of\ncategories the plugin belongs to, as properties.\n\n\n### `lv2-plugin-uris`\n\nPrint a list of all URIs associated with an LV2 plugin.\n\n\n### `lv2-list-plugin-presets`\n\nList all presets of an LV2 plugin with the given URI.\n\n\n### `lv2-plugin-info`\n\nGenerate a JSON document with information about a single or all installed LV2\nplugins. This allows plugin meta data to be loaded quickly in other programs.\n\nDepending on the number of plugins installed on your system, this script may\nrun for several seconds or even minutes and produce an output file of several\nmegabytes in size.\n\n\n## Carla\n\nThe scripts in the `jackaudiotools.carla` package manipulate or query [Carla]\nproject files.\n\n\n### `carxp2lv2presets`\n\nExport plugin settings from a Carla project file (.carxp) as LV2 preset bundles.\n\nThis script requires the [rdflib] package to be installed. To install it,\nspecify the `rdflib` extra dependency when installing the `jack-audio-tools`\ndistribution via `pip`:\n\n    pip install \"jack-audio-tools[rdflib]\"\n\n\n## License\n\nThis software is distributed under the MIT License.\n\nSee the file [LICENSE](./LICENSE) for more information.\n\n\n## Author\n\nThis software is written by *Christopher Arndt*.\n\n\n[carla]: https://kx.studio/Applications:Carla\n[dbus-python]: https://pypi.org/project/dbus-python\n[jack-client]: https://pypi.org/project/JACK-Client\n[jack]: https://jackaudio.org/\n[lilv]: http://drobilla.net/software/lilv\n[lv2]: http://lv2plug.in/\n[PyGObject]: https://pypi.org/project/PyGobject\n[python-rtmidi]: https://pypi.org/project/python-rtmidi\n[rdflib]: https://pypi.org/project/rdflib\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspotlightkid%2Fjack-audio-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspotlightkid%2Fjack-audio-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspotlightkid%2Fjack-audio-tools/lists"}