jux applies a transformation to only one stereo channel, splitting a mono pattern into a hard stereo image
jux (short for ‘juxtapose’), from the Tidal/Strudel lineage, takes a transformation function and plays the pattern unchanged in one channel (left) while the transformed copy plays in the other (right). It duplicates the pattern internally, applies the function to one copy, and hard-pans the two — producing instant stereo width and structural contrast from a single mono pattern, with no manual panning or extra tracks. Crucially this is not a pan of one source: both channels play the same sample, but their content differs (rhythmically, timbrally, or in time). The canonical idiom is jux(rev) — forward in one ear, backward in the other — but any pattern modifier works: rev, fast/hurry, iter, pitch shift, filter, vowel. Because the panning is hard, the two channels double the events heard per cycle across the field.
Examples
Strudel: n(“0 2 4 6 ~ 7 9 5”).scale(“C:minor”).jux(rev) // forward left, reversed right Strudel: s(“bd sd hh”).jux(x => x.note(12)) // left original pitch, right an octave up Tidal: d1 $ jux (hurry 2) $ sound “arpy arpy arpy:1 arpy:2” // normal left, fast+pitched right Tidal: slow 32 $ jux rev $ striate’ 32 (1/16) $ sound “bev”
Assessment
Describe the left and right channel separately for jux(rev) applied to a 4-sound drum pattern, and state how many events sound per cycle across the stereo field. Then predict each channel for jux(x => x.speed(0.75)) (or Tidal jux (hurry 2)), and explain why jux is not the same as panning one sound.