Your audio stays here.
Sonora runs Moonshine’s speech recognition and speaker diarization inside a Web Worker using WASM SIMD and CPU threads. It needs no account, no analytics, no cloud transcription service, and no GPU. Nothing you record or open is uploaded.
Download once. Then disconnect.
On first run, Sonora asks you to choose Lean (about 86 MB) or Quality (about 273 MB) and downloads the English, German, and speaker models once. It checks sizes and checksums before keeping a file. The roughly 13 MB engine and the app itself are cached separately by a service worker. “Ready · works offline” in the header means both are in place and verified.
Models are looked up in this order: a models folder bundled inside the app folder, an intranet mirror named in an optional config.json next to index.html, and finally download.moonshine.ai. Organisations can therefore ship Sonora with the models included, or block the public download entirely. The Settings dialog can verify or remove downloaded models.
Sessions
Every recording or imported file is saved automatically in this browser: the transcript, the speaker names, the audio, and the waveform. The left rail lists sessions by date and can be searched. Right-click a session to delete it. You can rename a session by editing its title.
Clearing site data removes sessions, recordings, and models. The browser may also evict data under storage pressure. Settings has a Storage section where you can ask the browser to keep the data. Export what you care about; exports are your backup.
Reading and correcting a transcript
Click a timestamp to play from there. The current line is highlighted and the view follows it; you can turn that off in Settings. Click a speaker chip to rename that speaker everywhere. Click the text of any line to correct it: Enter saves, Esc cancels, and corrected lines are marked “edited”. Press Ctrl+K to search with highlighted matches.
Copy the transcript with Ctrl+Shift+C. Export with Ctrl+S as Text, Markdown, SRT, WebVTT, or JSON. The file name comes from the session title. Press ? for the full shortcut list.
Recording and files
Choose the source, the microphone, and the spoken language in the deck at the bottom, then press Record or the R key. While recording you see a timer, a level meter, and a scrolling waveform. Sonora keeps the screen awake and shows the elapsed time in the window title. Drop an audio or video file anywhere, or press O, to transcribe a file. The waveform doubles as a scrubber.
Device audio uses the browser’s screen or tab sharing picker: choose a supported source and enable “Share audio.” Not every OS, browser, and source supports system sound, and a browser cannot silently capture arbitrary speaker output. Sonora rejects a shared source with no audio track. When both sources are captured, they are mixed. Recording is never played back into your speakers.
English, German, and speaker labels
Select the spoken language before recording. The language packs are separate, and automatic code switching is not offered. You can add names and terms in the deck. Speaker labels are acoustic estimates for the current session, not personal identities, and no voice database is stored. Short turns, noise, similar voices, and overlap can cause mistakes.
The current German model does not publish an attention decoder for precise word alignment. Speaker time spans and transcript lines are available, but words in a mixed-speaker line may not line up exactly with the speaker turns. Keep the original audio for review.
Install it
Sonora is an installable app. In Edge or Chrome use the install button in the address bar or the browser menu; in Safari use File › Add to Dock. Firefox on desktop cannot install web apps, but Sonora works the same in a tab. Once installed, the title bar becomes the app’s own strip, right-clicking the taskbar icon offers New recording, Transcribe a file, and Session library, and audio files can be opened with Sonora from Explorer. Pin the icon to the taskbar for one-click access. Installed and tab versions share the same data. The Settings dialog has step-by-step help for your browser.
For IT teams
Sonora is static files. Serve it over HTTPS with Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Embedder-Policy: require-corp. If your host cannot set those headers, the service worker adds them and the app reloads once on the very first visit. Without a web server, Start-Sonora.cmd in the app folder starts a local server on 127.0.0.1 with no Node and no admin rights. For networks without internet access, bundle the models into the folder and set allowUpstream to false in config.json. Edge and Chrome can install Sonora for every user with the WebAppInstallForceList policy. If models come from an intranet mirror, add its origin to connect-src in the server’s Content Security Policy.
Sources
Runtime: Moonshine WASM 0.1.5, MIT. Models: official model catalog. See third-party notices. This is an engineering selection for a compact CPU app; it is not a claim of universal benchmark superiority.