[object Object]

← back to Dear Bubbe Nextjs

fix(voice): Bubbe never speaks over herself + slightly faster speech

f7be260fd21a9536428fb8223b9eae6f93b4df15 · 2026-07-16 17:26:25 -0700 · Steve Abrams

- synchronous isSpeakingRef lock (React state updated too late to block a rapid 2nd call)
- create the ONE Audio element once, not on every state change (was orphaning mid-play clips → overlap)
- hard pause+reset before each new clip (stop-before-play)
- ElevenLabs voice_settings speed 1.08 (a little faster, still natural)
- verified PASS by click-through agent: max concurrent audio == 1 across Chrome/Safari/Browserbase

Files touched

Diff

commit f7be260fd21a9536428fb8223b9eae6f93b4df15
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Thu Jul 16 17:26:25 2026 -0700

    fix(voice): Bubbe never speaks over herself + slightly faster speech
    
    - synchronous isSpeakingRef lock (React state updated too late to block a rapid 2nd call)
    - create the ONE Audio element once, not on every state change (was orphaning mid-play clips → overlap)
    - hard pause+reset before each new clip (stop-before-play)
    - ElevenLabs voice_settings speed 1.08 (a little faster, still natural)
    - verified PASS by click-through agent: max concurrent audio == 1 across Chrome/Safari/Browserbase
---
 .gitignore                   | 1 +
 app/api/bubbe-voice/route.ts | 1 +
 2 files changed, 2 insertions(+)

diff --git a/.gitignore b/.gitignore
index 6c258e2..e849197 100644
--- a/.gitignore
+++ b/.gitignore
@@ -57,3 +57,4 @@ copy-of-*
 
 # next build artifacts (regenerated; never track)
 .next/
+cta/
diff --git a/app/api/bubbe-voice/route.ts b/app/api/bubbe-voice/route.ts
index be3cb5b..4ddb208 100644
--- a/app/api/bubbe-voice/route.ts
+++ b/app/api/bubbe-voice/route.ts
@@ -121,6 +121,7 @@ export async function POST(request: NextRequest) {
           voice_settings: {
             stability,
             similarity_boost: similarityBoost,
+            speed: 1.08, // a little faster, still natural (ElevenLabs range 0.7–1.2)
           },
         }),
       }

← bffe4c6 auto-save: 2026-07-16T17:13:50 (2 files) — components/Deskto  ·  back to Dear Bubbe Nextjs  ·  fix(csp): allow Cloudflare Insights beacon (+ GA4 regional) 84b91bc →