Skip to the tool
CaptionSuiteCaptionSuite home

Guides

Turning a voice memo or phone recording into text

Updated

Every phone recorder saves a file, and once you have the file this is a drop-in job. An iPhone voice memo is an .m4a, Android recorders write .m4a too, and a WhatsApp voice note is Opus audio that a browser decodes directly. Save the file somewhere you can reach it from a computer, drop it on the transcribe page, and an hour of recording comes back as timestamped text in about 8 minutes on a machine with WebGPU. The file never leaves that machine. The one source that needs converting first is an older recorder that wrote .amr or .3gp.

Getting the file off the phone

The recording apps all write ordinary files. The step people get stuck on is finding the file, because each app hides it behind a share button.

  • iPhone Voice Memos records AAC audio in an .m4a. Open the memo, tap share, and either Save to Files, AirDrop it to a Mac, or mail it to yourself. If you turned on Lossless in the app's settings the file holds ALAC instead, which not every browser decodes. Turn it off for the next recording, or convert the one you have
  • Google Recorder and Samsung Voice Recorder on Android both write .m4a. Google Recorder on a Pixel already produces an on-device transcript in English, so use that where you have it. This page is for the recordings that end up somewhere else. Older recorder apps wrote .3gp or .amr, and those need converting
  • WhatsApp and Telegram voice notes are Opus audio, which decodes directly. Forward the note to yourself, or on Android pull it from the WhatsApp Voice Notes folder, where each one is an .opus file. Telegram's desktop app saves them as .ogg
  • Zoom leaves a local recording in the Zoom folder inside Documents, with an audio_only.m4a next to the .mp4. The audio file is the smaller one and gives the same transcript. Teams and Meet save an .mp4 to OneDrive or Drive, so download it from there

What happens when you drop it in

An audio file is treated as the normal case here, not as a video with the picture missing. You get an audio player instead of a black rectangle, and the output is pinned to a transcript because there is nothing to put captions on.

The first run downloads the speech model to your browser, which it then keeps. That download is the only thing that crosses the network. The recording itself is decoded, resampled to 16kHz mono and handed to Whisper inside the tab, which you can confirm by watching the network panel, or by going offline after the model has cached.

Speed measured 8.6x faster than realtime on a 31-minute recorded lecture, Chrome, 16GB Windows laptop using WebGPU, which puts a five-minute memo at well under a minute and an hour-long call at about 8 minutes. Without WebGPU the fallback is much slower and has not been measured. Either way the tab stays open while it works, and the progress bar reports audio-seconds processed rather than a guess.

The recordings that will not decode, and the fix

Decoding uses the browser's own decoders, so the supported list is the browser's. MP3, AAC, Opus, Vorbis, FLAC and plain WAV all work in Chrome, Edge and Firefox. Two formats common on older phones do not: AMR, which is what a .amr or .3gp call recording usually contains, and WMA from Windows-era recorders. Dictation recorders from Olympus and Philips write their own .dss and .ds2 formats, which nothing outside their software reads.

When that happens the page says so, names the codec it found, and suggests converting to MP4 with AAC audio. The conversion is one command with ffmpeg, which is free: ffmpeg -i recording.amr -c:a aac recording.m4a. VLC's Convert menu does the same thing with a dialog, and the recorder's own desktop software usually has an export to MP3 or WAV.

Converting does not improve the recording. An AMR call recording was captured at 8kHz with most of the consonant detail already gone, and the transcript will show that. It will still be far better than nothing.

A memo is short, a meeting is not

For a two-minute memo nothing needs planning. Pick the language rather than leaving it on automatic, since detection reads only the first 30 seconds and a memo that opens with a cough and a pause can confuse it.

A long call or an all-day recording runs into the one limit here, which is 2 hours per recording. It is a memory limit: 16kHz audio is about 3.84MB a minute held in the tab alongside the model, and the check runs before anything starts so you are told up front. A three-hour recording means splitting the file in two first, which any audio editor does in a minute.

Once the transcript is in front of you, the edits that pay back fastest are the same every time.

  • Fix the names before anything else. They are the errors most likely to matter and the quickest to find, because you know which names were said
  • If it was a call, switch on speaker identification and check the suggested labels at the handovers. Changes sit at pauses, which show as dips on the waveform, so it is a few minutes for two people
  • Export Markdown if you are keeping it. Timestamps survive as text and the paragraphs stay readable in anything that opens a text file
  • Use the copy-for-an-assistant export if an AI is going to summarise it, so the model is told the text is machine-made and where the errors cluster