Twinned from https://github.com/cfsh/ninefold/issues/441 by tools/beads/import_github.py's reconcile pass.
From Aedan, in chat:
> "we should rename sounds to channels, so 'change sound' makes more sense then too. 'change channel instrument' is kind of meaningful then."
Aedan's call, verbatim (chat, 2026-08-03): **"ui only, purely cosmetic, so it's easy to change again."**
So: every label, hint, caption and section head the player reads says
CHANNEL. The C# types keep Sound / SoundId, and the on-disk layout keeps
user://tonapse/sounds/ - no save-format migration, no Migrations.Current
bump, and reverting is a one-PR diff of strings.
| Where | Today | Wanted |
|---|---|---|
| SoundPicker section head | SOUNDS | CHANNELS |
| PatternPicker tweak button | change sound / change <name> sound | change instrument / change <name> instrument |
| Rename radial title | RENAME SOUND | RENAME CHANNEL |
| ControlsGuide captions | "sound" phrasing | "channel" phrasing |
| Sound-editor modal heading + captions | ... | ... |
| Delete-confirm copy (#200) | "delete sound" | "delete channel" |
| Menu / options pages | any "sound" the player reads | "channel" |
Sweep for player-visible strings rather than working from this table alone - it is a starting list, not a closed set.
"Instrument" is already a real concept, not a coinage: SoundEditor's top
row is an instrument picker (BuildInstrumentRow, SwitchInstrument,
OpenInstrumentBrowser), so "change channel instrument" names a control that
already exists and does exactly that.
Watch the word "sound" where it isn't the noun - SongGrid and PianoRoll
comments use "SOUNDS a note" as a verb, and #259/#260 are about how the output
*sounds*. Those stay.
Probes that assert on the changed strings (focus steps target control text)
will need updating - focus-grammar.json and focus-cujs.json both drive the
change-sound row by label.
Related: #184 (naming scheme for sounds and patterns), #399 (product voice).
None.
No comments.