home/ atoms/ sc-server-must-boot

SuperCollider produces no sound until the audio server is explicitly booted with s.boot

SuperCollider runs as two processes: the language client (sclang) and the audio server (scsynth). Calling { }.play, Ndef.play, or any pattern does nothing if the server has not been booted. s.boot must be called first and confirmed before any synthesis code is evaluated. This two-process architecture is the single most common stumbling block for new SC users and for anyone porting from environments with an auto-booting server such as Sonic Pi or Strudel. Forgetting s.boot is not detected as a language error; the code parses fine and appears to run, but no audio is produced.

Examples

Correct sequence: s.boot; s.waitForBoot({ { SinOsc.ar(440, 0, 0.1) }.play });

Assessment

Explain why evaluating a valid { SinOsc.ar }.play expression produces no sound, and what single call must precede it.

“Nothing sounds until the server is booted.** `s.boot` first. `{ … }.play` / `Ndef.play` / a pattern all silently do nothing (or error) against a dead server.”
context/ · L1-instruments/supercollider/gotchas.md · chunk 1