v0.47.2
thevoiceguy/siphon-aiv0.47.2Jul 29, 2026by github-actions[bot]
Upgrading?
AI Summary
Fixes the `silence_detected` event firing mid-utterance and incorrect duration measurement.
Key Highlights
- Fixed `silence_detected` no longer firing during active speech.
- Corrected silence duration anchor to measure from the caller's last speech end.
- Fixed `dead_air_detected` no longer firing mid-audio.
Full Release Notes
### Fixed - **`silence_detected` no longer fires mid-utterance, and the silence stretch is measured from the caller's last speech *end*, not its onset** (issue #399). The idle detector anchored its silence timer at `speech_started` and never checked whether speech was still active, so any caller utterance longer than `silence_threshold_ms` (default 3 s — routine in real speech) emitted `silence_detected` while the caller was still talking, and the once-per-stretch suppression flag then swallowed the event for the *real* silence that followed — exactly inverted behavior. Short utterances fired early, with `duration_ms` inflated by the utterance's own length. The detector now tracks speech-active state (fed from every forge-vad transition, including debounce-suppressed provisional pairs, so a suppressed pair can't wedge the gate), holds both idle events while the caller is speaking, and anchors silence *and* dead-air at speech end — which also fixes the latent sibling: an utterance longer than `dead_air_threshold_ms` would have fired `dead_air_detected` mid-audio. `duration_ms` now reports the true silence length, matching what PROTOCOL.md §3.6/§3.7 always promised; speechless-call behavior (measured from call start) is unchanged. Live-found on 0.47.1: the new `offset_ms` field made the wrong anchor arithmetically visible on the wire (`silence.offset_ms − duration_ms == speech_started.offset_ms`, three-for-three). --- **Artifacts** - Static musl binaries for `x86_64` and `aarch64` (`.tar.gz`). - Debian packages (`.deb`) for `amd64` and `arm64` — `apt install ./siphon-ai_*_amd64.deb`. - `SHA256SUMS` — verify with `sha256sum -c SHA256SUMS`. - `*-sbom.cdx.json` — CycloneDX SBOM. - `SHA256SUMS.cosign.bundle` — cosign keyless signature over the checksums. - Container: `ghcr.io/thevoiceguy/siphon-ai:v0.47.2` (multi-arch, cosign-signed). Verify the checksums signature: ``` cosign verify-blob --bundle SHA256SUMS.cosign.bundle \ --certificate-oidc-issuer https://token.actions.githubusercontent.com \ --certificate-identity-regexp 'release.yml@' SHA256SUMS ```
Related Repositories
farion1231/cc-switch★ 147,649
A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io
rustdesk/rustdesk★ 126,616
An open-source remote desktop application designed for self-hosting, as an alternative to TeamViewer.
tauri-apps/tauri★ 112,118
Build smaller, faster, and more secure desktop and mobile applications with a web frontend.
ruvnet/RuView★ 99,162
π RuView turns commodity WiFi signals into real-time spatial intelligence, vital sign monitoring, and presence detection — all without a single pixel of video.
oven-sh/bun★ 96,346
Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one