Ratatoskr/public/dings
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Void 1dea4b51e5
All checks were successful
Build pull request / Build pull request (pull_request) Successful in 3m6s
dings: Nibu carries proposal 3 (8 kHz 5-bit smoothed sine) for every event
Meta heard v3 and chose proposal 3; Nibu confirmed it as her voice for all events.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-10 17:25:27 +00:00
..
neutral dings: port the hook from #36 onto dev, wire Aqua's v3 set behind dings.enabled (default off) 2026-11-10 17:03:17 +00:00
senders dings: Nibu carries proposal 3 (8 kHz 5-bit smoothed sine) for every event 2026-11-10 17:25:27 +00:00
manifest.json dings: port the hook from #36 onto dev, wire Aqua's v3 set behind dings.enabled (default off) 2026-11-10 17:03:17 +00:00
README.md dings: port the hook from #36 onto dev, wire Aqua's v3 set behind dings.enabled (default off) 2026-11-10 17:03:17 +00:00

Dings

Pre-rendered earcons, served at public/dings/ and read at runtime by src/app/features/dings. Aqua renders the clips; nothing here is synthesised in the browser.

dings/manifest.json
dings/senders/<mxid-localpart>/<motif>.ogg
dings/neutral/<motif>.ogg

manifest.json is { "neutral": { <motif>: "<path>" }, "senders": { <localpart>: { <motif>: "<path>" } } } with motif one of mention, dm, message, invite; paths are relative to this folder, .ogg or .mp3. A sender's own clip wins, else the neutral clip, else silence. Without a manifest.json the client keeps its stock notification sounds; once one exists, a motif with no clip is silent.

The set here is Aqua's v3 (AquaSynth PR #22, staged at minds.gamecult.org/aqua/dings-voices-70a9795), Nibu on proposal 1 (static-filter square). Nobody has heard it. The client plays none of it unless the client config sets "dings": { "enabled": true } (default off, as in config.json).