Jas

We built true Live Transcription. Here is the technical mess we had to untangle.

by

If you use Aqua Voice, WisprFlow or SuperWhisper, you know the drill: talk to a wall, hit stop, pray the AI didn't hallucinate.

Nobody does live transcription because it completely breaks standard AI models. We spent months figuring out local agreement, audio buffering, and aggressive real-time self-correction just so you can finally edit at the speed of thought.

Live transcription is not “final transcription, but faster.” It is a trust problem.

When someone is still speaking, the model is decoding partial audio: clipped phonemes, silence, background noise, half-finished words, and sentences that may still change direction.

A naive live HUD does this:

rolling audio -> Whisper -> show text

That breaks quickly. Words flicker. Silence becomes text. The model completes a cutoff with something plausible. The final half-second of audio is especially dangerous because the model has just enough signal to guess, but not enough signal to know.

So Juno treats live transcription as two separate objects:

committed text- Stable enough to show as real speech.

tail text -Useful as preview, but still provisional.

The interesting part is the boundary between them. Juno uses LocalAgreement-style commits, draft-horizon demotion, no-speech checks, loop guards, hallucination filters, and final patch boundaries before text is allowed to graduate into the committed lane. The writer model stays out of the live HUD(that's intentional)

The heavier formatting, correction, action detection, and native insertion happen after the user stops speaking.

That is the architecture that makes voice writing feel calm instead of chaotic.

We wrote the deeper architecture breakdown here:
https://cassiniresearch.com/products/juno/blog/inside-juno-local-voice-layer.html

Juno is live and free. I'm hanging out in the thread today to answer any questions about the backend gymnastics it takes to make instant transcription actually work. Ask me anything.

29 views

Add a comment

Replies

Be the first to comment