jack2pcm

Simple JACK client for PCM Output

Overview

This utility is a simple JACK client that connects to one or more JACK ports as specified on the command-line, converts the audio data read from those port(s) to signed 16-bit PCM samples and writes it to standard output. Any samples outside the normal range -1.0/+1.0 are clipped to the minimum/maximum values representable by a signed 16-bit number.

When more than one port is specified, the samples from the ports are interleaved in the output. A ringbuffer is used internally to buffer the real-time JACK callback from the sample conversion and output code; the size of this ringbuffer may be specified on the command-line. If the -x option is specifed, the most and least significant bytes in each 16-bit output sample are swapped from the native host order.

jack2pcm is Free Software, released under the GNU GPL. It is written in C and designed to run on Linux only at present (uses nanosleep() and getopt()). The only dependency is JACK itself.

Usage

jack2pcm [-n <name>] [-b <size>] [-xqh] <port1> [<port2>]

   -n <name>        name for this JACK client (default jack2pcm-PID)
   -b <size>        set ringbuffer to this size in bytes per port (k or M
                    suffix accepted; default 1M)
   -x               swap byte order
 <port1> & <port2>  autoconnect JACK client to these port(s)
   -q               Don't display progress information
   -h               display this usage message and exit

Releases / Download

At present jack2pcm is available in the form of source code only:

0.2.1 15 December 2008 jack2pcm-0.2.1
autoconf-based configure script, licensing documentation and man page added
0.2 7 November 2008 jack2pcm-0.2
Algorithm converting floating point audio data to integer corrected such that the range -1.0 to 1.0 translates evenly to -32768 to +32767.
0.1 6 November 2008 jack2pcm-0.1
Initial Release


by Paul Kelly, paul -at- stjohnspoint.co.uk
Software developed for and on behalf of Radiomonitor, who kindly agreed that it could be released under the GPL.
Last Update: December 2008