Scroll to navigation

JAMIN(1) Audio JAMIN(1)


jamin - JACK Audio Mastering interface


jamin [ options ] [ inport1 inport2 [ outport1 outport2 ]]

jamin-scene <scene-num>


The jamin command invokes JAMin, the JACK Audio Mastering interface which is based on the JACK Audio Connection Kit, <>.

JAMin is designed for professional stereo audio mastering. It provides of a number of tools: a 1024-band hand-drawn EQ with parametric controls, a 31-band graphic EQ, 3-band compressor, 3-band stereo width control, lookahead limiter, boost, and other features.

For the latest JAMin information, see <>.


Load session file filename on startup. If no session file is specified, JAMin loads "~/.jamin/default.jam" if that exists, or else uses some system-provided default settings.

Print a brief usage message describing the main jamin options, including some developer options not intended for normal users.

Connect to JACK server servername. Otherwise, use the default server.

Set JACK clientname used to identify input and output ports. Otherwise, use "jamin".

Set the spectrum update frequency (per second). The range is 1 to 10 with 10 as the default. Set to 0 to disable spectrum update.

Set the crossfade time in seconds. The range is 0.0 to 2.0 with 1.0 as the default. WARNING: fast crossfade times in combination with large jack buffer sizes may introduce zipper noise to some signals (especially sustained sounds in the bass range).

Don't automatically connect any JACK output ports.

Without this option, JAMin will connect to outport1 and outport2 if they were explicitly listed on the command line. If not, it connects to the first two physical output ports with the string ":playback" in their names.

Use IIR type crossover instead of the default FFT type crossover. The IIR crossover is less CPU intensive but the FFT crossover will give better results (YMMV).

Set to 0 to use Steve Harris' fast-lookahead-limiter or 1 for Sampo Savolainen's foo-limiter. At this time there is a problem with the foo-limiter if you push the input too hard.

Load GTK resource information from an example JAMin resource file. If the -r option is not specified, look for a user-defined resource file in ~/.jamin/jamin_ui. Otherwise, use the system-wide GTK settings.

Print verbose output. Use -vv or -vvv for more detail.
Print version and copyright information, then quit.


Directory containing per-user JAMin data. Created automatically if it does not already exist.
Default resource file for GTK user interface customization, used when the -r command option is not specified. JAMin provides a default resource file in ${prefix}/share/jamin/examples/jamin_ui. To customize that file, copy it to ~/.jamin/jamin_ui and make changes.
Normal location for user-defined session files. They can be stored elsewhere, if desired.
If this session file exists, it is loaded by default on startup, except when overridden by the -f option.


If JAMin has been built with OSC support enabled it responds to UDP OSC messages on port 4444.

Messages to /jamin/scene with a numerical argument cause the scene number to change. A commaind line tool (jamin-scene) and LADSPA Plugin (jamin_cont, ID:1912) are provided for remote scene changes.


Since jamin is not a standalone program we generally need other programs to provide input audio and receive the mastered output. This example uses alsaplayer with output going to the first two ALSA playback ports:

jackd -R -d alsa -p 2048 -r 44100 &
alsaplayer -o jack -s src -d noconnect song.wav &
jamin src:out_1 src:out_2

That was the brute force method. It is much easier to have qjackctl start the JACK server and handle its connections. After the server is running, start jackplayer and jamin. The "transport" option tells jackplayer (an alsaplayer alias) to start and stop under JACK transport control.

qjackctl &
jackplayer -d noconnect/transport song.wav &

Any JACK-aware player such as rezound, ecasound or ecamegapedal can be used, instead.

A more advanced technique uses ardour for both the source and destination. In ardour, run all of your track outputs into a stereo bus, connect its output ports to JAMin, then run the JAMin outputs back into a record-enabled stereo track. This allows mixing and mastering at the same time. If JAMin is already running when ardour reopens the session, it will automatically reconnect all these ports.

qjackctl &
jamin &




Please send bug reports to <>.


Steve Harris is the principal JAMin author and team leader. Other developers include: Jan Depner, Jack O'Quin, Ron Parker, Emmanuel Saracco, and Patrick Shirkey. Alexandre Prokoudine and Yuri N. Sedunov developed the translation infrastructure. Alexandre also translated JAMin into Russian and is our (really good) web engineer.

0.98.9 June 2007