Jack TRAUMA

Jack TRAUMA is a simple program, written by me and Andrea Lusuardi, to send a number N of JACK audio channels over IP via UDPLite.

Jack TRAUMA is oriented towards minimum latency and weight, so it doesn't do any buffering and keep synchronized the host sending audio and the one receiving it inside the jack_process() function.

Jack TRAUMA was successfully tested, so far, with up to 64 channels and JACK set to 128 frames/period.

Download from Bitbucket

Download from Github

Usage example:


To send, for example, 16 channels from the host 192.168.0.1 to 192.168.0.2 you have to:

  • - have JACK running on both hosts, with the same frames/period setting. NOTE: jack_trauma will try to launch JACK according to ~/.jackdrc if needed.
  • - launch ./jack_trauma -s -c 16 -a 192.168.0.2 on the sending host
  • - launch ./jack_trauma -c 16 on the receiving host

Requirements:
  • - libjack2.0

Usage: ./jack_trauma [OPTIONS]

Options:

  • -s: run in send mode (will run in receive mode otherwise)
  • -c [channels]: number of audio channels
  • -a [address]: destination address for audio channels
  • -p [port]: UDPLite port in use
  • -h: display help message



output_recorder.sh

A simple script to record whatever audio you are playing on your PC (similar to the REC button in old cassette decks). It's working on systems where Pulseaudio is in use (tested on Debian and Ubuntu).

Download (mp3 version)

Usage: ./output_recorder.sh "Author - Title"
The output will be an mp3 file called Author-Title.mp3 and properly tagged with author=Author and title=Title.

Download (wav version)

Usage: ./output_recorder_wav.sh "Author - Title"
The output will be a wav file called Author-Title.wav.

Requirements:
- sox (has to be compiled with mp3 support for the mp3 version of the script)
- pulseaudio-tools.
- id3v2



jack_sturdy_client.c

A simple JACK client I use to start from when developing audio applications. It's organized in "stages", from initialization to mainloop, and it cycles over them. With this structure it's resistant to crashes of the JACK server, re-launching it when necessary.

Download

As it is, it can be compiled with:
gcc -o jack_sturdy_client -ljack jack_sturdy_client.c
Usage:
./jack_sturdy_client -c NUMERO_CANALI
The program will simply do a "talk through" (in 1 - out 1, in 2 - out 2 ecc...), but it can be used as a starting point to develop what you want.