Skip to content

Conversation

@SebastienGllmt
Copy link

@SebastienGllmt SebastienGllmt commented Jan 9, 2026

Many tools use Claude, but many of them have their own sound system (or no sounds at all)

To solve this, I added sounds in this claude orchestrator so I can have consistent sounds across all my claude usage.

Since people have difference preference for sounds, this PR does not include any sound file. Rather, I used Tone.js to dynamically generate sounds. The benefit is that anybody using this project can modify the sounds played just by prompting! (currently it requires the AI agent to change the code in the JS for new sounds to apply, but given the user can connect a Claude key, we could make this a dynamic string that hot-reloads)

Note:

  1. I had to implement debouncing (1.5s) to prevent sound spam from rapid auto-approved tool transitions. This worked good enough for me.
  2. No audio may play until the user interacts with the page, as the browser may disallow audio without user interaction first. Browsers may also unload tabs or just disable sounds in general when they are not in focus. It feels like getting the sounds to work reliably is an unsolvable problem, so this PR is just best-effort. It will be more reliable if you have something like a nodejs build

AI disclaimer: the code in this PR is 99% written by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant