designesy
Score a site

LabsLab Four

Acoustics

Interaction sound as a token system.

Acoustics studies the sound parallel to the visual token system. Nineteen cues, nineteen interaction roles, one documented engine. No sound appears on a Designesy surface without a token name and a rationale here. If the sound is louder than the action it confirms, it fails.

LiveStatus · public experimentContract · adopted in v0.3.0Engine · Cuelume v0.2.2 (MIT) + cuelume-extend v0.2.0

Live artifact

Enable sound, then hover or press each cue. Notice what does not happen: no ambient bed, no focus sounds, no randomization.

Preference stored under designesy:sound. Defaults off under reduced motion.

Cues · 19

Sound onSound off

01--cue:brandsparkleBrand wordmark contact
02--cue:navtickNavigation and wayfinding
03--cue:invitechimePrimary invitation / machine surfaces
04--cue:actionpressPointer-down on actionable surfaces
05--cue:resolvereleasePointer-up default resolve
06--cue:completesuccessHigh-value resolve
07--cue:revealbloomContent / experiment reveal
08--cue:listwhisperDense list / surface scan
09--cue:switchtoggleState toggle
10--cue:contactdropletContact / outbound mail
11--cue:errorerrorError / corrective feedback
12--cue:warningwarningHeads up without blocking
13--cue:infoinfoInformational notice
14--cue:blockedblockedCannot proceed
15--cue:retryretryTry again invitation
16--cue:processingprocessing-start / processing-stopAnalysis in progress (state loop)
17--cue:check-passcheck-passOne verification check passed
18--cue:check-failcheck-failOne verification check failed
19--cue:grade-revealgrade-revealScore grade reveal: the hero acoustic moment
Key--cue:tokenCuelume cueInteraction role

Thesis

What Acoustics tests

Sound is a token. Each cue has a name, a role, and a character. The system is interaction-only: no ambient audio, no mood beds, no unmapped sounds. Preference is user-owned; reduced motion is an acoustic-reduction proxy.

Principle

Portable contract

Mapping rules adopted into design system contract v0.3.0. Check a rule off as your surface adopts it.

0 / 9 adopted

Source contract: Design system contract v0.4.6 · Token reference page · Machine export

Token reference

Nineteen cues, nineteen interaction roles, one documented engine. Every sound on a Designesy surface traces to a token here.

01

--cue:brand · sparkle

Character. Bright playful accent

Role. Brand wordmark contact

Where · Hero wordmark, topbar logo, footer mark, Open field card hover

02

--cue:nav · tick

Character. Crisp instant tick

Role. Navigation and wayfinding

Where · Topbar nav links, surface footer links, secondary CTAs

03

--cue:invite · chime

Character. Soft default chime

Role. Primary invitation / machine surfaces

Where · Primary hero CTA hover, kit field card, machine footer links

04

--cue:action · press

Character. Dull muted knock

Role. Pointer-down on actionable surfaces

Where · Buttons, field cards, surface cards

05

--cue:resolve · release

Character. Brighter springy tick

Role. Pointer-up default resolve

Where · Most buttons and cards

06

--cue:complete · success

Character. Warm three-note confirmation

Role. High-value resolve

Where · Primary Open CTA release, Open/Kit field card release

07

--cue:reveal · bloom

Character. Warm slow swell

Role. Content / experiment reveal

Where · Pillar cards, Lab field card hover, kit cards, open field cards, work cards, graph cards, docs cards, learn cards, review cards, continuity cards, score target landing

08

--cue:list · whisper

Character. Breathy quiet swell

Role. Dense list / surface scan

Where · Contracts pages, review overview, check grids, toggle rows, state-of-compliance, dense principle rails

09

--cue:switch · toggle

Character. Mechanical click-clack

Role. State toggle

Where · Sound preference button

10

--cue:contact · droplet

Character. Soft dismissive droplet

Role. Contact / outbound mail

Where · Footer mail, privacy mail

11

