Convert M4A to text on a Mac

Turn an M4A recording into text with Soniqo’s free speech command-line tool. This recipe uses Parakeet on your Mac, without an account or uploading audio. It is a Terminal workflow for Apple Silicon Macs, including recordings copied from a phone.

1. Install speech

You need an Apple Silicon Mac and macOS 15 or later. If Homebrew is installed, open Terminal and run these commands.

brew install speech
speech --help

The first transcription downloads the Parakeet model, so allow an internet connection and extra time. Once the model is cached, transcription works offline. Your recording is processed on your Mac.

2. Try an English M4A sample

Use a new working folder so the sample and transcript are easy to find. Download the short recording below, or listen first to check what the speaker says. The same English sample is used in every language version of this guide.

curl -fL https://soniqo.audio/audio/samples/cli/transcription-sample.m4a -o transcription-sample.m4a

Download the English M4A sample

English transcription sample

Sample: Google FLEURS, CC BY 4.0. WAV converted to M4A.

3. Transcribe the recording

speech transcribe transcription-sample.m4a --engine parakeet

The command prints the recognized speech in Terminal, alongside model-loading and timing information. Listen to the sample and compare the words with the transcript; capitalization and punctuation can vary.

Verified sample transcript

One can only wonder what the keyboard will become when something newer comes along.

Always review names, numbers and unclear words before using a transcript in notes or publishing it.

4. Save a plain text file

To write a .txt file, place the recording in a folder and use batch transcription. Include --extensions m4a: the default batch filter only selects WAV, FLAC and MP3 files. These commands reuse the sample you just downloaded.

mkdir -p recordings
cp transcription-sample.m4a ./recordings/
speech transcribe-batch ./recordings --output-dir ./transcripts --engine parakeet --extensions m4a

The output is transcripts/transcription-sample.txt. It contains the recognized text, without the model-loading and timing messages. The batch command loads the model once and writes one text file per recording. Use distinct recording filenames to keep their outputs separate.

Use your own recording

Replace this example path with your M4A file. Keep quotes around paths containing spaces. For a saved text file, copy it into recordings and repeat the batch command above.

Choose a model that supports your recording’s language; see Parakeet and Qwen3-ASR for their language lists.

speech transcribe "/path/to/Your Recording.m4a" --engine parakeet

These commands produce a transcript, without timed SRT or VTT subtitles.

See the CLI reference for options, Getting Started for installation help, and the Parakeet and Qwen3-ASR guides for model and language choices.