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.
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
- - libjack2.0
Usage: ./jack_trauma [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
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).
./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.
./output_recorder_wav.sh "Author - Title"
The output will be a wav file called Author-Title.wav.
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.
As it is, it can be compiled with:
gcc -o jack_sturdy_client -ljack jack_sturdy_client.c
./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.