add a lot, rearrange

This commit is contained in:
Milkii Brewster 2020-12-18 08:52:52 +00:00
parent 0af58f05b4
commit c68df4bcdf
1 changed files with 249 additions and 230 deletions

479
Home.md
View File

@ -70,6 +70,7 @@ Other suggestions can be found at: https://wiki.linuxaudio.org/wiki/session_mana
* [jack-plumbing](http://rohandrape.net/?t=rju&e=md/jack-plumbing.md) - implicitly bounded regex rules with sub-expression pattern supportto manage connections as clients register ports with JACK.
* https://github.com/resinbeard/autocable - eats your text files and routes JACK connections for you
* [Beginning a GNU/Linux/JACK headless performance system](https://llllllll.co/t/beginning-a-gnu-linux-jack-headless-performance-system/1119)
* [ALSA Patch Bay](http://pkl.net/~node/software/alsa-patch-bay) - graphical patch bay for ALSA and JACK that can use FLTK or GTKmm
### Terminal
* [njconnect](https://sourceforge.net/projects/njconnect)
@ -90,237 +91,7 @@ Other suggestions can be found at: https://wiki.linuxaudio.org/wiki/session_mana
* [PulseAudio and Jack](http://0pointer.de/blog/projects/when-pa-and-when-not.html)
* [How to replace Pulseaudio with Jack, Jack and PulseAudio Together as Friend](https://forum.manjaro.org/t/how-to-replace-pulseaudio-with-jack-jack-and-pulseaudio-together-as-friend/2086) - Manjaro Linux Forum
# JACK Transport / JACK Timebase
* [[JACK Transport support]] and [[JACK Transport limitations]]
```
jack_transport> ?
activate Call jack_activate().
exit Exit transport program.
deactivate Call jack_deactivate().
help Display help text [<command>].
locate Locate to frame <position>.
master Become timebase master [<conditionally>].
play Start transport rolling.
quit Synonym for 'exit'.
release Release timebase.
stop Stop transport.
tempo Set beat tempo <beats_per_min>.
timeout Set sync timeout in <seconds>.
? Synonym for `help'.
echo play | jack_transport
# pass a command to execute. tempo change doesn't work via this method.
```
* [gjacktransport](http://gjacktransport.sourceforge.net/) - app for controlling the JACK transport mechanism
* [transporter.py](https://github.com/SpotlightKid/jack-audio-tools/blob/master/transport/transporter.py) / [timebase_master.py](https://github.com/SpotlightKid/jack-audio-tools/blob/master/transport/timebase_master.py) - query and manipulate JACK transport state and provide timebase information using jackclient-python.
* [jacktransportloop](http://danmbox.github.io/jack-file/) - forces the Jack transport to loop between two time-points.
* https://github.com/ycollet/qtmiditrans - translates midi events into jack transport
* [jack-trans2midi](https://sourceforge.net/projects/jack-trans2midi/) - converts jack transport into midi clock messages.
* [JackCtlMMC/QJackMMC](http://jackctlmmc.sourceforge.net/) - allow MIDI Machine Control (MMC) to drive JACK transport.
* https://github.com/rncbc/jack_link - a JACK transport timebase prototype bridge to [Ableton Link](https://www.ableton.com/en/link/).
## Metronome
* https://github.com/jmage619/jmetro - dumb JACK based metronome with a Qt based UI.
* https://github.com/TGrif/jack-metronome - gtkmm, sndfile
* https://gitlab.com/tmatth/polygnome - A polyrhythmic metronome
# CV
* [JACK/LV2 CV - LinuxMusicians](https://linuxmusicians.com/viewtopic.php?f=1&t=20701)
# MIDI
* [JACK-AUDIO-CONNECTION-KIT API: Reading and writing MIDI data](https://jackaudio.org/api/group__MIDIAPI.html)
* [JACK-AUDIO-CONNECTION-KIT API: midiport.h File Reference](https://jackaudio.org/api/midiport_8h.html)
* https://github.com/harryhaaren/JACK-MIDI-Examples
* https://github.com/jerash/jpmidi - command line midi player synced with JACK transport
* [jack-smf-player / jack-smf-recorder](https://sourceforge.net/projects/jack-smf-utils/) - play and record MIDI streams from/to Standard MIDI Files, uses libsmf as a backend.
* https://github.com/x42/jack-midi-cmd - commandline tool to generate JACK MIDI events
* https://github.com/paulguy/crustymidi - JACK MIDI event scripting triggerable on events
* https://github.com/noedigcode/oldnotes - replaces velocities of specified notes with that ofthe previously received non-specified notes
* https://github.com/jmage619/velociraptor - A Jack midi velocity compressor with Qt based UI.
* https://github.com/x42/jack_midi_clock - utility to send MIDI Beat Clock pulses that follow the JACK Transport
* https://github.com/chronopoulos/jack-midi-timestamp - simple timing log for JACK MIDI events
* https://github.com/xitiomet/jack-rtp-midi-bridge - bridge JACK MIDI and RTP MIDI
* https://sourceforge.net/projects/arpage - MIDI Arpeggiator w/ JACK Tempo Sync
* https://github.com/falkTX/nooice - joysticks as JACK-MIDI devices
* https://github.com/moddevices/mod-midi-merger - small JACK-internal client to merge MIDI events from several inputs to one output
* https://github.com/falkTX/JackAss - a VST plugin that provides JACK-MIDI support for VST hosts
### Keyboard
* https://github.com/brummer10/Mamba - virtual MIDI Keyboard and MIDI file player/recorder/looper for Jack Audio Connection Kit
* [jack-keyboard](http://jack-keyboard.sourceforge.net/) - virtual keyboard for JACK MIDI
* https://github.com/metachronica/audio-midihaskey - virtual MIDI keyboard for microtonal music
* https://github.com/noedigcode/keytarboard - translates keyboard key presses into JACK MIDI notes
* https://github.com/ovenwerks/midikb - keyboard to Jack MIDI program
* https://github.com/Krasjet/kb - Customizable virtual MIDI keyboard daemon for JACK.
### Sequencing
* https://github.com/chronopoulos/libsequoia - an API for generative musical sequencing
### Looping
* https://github.com/ahlstromcj/sequencer64 - major reboot of Seq24, with new features
* https://github.com/ahlstromcj/seq66 - lean and mean version of Sequencer64 using modern C++ and Qt 5.
### DJing
* https://mixxx.org - Free and open source DJ software for Windows, macOS, and Linux
## Bridge
* https://github.com/linuxaudio/a2jmidid - ALSA sequencer to JACK MIDI bridging (for jack2)
* https://github.com/free-creations/a_j_midi - Connect ALSA with JACK MIDI
* https://github.com/williamweston/jamrouter - Near-Sample-Accurate JACK <-> Raw MIDI router
* https://github.com/hselasky/jack_umidi - Raw MIDI to JACK daemon
# OSC
* https://github.com/ventosus/jack_osc - Open Sound Control (OSC) via Jack
* [jack-data](http://rohandrape.net/?t=rju&e=md/jack-data.md)- JACK audio data onto OSC
* https://github.com/x42/jackmidi2osc - tool to generate OSC triggered by JACK MIDI events.
* https://github.com/ssj71/OSC2MIDI - configurable OSC to jack MIDI (and back) bridge
* https://github.com/piegamesde/jackmidiosc - Midi to OSC bridge using JACK audio, written in Rust
# Networked
* [NetJACK 1](wiki/WalkThrough_User_NetJack) - connect JACK 1 servers via network
* [NetJACK 2](wiki/WalkThrough_User_NetJack2) - connect JACK 2 servers via network
* [Zita-njbridge](https://kokkinizita.linuxaudio.org/linuxaudio/) - transmit full quality multichannel audio over a local IP network, with adaptive resampling by the receiver(s).
* https://github.com/rhetr/ipaudio - use jackd, zita-njbridge and systemd for network ip audio
* https://github.com/nettings/medianet - Raspbian overlay to create a JACK-based embedded system for audio processing and streaming
* https://github.com/gisogrimm/ov-client - headless clients to share/receive spatial realtime audio using JACK, zita-njbridge and TASCAR
* [JackTrip](https://ccrma.stanford.edu/software/jacktrip)
* https://github.com/jcacerec/jacktrip
* https://github.com/noahbailey/jacktrip-docker - Container for JackTrip network audio server
* https://github.com/noiseorchestra/jacktrip_pypatcher - Python scripts to autopatch a JackTrip hubserver
* https://github.com/noiseorchestra/autonomous-noise-unit - Python scripts for running JackTrip on an RPi with OLED screen and rotary switch interface.
# Radio
* https://github.com/mildsunrise/jackpifm - program that runs on your Raspberry Pi, reads live audio from JACK and broadcasts it over FM through the GPIO pin 7 (GPIO #4).
# Hardware
* https://github.com/nettings/gpioctl - Control the ALSA mixer or generate JACK MIDI or OSC messages from rotary encoders and switches connected to GPIOs.
# Install and packaging
* [[Installation filesystem layout]]
* [[Suggested packaging approach]]
* [JACK D-Bus packaging](wiki/JACK-DBus-packaging)
# Developer resources
* [JACK API reference (doxygen)](https://jackaudio.github.io/api)
* [[jack2 source code guide]]
* [[jack1 source code guide]]
* [[JACK API differences]] - changes between jack1 and jack2
* [[Repository layout]]
* [[WalkThrough_Dev_LatencyBufferProcess]]
* [[WalkThrough_Dev_SimpleAudioClient]]
* [[WalkThrough_Dev_SimpleMidiClient]]
* [[WalkThrough_Dev_Tools]]
* [[WalkThrough_Dev_Cpp]]
* [[WalkThrough_Dev_AlsaIoTools]]
* [[WalkThrough_Dev_NetOne]]
* https://github.com/jackaudio/headers
* [x42/weakjack](https://github.com/x42/weakjack) - small library that abstracts the JACK Application Binary Interface.
## Bindings
* https://github.com/spatialaudio/jackclient-python - JACK Audio Connection Kit (JACK) Client for Python snake
* [PyJack](https://sourceforge.net/projects/py-jack/) - JACK client module for Python
* https://github.com/fphammerle/jacker - Python bindings for the JACK Audio Connection Kit C API
* https://github.com/falkTX/Cadence/blob/master/src/jacklib.py
* https://github.com/jaudiolibs/jnajack - Java bindings to JACK Audio Connection Kit [[*](http://lac.linuxaudio.org/2007/presentations/lac07_slides_gulden1.pdf)]
* https://github.com/free-creations/jackAudio4Java - thin JNI wrapper around the JACK Audio Connection Kit
* https://github.com/umjammer/jjack - Jack-to-Java Audio Driver and Bridge API
* https://github.com/residuum/JackSharp - C# bindings for jackd
* https://github.com/xthexder/go-jack - Go bindings for Jack Audio Connection Kit
* https://github.com/stetre/luajack - requires Lua (>=5.3) and JACK (API >= v0.124.1)
* https://github.com/unclechu/node-jack-connector - Bindings JACK-Audio-Connection-Kit for Node.JS
## Metadata
* [JACK Metadata](https://jackaudio.org/metadata)
* [order](https://jackaudio.org/metadata/order)
* port-group - for stereo pair/ambisonics/etc
* [pretty-name](https://jackaudio.org/metadata/pretty-name)
* [signal-type](https://jackaudio.org/metadata/signal-type)
* [event-types](https://jackaudio.org/metadata/event-types)
* [connected](https://jackaudio.org/metadata/connected)
* [hardware](https://jackaudio.org/metadata/hardware)
* [icon-large](https://jackaudio.org/metadata/icon-large)
* [icon-small](https://jackaudio.org/metadata/icon-large)
* [icon-name](https://jackaudio.org/metadata/icon-large)
* [jack2/JackMetadata.cpp at develop · jackaudio/jack2](https://github.com/jackaudio/jack2/blob/develop/common/JackMetadata.cpp#L30)
* https://github.com/drobilla/jackey - simple define-only header that serves as an ad-hoc standard for Jack Metadata property keys
`jack_property` - list, set and delete any metadata associated with the ports and clients of a JACK server
* [jack-property-listener.py](https://gist.github.com/SpotlightKid/dc70dac006337c99bf65bcdc98e43ddc) - Listen to and print JACK client/port metadata changes
## Testing
* https://github.com/falkTX/jack_interposer - Library to check at run-time whether an application makes non-RT-safe calls inside the process() callback
* https://github.com/falkTX/jack-midi-timing - Sender and receiver tool to test the timing accuracy and jitter of MIDI devices
# JACK Clients
* [JACK-AUDIO-CONNECTION-KIT: Creating & manipulating clients](https://jackaudio.org/api/group__ClientFunctions.html) - API
* [On JACK client threads](wiki/WalkThrough_User_ClientThreads)
* https://github.com/jackaudio/example-clients
* https://github.com/jackaudio/example-clients/blob/master/inprocess.c - internal client, runs as part of jackd
* https://github.com/resinbeard/jacksandbox - simple JACK client for learning and testing audio code
## Playback
* [jplay2](https://gareus.org/oss/jplay2/start) - a command-line audio player that plays a single file, gluing JACK, libsamplerate, liblo (OSC control)
* https://github.com/eeeeeta/mfl-gramophone - A simple Rust application to play audio, using JACK, when it receives commands via OSC.
## Recording
* https://github.com/kmatheussen/jack_capture - program for recording soundfiles with JACK
* [jrec2](http://gareus.org/oss/jrec/jrec2) - patch to jack_capture that implements silence detection and splitting of output files
* [RecJack](http://mein-neues-blog.de/2015/02/07/mein-neues-blog-deb-repository/#recjack) - a front end for jack_capture
* https://github.com/HoerTech-gGmbH/jack_playrec - provides an interface for synchronous recording/playback via JACK
* [qjackrcd](https://orouits.github.io/qjackrcd/) - stereo recorder with automatic silence pause, file splitting and background file post-processing
* https://github.com/UoC-Radio/audio-coffin - A simple audio recorder/logger on top of Jack, libsndfile and libsoxr
* https://github.com/swh/timemachine - JACK application that can retrospectively record audio
## Tuners
* https://github.com/brummer10/XTuner - simple tuner for JACK including NSM support
* https://github.com/jessecrossen/jackstrobe - simple strobe tuner using JACK and Qt 5
## Visualisation
* [JACK Meter](https://www.aelius.com/njh/jackmeter/) - a basic console based DPM (Digital Peak Meter) for JACK
* https://github.com/madskjeldgaard/jack_meter_simple - fork of JACK Meter for status bar commands
* https://github.com/gethiox/jack-peak-meter - terminal-based peak-meter for JACK audio system writen in Go
* https://github.com/xkr47/vu-meter - Audio VU meter for JACK with any number of channels written in Rust
* [jack_oscrolloscope](http://das.nasophon.de/jack_oscrolloscope/) - a simple waveform viewer for JACK
* https://github.com/alxdb/jack-analyser - an osciloscope for the JACK Audio API
* [JACK Meterbridge](http://plugin.org.uk/meterbridge/) - supports a number of different types of meter, rendered using the SDL library and user-editable pixmaps
* [Japa](http://kokkinizita.linuxaudio.org/linuxaudio/japa-pict.html)
* http://sed.free.fr/spectrojack - little spectrogram/audiogram/sonogram/whatever that, using GTK2 and FFTW3.
* http://spectrum3d.sourceforge.net - displays a 3D audio spectrogram in real time or not, made using Gstreamer, SDL (or Gtkglext), OpenGl, GTK2/3 and uTouch-Geis free libraries
* [JACK Live Spectrum](http://consciousness.mywebcommunity.org/programming/jack-live-spectrum/) - a small C program for Linux that displays a flowing frequency spectrum of live audio
* https://github.com/jcarrano/rtfi - Resonator Time-Frequency Image
## Mixer
* https://github.com/MaurizioB/jack_switch - simple insert switcher for jack clients
* https://github.com/jack-mixer/jack_mixer - a GTK+ JACK audio mixer app with look similar to its hardwarecounterpart. It has lot of useful features, apart from being able to mixmultiple JACK audio streams.
* [Non Mixer](http://non.tuxfamily.org/wiki/index.php?page=Non%20Mixer) - a powerful, reliable and fast modular Digital Audio Mixer ([LV2 fork](https://github.com/falktx/non))
* https://github.com/kampfschlaefer/jackmix - Matrix-Mixer for the Jack-Audio-connection-Kit
* https://github.com/jacob3141/mx2482 - JACK Mixer written with Qt, based on QJackAudio
* [Jackmaster](http://69b.org/cms/software/jackmaster) - "Master Console" for the jack-audio-connection-kit
* [JackMiniMix](https://www.aelius.com/njh/jackminimix/) - simple mixer with an OSC based control interface
## Samples
* https://github.com/resinbeard/candor - enables a monome 256 user to capture and playback audio from up to 8 channels simultaneously, managing a maximum of 48 remembered wav soundfiles without a computer display.
* https://github.com/jmage619/jmage-sampler
## Looping
* https://github.com/monocasual/giada - minimalistic and hardcore music production tool
## Synthesis
* https://github.com/Ho-Ro/connie - Electronic organ (Vox Continental like) with JACK interface
## Video
* [XJADEO - The X Jack Video Monitor](http://xjadeo.sourceforge.net/) - a software video player that displays a video-clip in sync with an external time source (MTC, LTC, JACK-transport). Xjadeo is useful in soundtrack composition, video monitoring or any task that requires to synchronizing movie frames with external events.
## Tools
* http://devel.tlrmx.org/audio/bitmeter - a diagnosis tool for JACK audio software on Linux
* [Zita MU1](http://kokkinizita.linuxaudio.org/linuxaudio/zita-mu1-doc/quickguide.html) - used to organise stereo monitoring
* [SilentJack](https://www.aelius.com/njh/silentjack) - silence/dead air detector for the Jack Audio Connection Kit
* [Rotter](https://www.aelius.com/njh/rotter/) - a Recording of Transmission / Audio Logger for JACK
* https://github.com/jackaudio/tools
JACK2 package commands:
```
jack_alias
@ -381,6 +152,254 @@ jack_zombie
* https://github.com/x42/robtk/blob/master/jackwrap.c - x42 jack wrapper / minimal LV2 host
* https://github.com/ponderworthy/MultiJACK - fully operational demo of a framework to increase available audio DSP power available to JACK within a single multicore motherboard, using multiple JACK processes in concert, connected via IP transport.
# JACK Transport / JACK Timebase
* [[JACK Transport support]] and [[JACK Transport limitations]]
```
jack_transport> ?
activate Call jack_activate().
exit Exit transport program.
deactivate Call jack_deactivate().
help Display help text [<command>].
locate Locate to frame <position>.
master Become timebase master [<conditionally>].
play Start transport rolling.
quit Synonym for 'exit'.
release Release timebase.
stop Stop transport.
tempo Set beat tempo <beats_per_min>.
timeout Set sync timeout in <seconds>.
? Synonym for `help'.
echo play | jack_transport
# pass a command to execute. tempo change doesn't work via this method.
```
# JACK Clients
* [JACK-AUDIO-CONNECTION-KIT: Creating & manipulating clients](https://jackaudio.org/api/group__ClientFunctions.html) - API
* [On JACK client threads](wiki/WalkThrough_User_ClientThreads)
* https://github.com/jackaudio/example-clients
* https://github.com/jackaudio/example-clients/blob/master/inprocess.c - internal client, runs as part of jackd
* https://github.com/resinbeard/jacksandbox - simple JACK client for learning and testing audio code
## Playback
* [jplay2](https://gareus.org/oss/jplay2/start) - a command-line audio player that plays a single file, gluing JACK, libsamplerate, liblo (OSC control)
* https://github.com/eeeeeta/mfl-gramophone - A simple Rust application to play audio, using JACK, when it receives commands via OSC.
## Recording
* https://github.com/kmatheussen/jack_capture - program for recording soundfiles with JACK
* [jrec2](http://gareus.org/oss/jrec/jrec2) - patch to jack_capture that implements silence detection and splitting of output files
* [RecJack](http://mein-neues-blog.de/2015/02/07/mein-neues-blog-deb-repository/#recjack) - a front end for jack_capture
* https://github.com/HoerTech-gGmbH/jack_playrec - provides an interface for synchronous recording/playback via JACK
* [qjackrcd](https://orouits.github.io/qjackrcd/) - stereo recorder with automatic silence pause, file splitting and background file post-processing
* https://github.com/UoC-Radio/audio-coffin - A simple audio recorder/logger on top of Jack, libsndfile and libsoxr
* https://github.com/swh/timemachine - JACK application that can retrospectively record audio
## Editing / DAW
* [Audacity](https://www.audacityteam.org/) - multi-track recording and editing
* [Ardour](https://ardour.org/) - the digital audio workstation
* [Zrythm](https://www.zrythm.org) - highly automated and intuitive digital audio workstation
* [GNUsound](https://www.gnu.org/software/gnusound/) - multitrack sound editor for GNOME 1 and 2
* [Marlin](http://marlin.sourceforge.net) - sample editor for Gnome 2, uses GStreamer
* [ReZound](http://rezound.sourceforge.net/) - graphical audio file editor
* [Snd](https://ccrma.stanford.edu/software/snd/) - a sound editor
## Mixer
* https://github.com/MaurizioB/jack_switch - simple insert switcher for jack clients
* https://github.com/jack-mixer/jack_mixer - a GTK+ JACK audio mixer app with look similar to its hardwarecounterpart. It has lot of useful features, apart from being able to mixmultiple JACK audio streams.
* [Non Mixer](http://non.tuxfamily.org/wiki/index.php?page=Non%20Mixer) - a powerful, reliable and fast modular Digital Audio Mixer ([LV2 fork](https://github.com/falktx/non))
* https://github.com/kampfschlaefer/jackmix - Matrix-Mixer for the Jack-Audio-connection-Kit
* https://github.com/jacob3141/mx2482 - JACK Mixer written with Qt, based on QJackAudio
* [Jackmaster](http://69b.org/cms/software/jackmaster) - "Master Console" for the jack-audio-connection-kit
* [JackMiniMix](https://www.aelius.com/njh/jackminimix/) - simple mixer with an OSC based control interface
* [gjacktransport](http://gjacktransport.sourceforge.net/) - app for controlling the JACK transport mechanism
* [transporter.py](https://github.com/SpotlightKid/jack-audio-tools/blob/master/transport/transporter.py) / [timebase_master.py](https://github.com/SpotlightKid/jack-audio-tools/blob/master/transport/timebase_master.py) - query and manipulate JACK transport state and provide timebase information using jackclient-python.
* [jacktransportloop](http://danmbox.github.io/jack-file/) - forces the Jack transport to loop between two time-points.
* https://github.com/ycollet/qtmiditrans - translates midi events into jack transport
* [jack-trans2midi](https://sourceforge.net/projects/jack-trans2midi/) - converts jack transport into midi clock messages.
* [JackCtlMMC/QJackMMC](http://jackctlmmc.sourceforge.net/) - allow MIDI Machine Control (MMC) to drive JACK transport.
* https://github.com/rncbc/jack_link - a JACK transport timebase prototype bridge to [Ableton Link](https://www.ableton.com/en/link/).
## Host / FX
* [Carla](https://kx.studio/Applications:Carla) - fully-featured modular audio plugin host
* [Ingen](https://gitlab.com/drobilla/ingen/) - realtime modular audio system based on LV2
* [JACK Rack](http://jack-rack.sourceforge.net) - an effects "rack" for the JACK
## Samples
* https://github.com/resinbeard/candor - enables a monome 256 user to capture and playback audio from up to 8 channels simultaneously, managing a maximum of 48 remembered wav soundfiles without a computer display.
* https://github.com/jmage619/jmage-sampler
* [Swami](http://www.swamiproject.org/) - for editing, managing and playing musical instruments for MIDI music composition
## Looping
* https://github.com/monocasual/giada - minimalistic and hardcore music production tool
## Synthesis
* https://github.com/Ho-Ro/connie - Electronic organ (Vox Continental like) with JACK interface
## DJing
* https://mixxx.org - Free and open source DJ software for Windows, macOS, and Linux
## Metronome
* https://github.com/jmage619/jmetro - dumb JACK based metronome with a Qt based UI.
* https://github.com/TGrif/jack-metronome - gtkmm, sndfile
* https://gitlab.com/tmatth/polygnome - A polyrhythmic metronome
## Tuners
* https://github.com/brummer10/XTuner - simple tuner for JACK including NSM support
* https://github.com/jessecrossen/jackstrobe - simple strobe tuner using JACK and Qt 5
## Visualisation
* [JACK Meter](https://www.aelius.com/njh/jackmeter/) - a basic console based DPM (Digital Peak Meter) for JACK
* https://github.com/madskjeldgaard/jack_meter_simple - fork of JACK Meter for status bar commands
* https://github.com/gethiox/jack-peak-meter - terminal-based peak-meter for JACK audio system writen in Go
* https://github.com/xkr47/vu-meter - Audio VU meter for JACK with any number of channels written in Rust
* [jack_oscrolloscope](http://das.nasophon.de/jack_oscrolloscope/) - a simple waveform viewer for JACK
* https://github.com/alxdb/jack-analyser - an osciloscope for the JACK Audio API
* [JACK Meterbridge](http://plugin.org.uk/meterbridge/) - supports a number of different types of meter, rendered using the SDL library and user-editable pixmaps
* [Japa](http://kokkinizita.linuxaudio.org/linuxaudio/japa-pict.html)
* http://sed.free.fr/spectrojack - little spectrogram/audiogram/sonogram/whatever that, using GTK2 and FFTW3.
* http://spectrum3d.sourceforge.net - displays a 3D audio spectrogram in real time or not, made using Gstreamer, SDL (or Gtkglext), OpenGl, GTK2/3 and uTouch-Geis free libraries
* [JACK Live Spectrum](http://consciousness.mywebcommunity.org/programming/jack-live-spectrum/) - a small C program for Linux that displays a flowing frequency spectrum of live audio
* https://github.com/jcarrano/rtfi - Resonator Time-Frequency Image
# CV
* [JACK/LV2 CV - LinuxMusicians](https://linuxmusicians.com/viewtopic.php?f=1&t=20701)
# MIDI
* [JACK-AUDIO-CONNECTION-KIT API: Reading and writing MIDI data](https://jackaudio.org/api/group__MIDIAPI.html)
* [JACK-AUDIO-CONNECTION-KIT API: midiport.h File Reference](https://jackaudio.org/api/midiport_8h.html)
* https://github.com/harryhaaren/JACK-MIDI-Examples
* https://github.com/jerash/jpmidi - command line midi player synced with JACK transport
* [jack-smf-player / jack-smf-recorder](https://sourceforge.net/projects/jack-smf-utils/) - play and record MIDI streams from/to Standard MIDI Files, uses libsmf as a backend.
* https://github.com/x42/jack-midi-cmd - commandline tool to generate JACK MIDI events
* https://github.com/paulguy/crustymidi - JACK MIDI event scripting triggerable on events
* https://github.com/noedigcode/oldnotes - replaces velocities of specified notes with that ofthe previously received non-specified notes
* https://github.com/jmage619/velociraptor - A Jack midi velocity compressor with Qt based UI.
* https://github.com/x42/jack_midi_clock - utility to send MIDI Beat Clock pulses that follow the JACK Transport
* https://github.com/chronopoulos/jack-midi-timestamp - simple timing log for JACK MIDI events
* https://github.com/xitiomet/jack-rtp-midi-bridge - bridge JACK MIDI and RTP MIDI
* https://sourceforge.net/projects/arpage - MIDI Arpeggiator w/ JACK Tempo Sync
* https://github.com/falkTX/nooice - joysticks as JACK-MIDI devices
* https://github.com/moddevices/mod-midi-merger - small JACK-internal client to merge MIDI events from several inputs to one output
* https://github.com/falkTX/JackAss - a VST plugin that provides JACK-MIDI support for VST hosts
## Keyboard
* https://github.com/brummer10/Mamba - virtual MIDI Keyboard and MIDI file player/recorder/looper for Jack Audio Connection Kit
* [jack-keyboard](http://jack-keyboard.sourceforge.net/) - virtual keyboard for JACK MIDI
* https://github.com/metachronica/audio-midihaskey - virtual MIDI keyboard for microtonal music
* https://github.com/noedigcode/keytarboard - translates keyboard key presses into JACK MIDI notes
* https://github.com/ovenwerks/midikb - keyboard to Jack MIDI program
* https://github.com/Krasjet/kb - Customizable virtual MIDI keyboard daemon for JACK.
## Sequencing
* https://github.com/chronopoulos/libsequoia - an API for generative musical sequencing
## Looping
* https://github.com/ahlstromcj/sequencer64 - major reboot of Seq24, with new features
* https://github.com/ahlstromcj/seq66 - lean and mean version of Sequencer64 using modern C++ and Qt 5.
## Synth
* https://github.com/kmtaylor/gi_editor - A software editor for the Roland JunoGi synthesizer
## Bridge
* https://github.com/linuxaudio/a2jmidid - ALSA sequencer to JACK MIDI bridging (for jack2)
* https://github.com/free-creations/a_j_midi - Connect ALSA with JACK MIDI
* https://github.com/williamweston/jamrouter - Near-Sample-Accurate JACK <-> Raw MIDI router
* https://github.com/hselasky/jack_umidi - Raw MIDI to JACK daemon
# OSC
* https://github.com/ventosus/jack_osc - Open Sound Control (OSC) via Jack
* [jack-data](http://rohandrape.net/?t=rju&e=md/jack-data.md)- JACK audio data onto OSC
* https://github.com/x42/jackmidi2osc - tool to generate OSC triggered by JACK MIDI events.
* https://github.com/ssj71/OSC2MIDI - configurable OSC to jack MIDI (and back) bridge
* https://github.com/piegamesde/jackmidiosc - Midi to OSC bridge using JACK audio, written in Rust
# Networked
* [NetJACK 1](wiki/WalkThrough_User_NetJack) - connect JACK 1 servers via network
* [NetJACK 2](wiki/WalkThrough_User_NetJack2) - connect JACK 2 servers via network
* [Zita-njbridge](https://kokkinizita.linuxaudio.org/linuxaudio/) - transmit full quality multichannel audio over a local IP network, with adaptive resampling by the receiver(s).
* https://github.com/rhetr/ipaudio - use jackd, zita-njbridge and systemd for network ip audio
* https://github.com/nettings/medianet - Raspbian overlay to create a JACK-based embedded system for audio processing and streaming
* https://github.com/gisogrimm/ov-client - headless clients to share/receive spatial realtime audio using JACK, zita-njbridge and TASCAR
* [JackTrip](https://ccrma.stanford.edu/software/jacktrip)
* https://github.com/jcacerec/jacktrip
* https://github.com/noahbailey/jacktrip-docker - Container for JackTrip network audio server
* https://github.com/noiseorchestra/jacktrip_pypatcher - Python scripts to autopatch a JackTrip hubserver
* https://github.com/noiseorchestra/autonomous-noise-unit - Python scripts for running JackTrip on an RPi with OLED screen and rotary switch interface.
# Radio
* https://github.com/mildsunrise/jackpifm - program that runs on your Raspberry Pi, reads live audio from JACK and broadcasts it over FM through the GPIO pin 7 (GPIO #4).
# Hardware
* https://github.com/nettings/gpioctl - Control the ALSA mixer or generate JACK MIDI or OSC messages from rotary encoders and switches connected to GPIOs.
# Installation and packaging
* [[Installation filesystem layout]]
* [[Suggested packaging approach]]
* [JACK D-Bus packaging](wiki/JACK-DBus-packaging)
# Developer resources
* [JACK API reference (doxygen)](https://jackaudio.github.io/api)
* [[jack2 source code guide]]
* [[jack1 source code guide]]
* [[JACK API differences]] - changes between jack1 and jack2
* [[Repository layout]]
* [[WalkThrough_Dev_LatencyBufferProcess]]
* [[WalkThrough_Dev_SimpleAudioClient]]
* [[WalkThrough_Dev_SimpleMidiClient]]
* [[WalkThrough_Dev_Tools]]
* [[WalkThrough_Dev_Cpp]]
* [[WalkThrough_Dev_AlsaIoTools]]
* [[WalkThrough_Dev_NetOne]]
* https://github.com/jackaudio/headers
* [x42/weakjack](https://github.com/x42/weakjack) - small library that abstracts the JACK Application Binary Interface.
## Bindings
* https://github.com/spatialaudio/jackclient-python - JACK Audio Connection Kit (JACK) Client for Python snake
* [PyJack](https://sourceforge.net/projects/py-jack/) - JACK client module for Python
* https://github.com/fphammerle/jacker - Python bindings for the JACK Audio Connection Kit C API
* https://github.com/falkTX/Cadence/blob/master/src/jacklib.py
* https://github.com/jaudiolibs/jnajack - Java bindings to JACK Audio Connection Kit [[*](http://lac.linuxaudio.org/2007/presentations/lac07_slides_gulden1.pdf)]
* https://github.com/free-creations/jackAudio4Java - thin JNI wrapper around the JACK Audio Connection Kit
* https://github.com/umjammer/jjack - Jack-to-Java Audio Driver and Bridge API
* https://github.com/residuum/JackSharp - C# bindings for jackd
* https://github.com/xthexder/go-jack - Go bindings for Jack Audio Connection Kit
* https://github.com/stetre/luajack - requires Lua (>=5.3) and JACK (API >= v0.124.1)
* https://github.com/unclechu/node-jack-connector - Bindings JACK-Audio-Connection-Kit for Node.JS
## Metadata
* [JACK Metadata](https://jackaudio.org/metadata)
* [order](https://jackaudio.org/metadata/order)
* port-group - for stereo pair/ambisonics/etc
* [pretty-name](https://jackaudio.org/metadata/pretty-name)
* [signal-type](https://jackaudio.org/metadata/signal-type)
* [event-types](https://jackaudio.org/metadata/event-types)
* [connected](https://jackaudio.org/metadata/connected)
* [hardware](https://jackaudio.org/metadata/hardware)
* [icon-large](https://jackaudio.org/metadata/icon-large)
* [icon-small](https://jackaudio.org/metadata/icon-large)
* [icon-name](https://jackaudio.org/metadata/icon-large)
* [jack2/JackMetadata.cpp at develop · jackaudio/jack2](https://github.com/jackaudio/jack2/blob/develop/common/JackMetadata.cpp#L30)
* https://github.com/drobilla/jackey - simple define-only header that serves as an ad-hoc standard for Jack Metadata property keys
`jack_property` - list, set and delete any metadata associated with the ports and clients of a JACK server
* [jack-property-listener.py](https://gist.github.com/SpotlightKid/dc70dac006337c99bf65bcdc98e43ddc) - Listen to and print JACK client/port metadata changes
# Testing
* https://github.com/falkTX/jack_interposer - Library to check at run-time whether an application makes non-RT-safe calls inside the process() callback
* https://github.com/falkTX/jack-midi-timing - Sender and receiver tool to test the timing accuracy and jitter of MIDI devices
* http://devel.tlrmx.org/audio/bitmeter - a diagnosis tool for JACK audio software on Linux
* [Zita MU1](http://kokkinizita.linuxaudio.org/linuxaudio/zita-mu1-doc/quickguide.html) - used to organise stereo monitoring
* [SilentJack](https://www.aelius.com/njh/silentjack) - silence/dead air detector for the Jack Audio Connection Kit
* [Rotter](https://www.aelius.com/njh/rotter/) - a Recording of Transmission / Audio Logger for JACK
* https://github.com/jackaudio/tools
# Video
* [XJADEO - The X Jack Video Monitor](http://xjadeo.sourceforge.net/) - a software video player that displays a video-clip in sync with an external time source (MTC, LTC, JACK-transport). Xjadeo is useful in soundtrack composition, video monitoring or any task that requires to synchronizing movie frames with external events.
# WINE
* https://github.com/wineasio/wineasio - provides an ASIO to JACK driver for WINE