# Voice Notes

> Free browser voice recorder: live transcript, Hy-MT2 translation, bookmarks, no bots. Whisper and Qwen3-ASR run on your GPU with WebGPU, CPU fallback.

- URL: https://bytescope.dev/en/voice-notes/
- Locale: en · Also: [ja](https://bytescope.dev/ja/voice-notes.md) · [zh-Hant](https://bytescope.dev/zh-Hant/voice-notes.md)
- Runs: Your files never leave your browser — all processing is local.
- Requires: Recording tab audio, Chrome Speech Recognition, Gemini Nano and both translation engines need Chrome or Edge on desktop. Transcribing a microphone with a downloaded Whisper model runs in any browser with WebGPU (Whisper base also on WebAssembly). Playing back, editing, importing and exporting saved sessions works in any modern browser.
- Updated: 2026-09-08

## What it does

This voice notes tool turns your browser into a local recording notebook with real-time transcription and instant translation. Designed for meetings, lectures, and verbal notes, it captures microphone input, browser tab audio, or both mixed into a single audio track. Live speech recognition generates timestamps and transcript cues as you speak, with instant bilingual display — and the engine doing the recognising is yours to pick, as is the one doing the translating.

Unlike cloud-based AI meeting assistants that send automated bots into video calls or require uploading audio files to external servers, this tool runs in your browser. Recording, transcript edits and storage never leave your device; whether the speech recognition does depends on the engine you pick — a Whisper model and Chrome's on-device recognition keep the audio local, while Chrome Speech Recognition in its default mode sends it to Google's servers, and the engine's badge says which. Translation is local with either translation engine. That keeps sensitive discussions confidential while providing rich transcript features, fast searching, and flexible export formats.

Two pickers, both independent. While recording, the speech recognition picker offers Chrome Speech Recognition — no download, words appear as they are spoken — or a Whisper model (base or small) downloaded once and run on your machine with WebGPU, which transcribes a sentence at a time — or Gemini Nano, where Chrome provides it. After you stop, a second pass can re-transcribe the whole recording with a heavier model — Whisper large (v3-turbo) is the accurate one — so the live transcript can be quick and the saved one can be right. The translation picker takes Hy-MT2 — a 1.8B model downloaded once (about 1.3 GB) and run on your graphics card with WebGPU, the recommendation whenever this computer has a usable GPU — or Chrome's built-in Translator, or Gemini Nano, or none. Nothing downloads without asking: a model that isn't on this machine yet shows its size, the free space left and whether you're on a metered connection, and starts only when you say so; download, verification, loading into memory and warm-up each show their own progress, and “test speed” runs a short built-in clip to tell you whether this computer keeps up live. Downloaded models are stored once and shared by every ByteScope tool.

### Models

Live and re-transcribe: Chrome Speech Recognition (Web Speech: no download, words as they are spoken; may send audio to Google unless the on-device pack is installed), Whisper base and Whisper small (local and light), Whisper large v3 turbo (the usual pick for a finished English, Chinese or Japanese recording on a usable graphics card), Qwen3-ASR 0.6B (the usual pick without a GPU), Qwen3-ASR 1.7B (the larger Qwen3-ASR), Confucius4-R2T2 (R2T2, streams word by word on a GPU) and Gemini Nano (Chrome built-in). Precise timestamps, re-transcribe only: Qwen3-ForcedAligner 0.6B, optional and off by default, about 1.85 GB. Translation: Hy-MT2 1.8B (Tencent Hunyuan-MT 2 on your GPU, the default with a usable graphics card), Chrome Translator (the default without one) and Gemini Nano. Everything runs in the browser: Whisper, Qwen3-ASR, R2T2, Hy-MT2 and the aligner run on your graphics card through WebGPU, with a compatible-GPU build for older cards without shader-f16 (a GTX 10-series, say), a fast-GPU build that uses f16 when the card supports it, and without a usable GPU, Whisper, Qwen3-ASR and the aligner fall back to the CPU over WebAssembly (slower), R2T2 is not used live, and translation switches from Hy-MT2 to Chrome Translator. A model downloaded here is shared by every ByteScope tool.

You can bookmark key moments during live recording, edit transcript errors after stopping, and export audio as M4A or WebM along with SRT, VTT, or TXT subtitle files. Session data is stored in your browser's local database, allowing you to search across past transcripts or restore full session backups whenever needed.

A transcript is only worth writing if you can read it while it is being written, so the whole lane can be popped into a floating window — `documentPictureInPicture`, the same always-on-top machinery a floating video uses, carrying a document instead. The operating system keeps that window above everything else, including the video call being transcribed and any app running full screen. The recording travels with it: the elapsed clock, pause, bookmark and stop sit in the window alongside the source/translation/both switch, a text-size step and the live-translation toggle. So you can record in this tab, read along over the top of the call, and mark the moment someone commits to a date without going back to look for a button. Closing the window folds the lines back into the page and changes nothing about the recording.

Speaker labels are deliberately simple. When you record both your microphone and the tab's audio, the tool compares which of the two was louder while each line was spoken and labels it "you" or "them" — nothing more. It is not voice recognition: everyone on the far end of a call is lumped together as "them", so three colleagues on a video meeting all get the same label, and with only one source enabled no label is shown at all. If you need the far end split up, there is now a separate, experimental “Find speakers” step that groups the lines into Speaker 1, 2, 3 by how each voice sounds — it is a guess, and the FAQ below says how often it is wrong. Meeting notes work the same local way: the summary, key points and action items are produced by Chrome's built-in models (`Summarizer` and the `Prompt API`) running on your own device, and the transcript never leaves the browser.

Search can also go by meaning, not only by the words you typed. Next to the search box is a “Find similar meaning” switch; with it on, typing “the budget is too tight” also finds the line where someone said “the funding got stuck”, and every hit is marked as a word match, a similar meaning, or both. Behind it is EmbeddingGemma 2, a text model that downloads once — about 234 MB — and then stays in this browser. It needs a browser with WebGPU, which means desktop Chrome or Edge; other browsers cannot use this switch. Know what it is and is not: results are ranked by how close the meaning is, not by understanding what was said, so very abstract queries do poorly. It only reads the text, so if speech recognition misheard a line, the meaning drifts with it. Neither the recording nor the transcript is uploaded, and the index lives in this browser alone — clear the site’s data and it is rebuilt the next time you switch meaning search on.

## Limits

Does not join meetings as a bot, does not upload audio, and does not transcribe in the background once the tab is closed.

## FAQ

### Do I need to notify other participants before recording a meeting?

Yes. You must inform all participants before you start recording any conversation or meeting. Unannounced recording is illegal in many jurisdictions, exposing you to wiretapping liability and legal penalties. Always obtain consent from everyone present.

### Does a bot join my Google Meet or Zoom call?

No. The tool does not send bots or third-party accounts into your meeting rooms. It captures audio directly from your browser tab or microphone using local web APIs, so no unexpected guest enters your call.

### Which model should I choose?

While recording, the question is whether this machine keeps up. With a usable graphics card, English, Chinese and Japanese default to Confucius4-R2T2, which streams words as you speak, unless its speed test on this computer says it cannot keep up. Without one, Chrome Speech Recognition is the recommendation whenever it is available — no download, words appear as they are spoken — though for Chinese and English an already-downloaded R2T2 whose speed test came back smooth still comes first. In its default mode Chrome Speech Recognition sends the audio to Google, and the badge says so. Whisper base or small run in your tab with WebGPU and send nothing anywhere, one sentence at a time — press “test speed” on the card and the page tells you whether this computer keeps up live before you rely on it. Once you stop, time no longer matters and accuracy does: re-transcribe with the model marked as recommended. With a graphics card that is often Whisper large (v3-turbo), the heaviest Whisper; without one it is often Qwen3-ASR 0.6B — or Qwen3-ASR 1.7B for Japanese when it is already downloaded. Keep the live transcript only as a fallback. In that second pass you can also turn on “Precise timestamps” (off by default): a second local model, Qwen3-ForcedAligner 0.6B — an extra one-time download of about 1.85 GB, fastest on a graphics card — lines the transcript from any speech model, Chrome Speech Recognition included, up with the audio word by word (English) or character by character (Chinese, Japanese), so each caption starts and ends where the words are spoken; Chinese, English and Japanese are fully supported, Korean is not. For translation, Hy-MT2 is the default when this computer has a usable GPU — it came out more accurate than Chrome's Translator in our blind comparison — unless its speed test says it cannot keep up live; otherwise Chrome's Translator is the fast default with a small language pack per pair. Gemini Nano is the larger built-in model, slower per line.

### Is my recorded audio or transcript uploaded to any cloud server?

The recording, the transcript, storage and file exports all stay in your browser. Speech recognition depends on the engine: a Whisper model, and Chrome Speech Recognition with its on-device language pack, transcribe entirely on your machine; Chrome Speech Recognition in its default mode sends the audio to Google's servers, and the badge on its card says so. Pick Whisper if nothing may leave the computer. Translation and meeting notes run on-device with either engine.

### What happens if my browser crashes while I am recording?

Recording chunks and transcript lines are saved to your browser's local database every few seconds. If a crash or unexpected closure occurs, the session list highlights the interrupted recording and lets you recover all audio and text saved up to that moment.

### Can I keep reading the transcript after I switch to another app?

Yes. Press “Float captions” while recording and the newest lines, with their translation, move into a floating window that stays above every other window — including a full-screen call. The elapsed clock, pause, bookmark and stop buttons are in that window too, so ending the recording never means hunting for this tab, and the B shortcut still marks the moment while the window has focus. Chrome and Edge 116 and later have the floating window; other browsers keep the transcript in the page and the support table says so rather than hiding the button.

### Is the speaker label voice recognition?

No. It only compares the loudness of two audio sources — your microphone and the tab's audio — for the duration of each line, and picks whichever was louder. That means it can only tell "you" from "everyone else": several remote participants all become "them", and if you record just one source there is no comparison to make, so nothing is labelled. Playing the call through speakers also feeds the other side into your microphone, which can flip lines to "you", so headphones give the cleanest result. Separately, the experimental “Find speakers” step can group the lines into Speaker 1, 2, 3 by how each voice sounds, which does split up the far end — but it still only separates voices and never recognises who anyone is.

### Can it tell apart several people on a call?

Experimentally, yes. Once a session has a transcript and its saved recording, press “Find speakers” and the lines are grouped into Speaker 1, 2, 3… by how each voice sounds; leave the count on auto or set 2–10. Rename a speaker once and every line of theirs changes. In exports, tick “Label speakers” and SRT gets `[Name] ` before each line, WebVTT uses `<v Name>` voice tags and TXT groups consecutive lines under the name — the you/them prefix is not added in that mode, and with the box unticked the files are exactly what they were before. It only separates voices, never recognises who someone is, and the two models run in this browser, so the step sends nothing anywhere. The first run downloads 31 MB of models (pyannote segmentation-3.0, MIT; WeSpeaker ResNet34-LM, CC BY 4.0) and keeps them for next time; with WebGPU an hour of audio takes a few minutes, without it the CPU needs about 6 minutes per 10 minutes of audio. On accuracy: on public test recordings 9–26% of speech time was missed or given to the wrong speaker. People talking over each other caused 40–46% of the errors in real meetings, very short replies like “mm” or “yes” are mostly wrong, and guessing the number of people wrong hurts most — one recording went from 13% to 39% when two people were merged. Setting the count yourself is not automatically better, because it can merge two real people too. Short, fast turns in Chinese are missed more often, and Japanese has so far only been tested on synthetic conversations.

### Does the summary get uploaded anywhere?

No. The summary, key points and action items are generated by Chrome's built-in on-device models, so the transcript never leaves your browser and nothing is sent to a server. When a language is not supported directly, the text is first translated to English — also on your device — and then summarised. If you are offline after the models have downloaded, notes still work.

### Can I search by meaning instead of exact words?

Yes. The “Find similar meaning” switch sits next to the search box and is off by default, so a plain search only matches the words you typed. The first time you turn it on, a dialog tells you the model is about 234 MB and asks before downloading anything; after that it stays in this browser. It needs WebGPU, which today means desktop Chrome or Edge — other browsers do not show the switch at all, and ordinary word search keeps working the same way.

### Why is the summary button greyed out?

The button is disabled when this browser has no built-in AI model to run it, and the note underneath tells you which part is missing. Summary and key points need desktop Chrome 138 or later with `Summarizer` available; action items additionally need the `Prompt API` in Chrome 148 or later. If the model simply has not been downloaded yet, the first click fetches it and shows progress. Recording and the transcript itself work in any supported browser regardless.

## Related tools

- [Live Captions](https://bytescope.dev/en/live-captions.md)
- [Subtitle Converter](https://bytescope.dev/en/subtitle-converter.md)
- [Mic Test](https://bytescope.dev/en/mic-test.md)
