JACK-STDIN(1)
π JACK-STDIN β the jack-stdin(1) glow-up π
okay bestie, pull up a chair, we're reading a General Commands Manual page together and it's honestly iconic. this is jack-stdin, section 1, and she's here to pipe your raw audio straight into JACK. let's get into it π
β¨ NAME β¨
jack-stdin β write JACK audio data to stdin π
β¨ SYNOPSIS β¨
jack-stdin [OPTIONS] port1 [ port2 ...]
β¨ DESCRIPTION β¨
so the whole vibe is: jack-stdin reads raw audio data from standard-input and writes it out to a JACK audio port. that's it, that's the girl. π¦
how many channels you get? that's decided by how many ports you hand her. one port = one channel. and if you're giving her more than one channel, the incoming audio-sample data has to be interleaved β no cap, that's just the rule. πΈ
β¨ OPTIONS β¨
-b,--bitdepthBITS β sets the bit-depth of each sample. for integer-encoding this can be16or24. default is16. heads up tho: this setting only matters for integer encoding, because floating-point samples are always 32 bit wide, periodt. π-d,--durationSEC β how long shouldjack-stdinrun, in seconds? any value less than 1 means run indefinitely. default is0, which reads until end-of-file. π«Ά-e,--encodingFORMAT β sets the input format of the data:signed-integer,unsigned-integer,floating-point(default:signed). π-n,--nameCLIENTNAME β sets the JACK client name (default:jstdin). name her something cute π-f,--fileFILENAME β read data from the given file instead of standard-input. yes, she can do files too π₯-h,--helpβ prints a brief usage information. classic, love her for that β-p,--prebufferPERCENT β pre-fill the buffer before starting audio output to JACK (default50.0%). > NOTE: disable pre-buffering (-p 0) or use a small buffer size to play back very short samples. this one matters, don't skip it π-L,--little-endianβ the input-data is in little-endian byte-order, or native-byte-order float. this is the default, she's the main character π§-B,--big-endianβ interpret input audio data in big-endian byte-order, or swap the byte-order of floating-point. β¨-q,--quietβ inhibit usual output. this affects information and buffer-overflow warnings, but not setup-errors. she still yells about the important stuff π-S,--bufsizeSAMPLES β choose the internal buffer-size in samples. default size is65536. the value you give gets multiplied by the number of channels and bit-depth to get the size of the ring-buffer. > Note: the buffersize must be larger than JACK's period size. don't fight me on this one π
β¨ EXAMPLES β¨
here's the part where we actually do stuff. first one: pipe jack-stdout through sox (tremolo moment π) and into jack-stdin:
jack-stdout vlc_31994:out_1 vlc_31994:out_2 \
| sox -t raw -r 48k -e signed -b 16 -c 2 - \
-t raw -r 48k -e signed -b 16 -c 2 - \
tremolo 5 100 \
| ./jack-stdin system:playback_1 system:playback_2
and second one, the simple girlie version β straight from /dev/dsp:
cat /dev/dsp \
| jack-stdin system:playback_1 system:playback_2
β¨ KNOWN ISSUES β¨
jack-stdin is not suitable to play-back files shorter than twice the jack-period size. she said what she said π
β¨ AUTHOR β¨
Robin Gareus <robin@gareus.org>. thank you for your service, king π
β¨ SEE ALSO β¨
and that's the whole page, bestie!! no gatekeeping, we read every single line together π«Ά
this lil' manual is from the General Commands Manual, dated 21 February 2019 β so yeah, she's been slaying since 2019 and she still eats π β¨
π¦ where this page comes from
- arch rolling: jack-stdio 1.6-3 Β· GPL2
- debian trixie: jack-stdio 1.6-1 Β· GPL-2.0-or-later
- ubuntu noble: jack-stdio 1.6-1 Β· GPL-2.0-or-later
- ubuntu questing: jack-stdio 1.6-1
- ubuntu resolute: jack-stdio 1.6-1build1 Β· GPL-2.0-or-later
- ubuntu stonking: jack-stdio 1.6-2 Β· 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