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.
TinyCommand
how to train this model on my local system? when i make corrections in the transcript does it learn? I have tried similar tools in the past, but I was not successfully able to train them. Like the words that I wanted in its vocabulary, I was just not able to get it to learn them. How does Juno solve this problem?
Juno
@priyanka_gosai1 Great question. You don’t have to train the base model manually. Juno solves this with a local memory + dictionary layer on top of the ASR.
You can explicitly add words, names, acronyms, product terms, aliases, and pronunciation hints to your dictionary. You can also create snippets, like “my signoff” → a full signature, or app-specific terms for work/code/docs.
When you correct a transcript, Juno stores the raw ASR → corrected text pair locally, with safety checks so random mishears don’t pollute memory. Repeated corrections can promote into your vocabulary automatically.
On the next dictation, Juno ranks your dictionary, corrections, snippets, screen context, selected text, and current app, then feeds the relevant terms back into ASR biasing, live preview repair, and final transcript cleanup.
Congrats on the launch, Jas! I’ve actually been looking for a solid tool to convert audio files and voice notes without uploading sensitive data to a cloud server. The fact that Juno runs completely offline, local, and open-source is a massive win.
I’m almost sad this is currently exclusive to Mac users, because it looks incredible! What’s the main reason behind this choice? Is it due to leveraging Apple's native hardware/CoreML for local AI, or do you have plans to bring Juno to Windows/Linux users in the near future? I'd love to use it across all my setups! 🚀
Juno
@keirodev Thanks Kevin, really appreciate it.
The main reason is Apple Silicon + MLX. Juno’s hot path runs multiple local models, not just one transcription call: live Whisper preview, final ASR, and local Qwen-based cleanup/actions. On M-series chips, unified memory lets those models stay close to the GPU without a lot of copying, and MLX gives us fast Metal-backed inference with very predictable latency.
So the choice was less “Mac-only” and more “start where fully local AI is strongest today.” We wanted offline/private to also feel fast, not like a compromise. Windows, Linux or mobile are not in plans currently.
The live transcription bit is what sells me — most dictation tools make me wait for the whole block then fix it after. As an indie dev I basically live in Cursor and Notes, so something local + offline that isn't shipping my half-baked specs to a server is a real plus. Does the rewrite-selected-text work inside Cursor's editor too, or just native text fields?
Juno
@lennoxbeflying Yes, Cursor is exactly one of the surfaces we care about.
Rewrite-selected-text is not limited to native text fields. Juno reads the active selection through local Accessibility APIs, sends only that selected span into the local rewrite path, then pastes the result back over the same selection.
For code editors like Cursor/VS Code, we also try to pull editor context like file name, nearby text, and symbol under cursor, so the rewrite is less “generic AI polish” and more aware of the code/doc you’re actually editing.
whisper + live transcription locally is the chunk-size dance — too short and you lose context across the boundary, too long and the perceived latency drags. cold-start hits once, but the per-chunk recompute pattern is the long tail.
Juno
@qifengzheng exactly - the chunk boundaries and the per-chunk recompute were the two we had to beat, and where most of the engineering went. Got it stable and low-latency fully on-device. It's open source if you want to see how: https://github.com/Cassini-Research/juno
Juno
@outofelement Thanks Marat, excited for you to try Juno!
Juno will always be free - speaking is free, and typing shouldn't be paywalled.
To answer your question: I don't plan to monetize this. I use Juno every day, and the roadmap is just making it better and better for my own daily use.
There's no catch. Everything runs 100% locally on your Mac. Since there is no cloud processing, there are no server costs to offset, and your data stays completely private.
Would love to see this for Windows and Linux users
Juno
@aymnart Windows, Linux or mobile are not in plans currently.
For some reason it freezes when I run the listening
MBP 16 M4 Pro, 24GB ram, should be pretty good to go for it
Juno
@alexandroff_h Hey shouldn't happen. Can you please share the logs with me on hi@cassiniresearch.com, I'll look into it.