Misconception
A thing learners commonly believe that is wrong — named so you can un-learn it.
86 atoms · grouped by primary domain
A · Music theory & musicianship — 4
Accurate note playback timing matters more than random micro-timing variation for groove
Jazz swing is a musician's real-time feel convention while electronic swing is a fixed repeating timing offset
Music notation is a tool for storing and communicating musical ideas, not a prerequisite for musicianship
True voice-leading (guaranteed minimal motion) requires explicit note lists; Strudel's voicing() is only a heuristic
B · Sound design & synthesis — 2
C · Sampling, field recording & sample culture — 1
D · Mixing, mastering & loudness — 4
32/64-bit floating-point arithmetic in DAWs provides vast internal headroom but does not protect against plug-in overloading
EQ cannot isolate a single instrument because every instrument's harmonics spread across the spectrum
Recording as hot as possible to maximize SNR was necessary for 16-bit recording but is counterproductive at 24-bit
Streaming loudness normalization adjusts gain at playback only — the uploaded file is never altered
E · Modular, Eurorack, grooveboxes & dawless — 1
F · Live coding: music — 39
A ChucK ADSR envelope or STK instrument stays silent until its gate is opened with keyOn/noteOn
A ChucK voice that never reaches dac produces silence with no error
A ChucK while-loop without a time-advance silently hangs the VM at 100% CPU with no audio
A comma inside a mini-notation string stacks two voices simultaneously; it is not a rest
A Glicol file with no out: line produces silence with no error message
A Sonic Pi sync on a non-existent cue tag blocks the loop forever without throwing any error
A SuperCollider \degree pattern with no \scale defaults to C major and plays wrong pitches without error
A SuperCollider pattern's degree defaults to C major unless a scale, root, and octave are given
A SuperCollider synth without doneAction:2 leaks nodes silently until CPU overload crackles
A SuperCollider SynthDef must be re-added after every edit or Synth plays the old cached graph
A SuperCollider UGen name that is miscased or not installed posts 'not understood' rather than playing
An unknown sample name in Tidal produces no GHCi error but silences that voice via a SuperCollider post warning
An unknown Strudel sample name produces silence with no exception rather than an error
ChucK STK instruments stay silent until `.noteOn()`, and an ADSR stays closed until `keyOn()`
Defining two Sonic Pi live_loops with the same name does not create two voices — the second silently replaces the first
Editing a SynthDef without re-running .add spawns the old definition on the server silently
Glicol synth and drum nodes are silent without an upstream trigger (`imp`, `seq`, or `speed`)
Glicol.org documents nodes that the CLI version 0.13.5 cannot parse
Glicol's `seq` outputs a pitch ratio, not a frequency — feeding it straight to `sin` gives ~1 Hz
In ChucK a raw MIDI integer sent to `.freq` plays that many Hz — use `Std.mtof` to convert
In ChucK, a loop with no `=> now` computes in zero logical time and emits no sound
In ChucK, dividing two integer literals gives integer division, truncating toward zero
In Glicol, every line whose name lacks `~` is sent to the speakers and summed
Integer division in ChucK silently truncates: 1/2 evaluates to 0, not 0.5
Logic/MPC and FL Studio/Cubase use opposite swing scales — 0% in FL Studio equals 50% in Logic
Mixing audio-rate and control-rate UGens in SuperCollider fails the SynthDef build with a 'not audio rate' post message
Playing a SuperCollider synth before s.boot produces silence and a 'Server not running' post message
Pseq without an explicit repeats argument plays the list once then stops, silencing the voice
Re-evaluating an Ndef with a syntax error keeps the old graph running with no audible indication
Sharing mutable variables across Sonic Pi threads causes non-deterministic race conditions
Sonic Pi's (range 0, 8) excludes the end value (0..7) while (line 0, 8, steps: 9) includes it — a common off-by-one source
Strudel takes patterns/signals as arguments (not thunks like Hydra) — .lpf(sine.range(200,2000)) is correct; .lpf(() => ...) is a cross-DSL mistake
SuperCollider class names are capitalized and methods lowercase; misspelling a UGen name fails outright
SuperCollider gain and feedback runaway throws no error — only rising volume, clipping, or DC blowup signals it
SuperCollider Pseq without 'inf' repeats plays once then stops silently
Tidal combines patterns with operators; Strudel chains methods, so pasting Tidal operator syntax into Strudel throws
Tidal sets tempo with setcps (cycles per second); passing a raw BPM to setcps is absurdly fast
Tidal uses prefix functions rather than method-chaining, so Strudel-isms cause GHCi scope or parse errors
Two Sonic Pi live_loops with the same name are not independent — the second replaces the first
G · Shaders & GPU programming — 8
A GLSL shader that compiles but outputs values outside 0..1 or produces NaN renders black or blown-out
A path tracer is technically a type of ray tracer that accumulates indirect lighting via random sampling
GLSL does not implicitly convert `int` to `float` — mixing them in an expression is a compile error
GLSL integer division truncates: `1/2` is `0`, not `0.5`
GLSL pow(x,y) returns undefined for negative x, causing silent visual bugs
glslViewer's `u_mouse` is in pixels, not 0..1 — normalize by `u_resolution` before use
Shadertoy shaders use different uniform names from glslViewer and will not run as-is
Shadertoy uniform names (`iTime`, `iResolution`, etc.) are undefined in glslViewer and must be replaced
H · Creative coding & live-coded visuals — 6
A Hydra chain without `.out()` builds a texture that is never rendered — no error, just black
A reactive Hydra parameter must be written as a () => … thunk — a bare expression is evaluated once at eval time and frozen
Existing class instances in P5LIVE retain old methods after a softCompile; only newly-constructed instances get the updated code
Hydra reactive values must be wrapped in () => thunks; bare expressions are evaluated once at boot
In Punctual 0.5 osc is the sine oscillator and sin is the math sine function of its argument; old sin-as-oscillator code is wrong
Using an audio-only function in a visual context (or vice versa) in Punctual silently returns 0 rather than an error
J · Audio-visual integration & sync — 4
A reactive visual parameter that spends most of its time pinned at its min or max fails the sanity check and needs its base, gain, or scale retuned
An Ableton Link session does not require Ableton Live to be part of it
An exp-curve bass amplitude pump is the supported proxy for a kick-keyed visual sidechain, and it is not the same thing
MIDI 2.0 extends MIDI 1.0 rather than replacing it, so existing devices and messages stay valid
L · Visual foundations — 2
M · Performance, DJing, live-set & stagecraft — 3
N · Tools & free/open software stack — 3
Focusrite Scarlett XLR inputs cannot take line-level signals; line sources must use the combo TRS input instead
Loudspeaker polarity reversal is not the same as phase — polarity is frequency-independent
OBS noise suppression filters garble music and must be removed when streaming DJ sets or live instruments
O · Culture, history & theory — 8
Algorave musicians are live improvisers writing code, not DJs mixing recorded music
Dub techno and dubstep are not closely related despite both drawing on Jamaican dub
Gqom and Miami bass share bass and car culture but are distinct in origin and production
Hard house has an unprocessed punchy kick, while hardstyle has a distorted long-tail kick and reverse bass
Live coding is improvised real-time music-making, not DJing and not software engineering
The nu-disco vs disco house boundary is genuinely fuzzy, distinguished mainly by instrumentation origin and song form
The vocal effect on 'Planet Rock' is widely misidentified as a vocoder, but was actually a Lexicon PCM 41 delay
UK garage is a derivative of US garage house, not the same genre
P · Community, scenes & practice — 1