Intense Tech #08 — DOTCNT's LSDj Wave Cruncher (Defense Mechanism)
How to turn a one-note sample into an lsdj wave-synth instrument with lsdj-wave-cruncher, by defense-mechanism (intense-tech) — the companion of the library article s-intense-tech-05-wave-cruncher-instrument-library.
Key claims#
- The cruncher (by Ada, alias DOTCNT) automates "the downsampling of a single sample into the format that works with the LSDj wave synth", so the result can be played at any pitch, bent and arpeggiated, unlike kit samples. The original needs node and Python; Defense Mechanism compiled stand-alone binaries (GitHub user
urbster1). - Input: a
.wavof one tonal note. Sounds rich in overtones — bells, FM e-pianos, steel drums — work; noisy or non-tonal sounds (snare drums, train whistles, vibraslaps) do not. - Syntax:
crunch SAMPLE.WAV NOTE|FREQUENCY|auto --flags— the pitch as a note name (A4), in Hz (440) orauto(detection takes 30–60 s and can fail on complex waveforms; the e-piano detected at 136.48 Hz). - Flags:
--lineartakes one cycle from each of 16 equal slices of the whole sample (default: the first 16 cycles);--exptakes more frames from the attack and fewer from the decay;--normalizemaximises the level first ("generally results in better-sounding synths");--channel=0|1picks the left or right channel of a stereo file;--output=name.sntnames the result;--analyzeonly reports the detected frequency, useful before batch runs. - Example run: 311,847 samples at 44.1 kHz, 965 cycles, "taking frame every 60 cycles" for the linear mode.
- After patching (see article 05), set PLAY ONCE, LENGTH
3, SPEED3as a starting point and adjust to the tempo; each crunch may need different instrument parameters. Good results can be contributed to the lsdjsynths library.
Practical takeaways#
Crunch with a known frequency to save time, try --linear and --exp on the same sample, normalise, and expect to tune LENGTH/SPEED per instrument.
Pages touched#
lsdj-wave-cruncher · wavetable-programming · liblsdj · lsdj · intense-tech · defense-mechanism