From 1a593b95fa5b1d0fb530be9b491e1d33f844b321 Mon Sep 17 00:00:00 2001 From: disqualifier Date: Sat, 27 Jun 2026 17:13:43 -0400 Subject: [PATCH] =?UTF-8?q?v0.2.1:=20earcons=20=E2=80=94=20audio=20feedbac?= =?UTF-8?q?k=20tones=20(eyes-free=20confirmation)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit short confirmation tones on daemon events so the user gets eyes-free "did it hear me?" feedback without watching the terminal. NOT TTS — short pre-generated .wav beeps. - audio_out.py — reusable audio-OUT module (the reverse of audio.py's capture, the less-tested WSLg direction). three-tier player: paplay-first (a SEPARATE process, so it doesn't contend with the sounddevice mic stream on the duplex-flaky WSLg bridge), then in-process sounddevice, then powershell.exe SoundPlayer. best-effort per-backend volume. plays a wav path and knows nothing about events — v0.3 TTS reuses it. - sound.py — Earcons: the single event->tone map (wake/accept/no_match/submit) gated by [sound] config (master enabled + per-event flags). daemon._handle wiring: an injected command plays accept (submit plays submit); no-match / target-missing / unknown-context plays no_match; pure daemon-control commands (list/version/…) play nothing. - sounds/ — committed earcon wavs + generate.py (regen-only). committed (not generated at install) so the package is self-contained and a missing tone can never appear. packaged via pyproject [tool.setuptools.package-data]. - [sound] config: enabled (master, on), on_wake (OFF by default — bleed/chatty), on_accept/on_no_match/on_submit (on), volume (0-1 best-effort), [sound.files] overrides. - claudedo test-tone — plays each tone, the audio-OUT gate (mirrors test-audio). - install.sh now also checks RDPSink (audio-out) alongside RDPSource. INVARIANT: earcons are fire-and-forget on a worker thread and NEVER block or break the inject path. a missing tone file or dead speaker logs once and is swallowed, never raised — a broken speaker must never stop "claudedo yes" from injecting. de-risks the WSLg audio-OUT path that v0.3 TTS-readback will reuse. Signed-off-by: disqualifier --- README.md | 31 ++++++ config.toml | 24 +++++ install.sh | 5 + pyproject.toml | 5 +- src/claudedo/__init__.py | 2 +- src/claudedo/__main__.py | 32 +++++++ src/claudedo/audio_out.py | 158 +++++++++++++++++++++++++++++++ src/claudedo/config.py | 16 ++++ src/claudedo/daemon.py | 15 ++- src/claudedo/sound.py | 91 ++++++++++++++++++ src/claudedo/sounds/__init__.py | 1 + src/claudedo/sounds/accepted.wav | Bin 0 -> 44774 bytes src/claudedo/sounds/generate.py | 75 +++++++++++++++ src/claudedo/sounds/no_match.wav | Bin 0 -> 12544 bytes src/claudedo/sounds/sent.wav | Bin 0 -> 70002 bytes src/claudedo/sounds/wake.wav | Bin 0 -> 41558 bytes 16 files changed, 452 insertions(+), 3 deletions(-) create mode 100644 src/claudedo/audio_out.py create mode 100644 src/claudedo/sound.py create mode 100644 src/claudedo/sounds/__init__.py create mode 100644 src/claudedo/sounds/accepted.wav create mode 100644 src/claudedo/sounds/generate.py create mode 100644 src/claudedo/sounds/no_match.wav create mode 100644 src/claudedo/sounds/sent.wav create mode 100644 src/claudedo/sounds/wake.wav diff --git a/README.md b/README.md index f86a61d..2f0fc41 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ claudedo set # set the sticky target -> claude- (alias: switc claudedo unset # clear the sticky target claudedo list # list running claude-* sessions claudedo test-audio # verify the mic capture path +claudedo test-tone # play each earcon (verify the audio-OUT path) ``` ### Modes @@ -211,6 +212,36 @@ Whisper model. The **`system`** namespace gives daemon-control by voice without Claude: `system status` (mode / target / model / context count) and `system reload [config|contexts]`. +## Earcons (audio feedback tones) + +Short confirmation tones play on key events so you get **eyes-free feedback** — "did it +hear me?" — without watching the terminal. They're tones, not speech (not TTS): a bright +blip when a command is accepted/injected, a low buzz when nothing matched, a rising chime +on submit, and an optional blip on wake. Tones are short (<300ms) and quiet, and they're +**additive** to the console feed — mute them and read at the desk, or hear them eyes-free. + +Verify the audio-OUT path (the reverse of `test-audio`, and the less-tested direction on +WSLg) with: + +```bash +claudedo test-tone # plays each tone through WSLg — the audio-out gate +``` + +Tones play through WSLg's PulseAudio sink, **paplay-first** (a separate process, so it +doesn't contend with the sounddevice mic stream), falling back to in-process sounddevice, +then `powershell.exe` on the Windows host. Playback is **fire-and-forget**: a dead speaker +or a missing tone file logs once and is ignored — audio-out can never block or break a +command (`claudedo yes` injects whether or not the speaker works). + +Configure under `[sound]`: `enabled` (master, default on), per-event `on_wake` (default +**off** — a blip right before you speak can bleed into the command capture, and it's +chatty), `on_accept` / `on_no_match` / `on_submit` (default on), and `volume` (0.0–1.0, +best-effort — scaled for sounddevice, `--volume` for paplay, ignored by the PowerShell +fallback). A `[sound.files]` table can point any event at your own `.wav`. The shipped +tones live in the package (`claudedo/sounds/*.wav`); `claudedo/sounds/generate.py` is a +synthetic-beep fallback that can regenerate a placeholder set (it does **not** reproduce +the shipped tones — running it overwrites them with plain beeps). + ## The confirmed Claude Code keymap The keystrokes in [`keys.py`](src/claudedo/keys.py) were confirmed **empirically** diff --git a/config.toml b/config.toml index 3aa9e02..b4dbeff 100644 --- a/config.toml +++ b/config.toml @@ -88,3 +88,27 @@ print_heard = false context_multiline = true # separator inserted between blurb and instruction when context_multiline = false. context_separator = " — " + +[sound] +# earcons — short confirmation tones on daemon events so you get eyes-free feedback +# ("did it hear me?") without watching the terminal. tones are SHORT (<300ms) and quiet; +# they play OUT through WSLg's PulseAudio sink (paplay-first, sounddevice fallback, then +# powershell.exe). additive to the console feed — mute these and read at the desk, or +# hear them eyes-free. a dead speaker never blocks/breaks a command (fire-and-forget). +enabled = true +# blip when a wake phrase is recognized. OFF by default: a blip right before you speak +# the command can bleed into its capture, and it's chatty. turn on only if you want it. +on_wake = false +# positive blip when a command is recognized/injected. +on_accept = true +# distinct lower buzz when nothing matched or the target was missing (did nothing). +on_no_match = true +# rising chime when a send/submit is injected. +on_submit = true +# best-effort 0.0-1.0 (scaled for sounddevice, --volume for paplay; ignored by the +# powershell fallback, which has no volume control). +volume = 0.5 +# optional per-event overrides to swap in your own .wav files, e.g.: +# [sound.files] +# accept = "~/sounds/my_accept.wav" +[sound.files] diff --git a/install.sh b/install.sh index 26b5163..19b8e11 100755 --- a/install.sh +++ b/install.sh @@ -57,9 +57,14 @@ say "verifying audio path" if pactl info >/dev/null 2>&1; then DEFAULT_SRC="$(pactl info | sed -n 's/^Default Source: //p')" echo " Default Source: ${DEFAULT_SRC:-}" + DEFAULT_SINK="$(pactl info | sed -n 's/^Default Sink: //p')" + echo " Default Sink: ${DEFAULT_SINK:-}" if ! pactl list sources short 2>/dev/null | grep -q RDPSource; then warn "RDPSource not listed by pactl — mic may not be bridged. check Windows mic permission." fi + if ! pactl list sinks short 2>/dev/null | grep -q RDPSink; then + warn "RDPSink not listed by pactl — earcon/TTS audio-OUT may not play. run 'claudedo test-tone' to check." + fi else warn "pactl info failed — pulseaudio-utils installed but no server reachable yet." fi diff --git a/pyproject.toml b/pyproject.toml index f9ffbf2..6439486 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "claudedo" -version = "0.2.0" +version = "0.2.1" description = "voice-control daemon for claude code (local STT -> tmux send-keys)" readme = "README.md" requires-python = ">=3.10" @@ -23,6 +23,9 @@ claudedo = "claudedo.__main__:main" [tool.setuptools] package-dir = { "" = "src" } +[tool.setuptools.package-data] +"claudedo.sounds" = ["*.wav"] + [tool.setuptools.packages.find] where = ["src"] diff --git a/src/claudedo/__init__.py b/src/claudedo/__init__.py index 20b3941..d08b05d 100644 --- a/src/claudedo/__init__.py +++ b/src/claudedo/__init__.py @@ -1,3 +1,3 @@ """claudedo — voice-control daemon for claude code (local STT -> tmux send-keys)""" -__version__ = "0.2.0" +__version__ = "0.2.1" diff --git a/src/claudedo/__main__.py b/src/claudedo/__main__.py index fae3d17..41167e7 100644 --- a/src/claudedo/__main__.py +++ b/src/claudedo/__main__.py @@ -97,6 +97,36 @@ def cmd_stop(_args: argparse.Namespace) -> int: return 1 +def cmd_test_tone(args: argparse.Namespace) -> int: + config = _load_or_die(args.config) + from . import audio_out, sound + + print("== claudedo test-tone ==") + if not audio_out.available(): + print("no audio-out backend found (paplay / powershell.exe).", file=sys.stderr) + print("install pulseaudio-utils (run install.sh) for paplay.", file=sys.stderr) + return 1 + earcons = sound.Earcons(config) + print(f"playing each tone via WSLg audio-out (volume {config.sound_volume}) — listen ...") + ok = True + for event in sound.event_names(): + path = earcons.tone_path(event) + if path is None or not Path(path).is_file(): + print(f" {event:9} MISSING ({path})") + ok = False + continue + print(f" {event:9} {path.name} ...", flush=True) + played = audio_out.play_blocking(path, volume=config.sound_volume) + if not played: + print(f" {event:9} FAILED to play", file=sys.stderr) + ok = False + if not ok: + print("some tones did not play — audio-out may be unavailable.", file=sys.stderr) + return 1 + print("audio-out OK (all tones played).") + return 0 + + def cmd_reload(_args: argparse.Namespace) -> int: if daemon.reload_running(): print("signalled claudedo to reload config + contexts") @@ -234,6 +264,8 @@ def build_parser() -> argparse.ArgumentParser: ).set_defaults(func=cmd_reload) sub.add_parser("status", help="show daemon status").set_defaults(func=cmd_status) sub.add_parser("test-audio", help="verify the mic capture path").set_defaults(func=cmd_test_audio) + sub.add_parser("test-tone", help="play each earcon (verify the audio-out path)" + ).set_defaults(func=cmd_test_tone) sub.add_parser("install", help="re-run the bootstrap (install.sh)").set_defaults(func=cmd_install) sub.add_parser("unset", help="clear the sticky target session").set_defaults(func=cmd_unset) sub.add_parser("list", help="list running claude-* sessions").set_defaults(func=cmd_list) diff --git a/src/claudedo/audio_out.py b/src/claudedo/audio_out.py new file mode 100644 index 0000000..bdb00aa --- /dev/null +++ b/src/claudedo/audio_out.py @@ -0,0 +1,158 @@ +"""audio output — play short .wav files through the WSLg/PulseAudio sink (RDPSink). + +the reverse direction of audio.py's mic capture, and the less-tested path on WSLg. a +three-tier player picks the first backend that works and remembers it: + + 1. paplay (pulseaudio-utils) — a SEPARATE process hitting PulseAudio directly. this + is the primary on purpose: the daemon captures with sounddevice (an open input + stream in listen mode), so keeping OUTPUT in a separate process avoids stacking + input+output in one lib on a bridge known to be duplex-flaky. + 2. sounddevice sd.play() — in-process fallback if paplay is absent. + 3. powershell.exe SoundPlayer — last resort via the Windows host (no volume control). + +both earcons (sound.py) and future v0.3 TTS readback play through this module — keep it +generic (it plays a wav path, it knows nothing about events). playback is fire-and- +forget on a worker thread: a missing file or a dead speaker logs once and is swallowed, +never raised, so audio-out can NEVER block or break the inject path. +""" + +from __future__ import annotations + +import logging +import shutil +import subprocess +import threading +import wave +from pathlib import Path + +log = logging.getLogger(__name__) + +_PAPLAY = "paplay" +_POWERSHELL = "powershell.exe" + +_backend_lock = threading.Lock() +_chosen_backend: str | None = None +_warned = False + + +def _have(cmd: str) -> bool: + return shutil.which(cmd) is not None + + +def _clamp_volume(volume: float) -> float: + return max(0.0, min(1.0, float(volume))) + + +def _play_paplay(path: Path, volume: float) -> bool: + """play via paplay; volume scaled through --volume (0-65536 linear)""" + vol = int(_clamp_volume(volume) * 65536) + proc = subprocess.run( + [_PAPLAY, f"--volume={vol}", str(path)], + stdout=subprocess.DEVNULL, stderr=subprocess.PIPE, + ) + if proc.returncode != 0: + log.debug("paplay failed: %s", proc.stderr.decode("utf-8", "replace").strip()) + return False + return True + + +def _play_sounddevice(path: Path, volume: float) -> bool: + """play via sounddevice (in-process fallback); volume scales the samples""" + try: + import numpy as np + import sounddevice as sd + except Exception as exc: + log.debug("sounddevice unavailable: %s", exc) + return False + try: + with wave.open(str(path), "rb") as wf: + sr = wf.getframerate() + frames = wf.readframes(wf.getnframes()) + data = np.frombuffer(frames, dtype=" bool: + """play via the Windows host (last resort). SoundPlayer has no volume control, + so volume is ignored on this backend (documented best-effort).""" + if not _have(_POWERSHELL): + return False + try: + win = subprocess.run(["wslpath", "-w", str(path)], stdout=subprocess.PIPE, + stderr=subprocess.DEVNULL) + winpath = win.stdout.decode("utf-8", "replace").strip() if win.returncode == 0 else str(path) + script = f"(New-Object Media.SoundPlayer '{winpath}').PlaySync()" + proc = subprocess.run([_POWERSHELL, "-NoProfile", "-Command", script], + stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL) + return proc.returncode == 0 + except Exception as exc: + log.debug("powershell playback failed: %s", exc) + return False + + +_BACKENDS = { + "paplay": _play_paplay, + "sounddevice": _play_sounddevice, + "powershell": _play_powershell, +} +_ORDER = ("paplay", "sounddevice", "powershell") + + +def _play_sync(path: Path, volume: float) -> bool: + """play a wav synchronously, choosing/remembering a working backend. returns + whether playback succeeded; never raises.""" + global _chosen_backend, _warned + if not path.is_file(): + log.debug("tone file missing: %s", path) + return False + + with _backend_lock: + order = (_chosen_backend,) + _ORDER if _chosen_backend else _ORDER + tried = [] + for name in order: + if name in tried: + continue + tried.append(name) + if name == "paplay" and not _have(_PAPLAY): + continue + if _BACKENDS[name](path, volume): + with _backend_lock: + _chosen_backend = name + return True + + with _backend_lock: + if not _warned: + _warned = True + log.warning("audio-out unavailable (tried %s) — continuing silently; " + "tones disabled for this run", ", ".join(tried)) + return False + + +def play(path: str | Path, volume: float = 1.0, blocking: bool = False) -> None: + """play a wav file. fire-and-forget by default (a worker thread), so a slow or + dead speaker never delays the caller. set blocking=True only for test-tone, where + we want to play tones in sequence and report the result. + + failures are swallowed (logged once) — audio-out must never break a command. + """ + p = Path(path) + if blocking: + _play_sync(p, volume) + return + threading.Thread(target=_play_sync, args=(p, volume), daemon=True).start() + + +def play_blocking(path: str | Path, volume: float = 1.0) -> bool: + """synchronous play that returns success — for test-tone's audio-out gate""" + return _play_sync(Path(path), volume) + + +def available() -> bool: + """true if any audio-out backend is present (best-effort, paplay/powershell)""" + return _have(_PAPLAY) or _have(_POWERSHELL) diff --git a/src/claudedo/config.py b/src/claudedo/config.py index 662dea4..04f0b6f 100644 --- a/src/claudedo/config.py +++ b/src/claudedo/config.py @@ -58,6 +58,13 @@ class Config: print_heard: bool context_multiline: bool context_separator: str + sound_enabled: bool + sound_on_wake: bool + sound_on_accept: bool + sound_on_no_match: bool + sound_on_submit: bool + sound_volume: float + sound_files: dict[str, str] source_path: Path | None = field(default=None) @@ -132,12 +139,21 @@ def load_config(explicit: str | os.PathLike | None = None) -> Config: print_heard=bool(_require(raw, "behavior", "print_heard", (bool,), False)), context_multiline=bool(_require(raw, "behavior", "context_multiline", (bool,), True)), context_separator=str(_require(raw, "behavior", "context_separator", (str,), " — ")), + sound_enabled=bool(_require(raw, "sound", "enabled", (bool,), True)), + sound_on_wake=bool(_require(raw, "sound", "on_wake", (bool,), False)), + sound_on_accept=bool(_require(raw, "sound", "on_accept", (bool,), True)), + sound_on_no_match=bool(_require(raw, "sound", "on_no_match", (bool,), True)), + sound_on_submit=bool(_require(raw, "sound", "on_submit", (bool,), True)), + sound_volume=float(_require(raw, "sound", "volume", (int, float), 0.5)), + sound_files=dict(_require(raw, "sound", "files", (dict,), {})), source_path=path, ) for label, val in (("wake_fuzzy_threshold", cfg.wake_fuzzy_threshold), ("command_fuzzy_threshold", cfg.command_fuzzy_threshold)): if not 0.0 < val <= 1.0: raise ConfigError(f"[behavior].{label} must be in (0, 1]") + if not 0.0 <= cfg.sound_volume <= 1.0: + raise ConfigError("[sound].volume must be in [0, 1]") if cfg.vad_silence_ms <= 0 or cfg.vad_max_seconds <= 0: raise ConfigError("[vad].silence_ms and max_seconds must be positive") if cfg.samplerate <= 0 or cfg.channels <= 0: diff --git a/src/claudedo/daemon.py b/src/claudedo/daemon.py index 6442916..ed07b03 100644 --- a/src/claudedo/daemon.py +++ b/src/claudedo/daemon.py @@ -20,6 +20,7 @@ from . import __version__, audio, grammar, inject, keys, target from .config import Config, ConfigError, load_config from .console import HELP, SYSTEM, VOICE, Console from .contexts import Contexts, ContextsError, load_contexts +from .sound import Earcons from .stt import Transcriber log = logging.getLogger(__name__) @@ -130,6 +131,7 @@ class Daemon: self._pending: dict[str, int] = {} self._console = Console() self._contexts = Contexts() + self._earcons = Earcons(config) self._last_stt_ms = 0.0 self._last_audio_s = 0.0 @@ -202,10 +204,14 @@ class Daemon: parsed = grammar.parse(transcript, cfg.wake_phrases, cfg.wake_fuzzy_threshold, cfg.command_fuzzy_threshold, require_wake, filler=cfg.filler_words) if parsed is None or parsed.action is None: + if parsed is not None: + self._earcons.play("wake") self._console.emit(VOICE, f'heard "{transcript}" -> no command matched {self._timing()}', "yellow") + self._earcons.play("no_match") return action = parsed.action + self._earcons.play("wake") # a command was recognized — echo what we heard (green) before acting. note the # matched wake phrase (magenta) when the transcript didn't literally contain it @@ -270,12 +276,14 @@ class Daemon: name = str(action.arg[0]) if self._contexts.get(name) is None: self._console.emit(VOICE, f"no context named '{name}' -> did nothing", "red") + self._earcons.play("no_match") return session, reason = target.resolve(parsed.one_shot, auto_target=cfg.auto_target) if session is None: self._console.emit(VOICE, f'heard "{transcript}" -> {reason} -> ' f'{self._describe(action)} did nothing', "red") + self._earcons.play("no_match") return if action.name == "context": self._inject_context(session, action) @@ -287,9 +295,12 @@ class Daemon: buffer so backspace/erase delete only back to the last submit boundary. the 'heard ...' echo is already printed by _handle and the [session] prefix - names the target, so these lines just report the keystrokes injected. + names the target, so these lines just report the keystrokes injected. the + earcon fires here (a real injection): submit chimes the submit tone, every + other injected command the accept tone. """ name = action.name + self._earcons.play("submit" if name == "submit" else "accept") if name == "type": text = str(action.arg) @@ -344,6 +355,7 @@ class Daemon: name, dictation = str(action.arg[0]), str(action.arg[1]) blurb = self._contexts.get(name) or "" + self._earcons.play("accept") inject.send_literal(session, blurb) chars = len(blurb) if dictation: @@ -382,6 +394,7 @@ class Daemon: toggled by voice and leaving the already-loaded transcriber untouched.""" new_cfg.mode = self.mode self.config = new_cfg + self._earcons.update(new_cfg) def _do_system(self, arg) -> None: """daemon-control namespace (never injects to claude): status / reload.""" diff --git a/src/claudedo/sound.py b/src/claudedo/sound.py new file mode 100644 index 0000000..99896c3 --- /dev/null +++ b/src/claudedo/sound.py @@ -0,0 +1,91 @@ +"""earcons — short confirmation tones on daemon events, the eyes-free feedback layer. + +the single place that maps an event name to its tone file and the per-event enable +flag. additive to the console feed (it does not replace the printed lines): at the desk +mute tones and read; eyes-free, hear them. playback goes through audio_out (paplay-first, +fire-and-forget) so a dead speaker never blocks or breaks a command. + +events: + wake — a wake phrase was recognized (off by default — a blip right before you + speak the command can bleed into its capture; keep it off unless wanted) + accept — a command was recognized/injected + no_match — nothing matched, or the target was missing (did nothing) + submit — a send/submit was injected + +tone files live in the packaged sounds/ dir; a per-event config override may point at a +user file instead. a missing file is swallowed by audio_out (logged once), never raised. +""" + +from __future__ import annotations + +import logging +from pathlib import Path + +from . import audio_out +from .config import Config + +log = logging.getLogger(__name__) + +_SOUNDS_DIR = Path(__file__).resolve().parent / "sounds" + +_EVENT_FILES = { + "wake": "wake.wav", + "accept": "accepted.wav", + "no_match": "no_match.wav", + "submit": "sent.wav", +} + +_EVENT_FLAGS = { + "wake": "on_wake", + "accept": "on_accept", + "no_match": "on_no_match", + "submit": "on_submit", +} + + +class Earcons: + """resolves daemon events to tones and plays them per the [sound] config""" + + def __init__(self, config: Config) -> None: + self._apply(config) + + def update(self, config: Config) -> None: + """re-read the [sound] config after a live reload""" + self._apply(config) + + def _apply(self, config: Config) -> None: + self.enabled = config.sound_enabled + self.volume = config.sound_volume + self._flags = { + "wake": config.sound_on_wake, + "accept": config.sound_on_accept, + "no_match": config.sound_on_no_match, + "submit": config.sound_on_submit, + } + self._overrides = dict(config.sound_files) + + def _resolve(self, event: str) -> Path | None: + override = self._overrides.get(event) or self._overrides.get(_EVENT_FLAGS[event]) + if override: + return Path(override).expanduser() + name = _EVENT_FILES.get(event) + return _SOUNDS_DIR / name if name else None + + def play(self, event: str) -> None: + """play the tone for an event if enabled (master + per-event). fire-and-forget; + unknown/disabled events and missing files are silently no-ops.""" + if not self.enabled or not self._flags.get(event, False): + return + path = self._resolve(event) + if path is None: + return + audio_out.play(path, volume=self.volume, blocking=False) + + def tone_path(self, event: str) -> Path | None: + """the resolved tone path for an event (for test-tone), ignoring enable flags""" + return self._resolve(event) + + +def event_names() -> list[str]: + """the earcon event names in a stable order (for test-tone iteration)""" + return ["wake", "accept", "no_match", "submit"] diff --git a/src/claudedo/sounds/__init__.py b/src/claudedo/sounds/__init__.py new file mode 100644 index 0000000..41f56ae --- /dev/null +++ b/src/claudedo/sounds/__init__.py @@ -0,0 +1 @@ +"""earcon tone assets (committed .wav files) + their generator (generate.py)""" diff --git a/src/claudedo/sounds/accepted.wav b/src/claudedo/sounds/accepted.wav new file mode 100644 index 0000000000000000000000000000000000000000..af78cba95731c63bc7685c3791f6bc1b4d1650a6 GIT binary patch literal 44774 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 literal 0 HcmV?d00001 diff --git a/src/claudedo/sounds/generate.py b/src/claudedo/sounds/generate.py new file mode 100644 index 0000000..9c7f658 --- /dev/null +++ b/src/claudedo/sounds/generate.py @@ -0,0 +1,75 @@ +"""synthetic-beep FALLBACK generator for the earcon .wav tones. + +WARNING: the shipped tones in this directory are now CUSTOM CURATED recordings +(edge-trimmed + loudness-normalized to ~-16 dB RMS with a -1 dBTP ceiling), NOT this +script's output. running this script OVERWRITES those real tones with plain synthetic +beeps — only do so if you deliberately want to fall back to generated placeholders. it +is kept as a bootstrap fallback so the package can always self-generate a tone set (the +"a missing tone must never break a command" guarantee), not as the source of the +committed wavs. + +run ``python -m claudedo.sounds.generate`` (or ``python generate.py`` from this dir) to +write placeholder beeps. each is a short, quiet, fade-enveloped sine/triangle at a +distinct pitch so the four events are ear-distinguishable: + + wake — soft single mid blip (off by default; least intrusive) + accepted — bright single high note (heard you, sent it) + no_match — low two-note falling buzz (heard you, but nothing matched / error) + sent — two-note rising chime (submitted to claude) + +kept SHORT (<300ms) and quiet (amplitude 0.4) — confirmations, not alarms. +""" + +from __future__ import annotations + +import struct +import wave +from pathlib import Path + +SAMPLE_RATE = 44100 +AMPLITUDE = 0.4 + +HERE = Path(__file__).resolve().parent + + +def _tone(freq: float, dur: float) -> list[float]: + import math + + n = int(SAMPLE_RATE * dur) + fade = max(1, int(SAMPLE_RATE * 0.01)) + out = [] + for i in range(n): + env = min(1.0, i / fade, (n - i) / fade) + out.append(math.sin(2.0 * math.pi * freq * (i / SAMPLE_RATE)) * env * AMPLITUDE) + return out + + +def _silence(dur: float) -> list[float]: + return [0.0] * int(SAMPLE_RATE * dur) + + +def _write(name: str, samples: list[float]) -> Path: + path = HERE / name + with wave.open(str(path), "wb") as wf: + wf.setnchannels(1) + wf.setsampwidth(2) + wf.setframerate(SAMPLE_RATE) + clipped = (max(-1.0, min(1.0, s)) for s in samples) + wf.writeframes(b"".join(struct.pack(" list[Path]: + """(re)write all earcon wavs; return the written paths""" + tones = { + "wake.wav": _tone(660.0, 0.12), + "accepted.wav": _tone(988.0, 0.14), + "no_match.wav": _tone(330.0, 0.10) + _silence(0.03) + _tone(247.0, 0.12), + "sent.wav": _tone(784.0, 0.10) + _silence(0.02) + _tone(1175.0, 0.12), + } + return [_write(name, samples) for name, samples in tones.items()] + + +if __name__ == "__main__": + for p in generate(): + print(f"wrote {p}") diff --git a/src/claudedo/sounds/no_match.wav b/src/claudedo/sounds/no_match.wav new file mode 100644 index 0000000000000000000000000000000000000000..be7bcfe06a3e7054fbf7637920a23d8fa1ff0250 GIT binary patch literal 12544 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 PNk@@mFlRoEoJIa02s2^c literal 0 HcmV?d00001 diff --git a/src/claudedo/sounds/sent.wav b/src/claudedo/sounds/sent.wav new file mode 100644 index 0000000000000000000000000000000000000000..72584949f8ce80f5bf910766f82e399ced900822 GIT binary patch literal 70002 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 Q_9`FFbZEMd;fUb>0~N=$QUCw| literal 0 HcmV?d00001 diff --git a/src/claudedo/sounds/wake.wav b/src/claudedo/sounds/wake.wav new file mode 100644 index 0000000000000000000000000000000000000000..8b3a992fb7a1986567ea7beb4f7c3f83154d911f GIT binary patch literal 41558 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 literal 0 HcmV?d00001