Gemma 4 audio with MLX

Simon Willison's Blog / 4/13/2026

💬 OpinionTools & Practical UsageModels & Research

Key Points

  • Simon Willison shares a macOS `uv run` command to transcribe an audio file using Google’s Gemma 4 E2B model via MLX and `mlx-vlm`.
  • The example uses the `mlx_vlm.generate` pipeline with a simple “Transcribe this audio” prompt and sampling parameters like `--max-tokens` and `--temperature`.
  • A short demo `.wav` file is tested, producing an imperfect transcript that misrecognized some words (e.g., “right here” → “front”).
  • The post is presented as a practical, reproducible recipe for trying Gemma 4 audio transcription locally with Apple-focused tooling (MLX) and a lightweight run workflow.
Sponsored by: Teleport — Connect agents to your infra in seconds with Teleport Beams. Built-in identity. Zero secrets. Get early access

12th April 2026

Thanks to a tip from Rahim Nathwani, here's a uv run recipe for transcribing an audio file on macOS using the 10.28 GB Gemma 4 E2B model with MLX and mlx-vlm:

uv run --python 3.13 --with mlx_vlm --with torchvision --with gradio \
  mlx_vlm.generate \
  --model google/gemma-4-e2b-it \
  --audio file.wav \
  --prompt "Transcribe this audio" \
  --max-tokens 500 \
  --temperature 1.0

Your browser does not support the audio element.

I tried it on this 14 second .wav file and it output the following:

This front here is a quick voice memo. I want to try it out with MLX VLM. Just going to see if it can be transcribed by Gemma and how that works.

(That was supposed to be "This right here..." and "... how well that works" but I can hear why it misinterpreted that as "front" and "how that works".)

Posted 12th April 2026 at 11:57 pm

This is a note by Simon Willison, posted on 12th April 2026.

python 1243 ai 1957 generative-ai 1737 llms 1704 uv 92 mlx 42 gemma 14 speech-to-text 17

Monthly briefing

Sponsor me for $10/month and get a curated email digest of the month's most important LLM developments.

Pay me to send you less!

Sponsor & subscribe