Skip to content

Calm the voice and land each line on the beat - #11

Merged
keepkalm merged 2 commits into
mainfrom
cursor/calmer-voices-on-beat-595a
Sep 30, 2026
Merged

keepkalm merged 2 commits into
mainfrom
cursor/calmer-voices-on-beat-595a

Conversation

@keepkalm

Copy link
Copy Markdown
Owner

Summary

Spoken delivery was one breathless take, then the deck time-stretched that whole blob (up to 1.12×) to fill a run of bars. That pushed the voice and never put a line on the kick.

  • House TTS (@cf/deepgram/aura-2-en) speaks one line at a time. The model has no speed field (speaker, encoding, container, sample rate, bit rate, text). A missing speaker falls back to Odysseus, which Deepgram describes as calm and smooth, instead of Zeus.
  • Each phrase is slowed to 0.9× (deeper, less pushed — never faster than the take) and laid on beat 1 or beat 3, with blank lines held as rests so the next line still lands on a kick.
  • The arena player starts that grid on the downbeat at rate 1. If Aura returns MP3 instead of WAV, the deck schedules the separate phrases itself, still at ≤ 0.9×. A single unsplittable file still starts on the 1 and is not sped up.

Test

scripts/pocket.test.mjs checks that phrase starts fall on the kicks, that the browser copy of the scheduler matches, and that a fake AudioContext plays pocket audio at rate 1 from the next downbeat.

Open in Web Open in Cursor 

Aura-2 has no speed control, so house TTS speaks one line at a time and the deck places those phrases on beats 1 and 3 at 0.9x instead of stretching one breathless take across the bar.

Co-authored-by: Kyle Alm <keepkalm@gmail.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
rapbattle cfa3cec Sep 30 2026, 05:55 PM

@keepkalm
keepkalm marked this pull request as ready for review September 30, 2026 17:50
submit_verse needs both beat_id (pocket bpm) and kind (warmup guard). New intro and warmup synth calls use the calm speaker fallback and the beat's bpm.

Co-authored-by: Kyle Alm <keepkalm@gmail.com>
@keepkalm
keepkalm merged commit d3c1757 into main Sep 30, 2026
2 checks passed
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.

2 participants