--cue:error · error

Character. Low descending two-note buzz (330→196Hz)

Role. Error / corrective feedback

Where · Score form network failure, copy failure, not-found page, error page

12

--cue:warning · warning

Character. Pitch-bent triangle tone (440→466Hz)

Role. Heads up without blocking

Where · Score form soft errors (invalid URL, unknown format)

13

--cue:info · info

Character. Two-note rising sine blip (660→880Hz)

Role. Informational notice

Where · Copy-to-clipboard success confirmation

14

--cue:blocked · blocked

Character. Two low square pulses, lowpass-filtered (165Hz)

Role. Cannot proceed

Where · Score form rate limit / access denied (HTTP 403/429 analogues)

15

--cue:retry · retry

Character. Rising sine pair with timing acceleration (330→440Hz)

Role. Try again invitation

Where · Score form fetch failures (502, timeout, could not reach target)

16

--cue:processing · processing-start / processing-stop

Character. Low triangle pulse loop, 500ms interval, gain 0.025

Role. Analysis in progress (state loop)

Where · Score engine running checks, audit processing

17

--cue:check-pass · check-pass

Character. Brief 880Hz sine blip, 40ms

Role. One verification check passed

Where · Score engine count-up animation: fires per check as pass count increments

18

--cue:check-fail · check-fail

Character. Soft 220→110Hz triangle thud, 60ms

Role. One verification check failed

Where · Score engine count-up animation: fires per check as fail count increments

19

--cue:grade-reveal · grade-reveal

Character. Grade-mapped arpeggio: A+ ascending 4-note + harmonics with large-room reverb; A ascending 4-note with small-room reverb; B ascending pair; C two-note rising 440→554; D descending pair; F single low note

Role. Score grade reveal: the hero acoustic moment

Where · Score page grade animation completion, report page grade display

Accessibility

Implementation notes

Builder prompt

Builder prompt
Build interaction audio as a token system.

Rules:
1. Every sound maps to a named token (--cue:role). No unmapped sounds anywhere.
2. One primary cue family per role. Nav stays tick. Brand stays sparkle. Do not randomize.
3. Sound is opt-in via a single toggle; store preference in localStorage; default off when prefers-reduced-motion.
4. Hover sounds fire on fine-pointer only. On touch, map the same hover cue to a single tap.
5. No focus sounds. Sounds fire on pointer and click, never on focus events.
6. No ambient audio: interaction-only. No background music, no loading sounds, no mood beds.
7. Silent fallback when Web Audio is blocked. No errors, no visual degradation.
8. Reduced motion is an acoustic-reduction proxy. The user can still enable sound manually.
9. Every cue must trace to a token document. A sound in the markup without a token here is a contract violation.

Review checklist

Provenance

Anti-patterns

Remix notes

Reuse the token model on any Designesy surface. Add a new cue by extending the acoustic-tokens module before wiring the sound into markup: the token document is the source of truth, and the attribute follows it. Do not remix interaction cues into ambient beds or loading sounds; Cuelume is interaction-only. If a new role needs audio, start from the closest existing cue family before inventing a new character.

Lab anatomy coverage

Verification

Standards context

Reference format

{
  "$value": "tick",
  "$type": "sound",
  "$description": "Navigation hover",
  "$extensions": {
    "designesy": {
      "engine": "cuelume",
      "role": "nav"
    }
  }
}

Designesy declares $type: sound with $extensions.designesy namespacing per the DTCG extension convention. This format may be proposed to the W3C DTCG as a future token type contribution.

Standard
W3C DTCG 2025.10
Audio types
none defined
These tokens
net-new
Proposed type
$type: sound
Namespace
$extensions.designesy
Contribution
may be proposed to the DTCG
Acoustics is Lab Four: a public experiment whose nineteen-cue token system was adopted into design system contract v0.3.0. The lab remains the inspectable source demo. Token reference lives at /acoustic-tokens; machine export at /acoustic-tokens.json.