JAMIN(1)
πΈ NAME πΈ
hiii bestie, welcome to JAMIN(1) π this is the whole entire glow-up tour of jamin β aka the JACK Audio Mastering interface. that's it, that's the name, short and iconic, no notes π
π SYNOPSIS π
jamin [ options ] [ inport1 inport2 [ outport1 outport2 ]]
jamin-scene <scene-num>
β¨ DESCRIPTION β¨
so the jamin command fires up JAMin, which is the JACK Audio Mastering interface, built on top of the JACK Audio Connection Kit β you can find that over at <http://jackit.sourceforge.net> π¦
JAMin is made for professional stereo audio mastering, periodt. it hands you a whole toolbox: a 1024-band hand-drawn EQ with parametric controls, a 31-band graphic EQ, a 3-band compressor, 3-band stereo width control, a lookahead limiter, boost, and a bunch of other features too π
for the freshest JAMin info, go look at <http://jamin.sourceforge.net> β¨
π OPTIONS π
-ffilename β loads the session file filename right at startup. and if you don't hand it a session file? JAMin loads~/.jamin/default.jamif that file exists, and if it doesn't, it falls back to whatever system-provided default settings are lying around π-hβ prints a lil brief usage message covering the mainjaminoptions β and yeah, it also spills some developer options that are genuinely not meant for normal users, so, heads up π-jservername β connects to the JACK server called servername. don't pass it? then you just get the default server, no biggie β¨-nclientname β sets the JACK clientname used to identify the input and output ports. otherwise it just uses"jamin"π-sfrequency β sets the spectrum update frequency, per second. the range is 1 to 10, and the default is 10. set it to 0 to disable spectrum update entirely π¦-ctime β sets the crossfade time in seconds. range is 0.0 to 2.0, default is 1.0.
β οΈ WARNING bestie: fast crossfade times combined with large jack buffer sizes may introduce zipper noise to some signals β especially sustained sounds down in the bass range. no cap, be careful π
-pβ don't automatically connect any JACK output ports. without this option, JAMin connects tooutport1andoutport2if you explicitly listed them on the command line; if you didn't, it connects to the first two physical output ports that have the string":playback"in their names π-iβ use the IIR type crossover instead of the default FFT type crossover. the IIR one is less CPU intensive, but the FFT one gives better results (YMMV, fr fr) π-lβ set to 0 to use Steve Harris' fast-lookahead-limiter, or 1 for Sampo Savolainen's foo-limiter. and rn there's a problem with the foo-limiter if you push the input too hard, so. just so you know π-rβ load GTK resource information from an example JAMin resource file. if-ris not specified, it looks for a user-defined resource file in~/.jamin/jamin_ui. otherwise it uses the system-wide GTK settings π-vβ print verbose output. want even more detail? use-vvor-vvvβ¨-Vβ print version and copyright information, then quit. that's it, bye π
π FILES π
~/.jaminβ the directory holding all your per-user JAMin data. it gets created automatically if it doesn't already exist, so don't stress π«Ά~/.jamin/jamin_uiβ the default resource file for GTK user interface customization, used when the-rcommand option is not specified. JAMin ships a default resource file at${prefix}/share/jamin/examples/jamin_uiβ to customize it, copy that over to~/.jamin/jamin_uiand make your changes π~/.jamin/*.jamβ the normal home for user-defined session files. (they can live elsewhere if you want, live your truth π)~/.jamin/default.jamβ if this session file exists, it gets loaded by default on startup β except when it's overridden by the-foption π
π¦ IPC π¦
if JAMin was built with OSC support enabled, it responds to UDP OSC messages on port 4444 π‘
messages sent to /jamin/scene with a numerical argument cause the scene number to change. and for remote scene changes, there's a command line tool (jamin-scene) and a LADSPA Plugin (jamin_cont, ID:1912) provided for you β¨
π EXAMPLES π
so, jamin is not a standalone program β meaning we generally need other programs to feed it input audio and receive the mastered output back. this first 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, ngl π
it is much easier to just have qjackctl start the JACK server and handle its connections. once the server is running, start jackplayer and jamin. the "transport" option tells jackplayer (which is an alsaplayer alias) to start and stop under JACK transport control:
qjackctl &
jackplayer -d noconnect/transport song.wav &
jamin
any JACK-aware player works here instead β like rezound, ecasound or ecamegapedal πΆ
and here's a more advanced technique using ardour for both the source and the 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 lets you mix and master at the same time, which is honestly main character energy π and if JAMin is already running when ardour reopens the session, it will automatically reconnect all these ports. slay.
qjackctl &
jamin &
ardour
β SEE ALSO β
<http://jamin.sourceforge.net><http://www.alsa-project.org><http://jackaudio.org><http://qjackctl.sourceforge.net><http://www.suse.de/~mana/jack.html><http://alsaplayer.sourceforge.net><http://www.ardour.org><http://rezound.sourceforge.net>jackd(1)alsaplayer(1)ardour(1)
π BUGS π
found a bug? please send bug reports to <jamin-devel@lists.sourceforge.net> β they wanna hear about it, fr fr π
π AUTHORS π
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 π
okay that's the whole page bestie, tysm for reading, mwah ππβ¨
this was version 0.98.9, dated June 2007 β yeah she's vintage, she's a classic, she ate π π
π¦ where this page comes from
- debian bookworm: jamin 0.98.9~git20170111~199091~repack1-2 Β· GPL-2.0-or-later
- nixos 26.05: jamin 0.98.9-unstable-2015-01-14
- nixpkgs unstable: jamin 0.98.9-unstable-2015-01-14
- ubuntu jammy: jamin 0.98.9~git20170111~199091~repack1-1.1 Β· GPL-2.0-or-later
- ubuntu noble: jamin 0.98.9~git20170111~199091~repack1-2build2 Β· GPL-2.0-or-later
- ubuntu resolute: jamin 0.98.9~git20170111~199091~repack1-3 Β· GPL-2.0-or-later
- ubuntu stonking: jamin 0.98.9~git20170111~199091~repack1-3 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms