Phonon
Phonon is the speech recognition engine from Fermion Research. It runs the Phonon models on Apple silicon through MLX, on CPUs under Linux (x86-64 and Arm), Windows and macOS (Apple silicon and Intel Macs), and on NVIDIA GPUs through the CUDA image. It transcribes files from the command line, transcribes the microphone live, and serves an OpenAI-compatible endpoint. Phonon-2, a 164 MB download, is the current model, and Phonon-1 (415 MB), Phonon-1 Big (581 MB) and Phonon-1 Micro (285 MB) also run.
Models
| Model | Download | Weights |
|---|---|---|
Phonon-2 (phonon-2) |
164 MB | huggingface.co/FermionResearch/Phonon-2 |
Phonon-1 (phonon-1) |
415 MB | huggingface.co/FermionResearch/Phonon-1 |
Phonon-1 Micro (phonon-1-micro) |
285 MB | huggingface.co/FermionResearch/Phonon-1-Micro |
Phonon-1 Big (phonon-1-big) |
581 MB | huggingface.co/FermionResearch/Phonon-1-Big |
Phonon-2 for Core ML (Neural Engine): huggingface.co/FermionResearch/Phonon-2-CoreML · github.com/fermionresearch/phonon-coreml
Accuracy and speed for each model are on its model page (fermionresearch.com/models/phonon-2 and the model cards above).
Install
Python 3.10 or newer (macOS's built-in python3 is 3.9). On a Mac, create a virtual environment with a newer Python first:
python3.12 -m venv .venv && source .venv/bin/activate pip install fermion-research
Apple silicon (MLX engine)
pip install "fermion-research[mlx]"Linux, Windows and Intel Mac CPUs. pip install fermion-research is the whole setup. On Linux, install torch from its CPU wheel index first, which skips the GPU build. Intel Macs: CPU engine (Python 3.10 to 3.12).
pip install --no-deps torch --index-url https://download.pytorch.org/whl/cpu # Linux only
pip install fermion-researchSupported CPUs: x86-64 with SSE4.1 or newer and 64-bit Arm with NEON. AVX2, AVX-512 VNNI and AMX processors, and
dotprod and i8mm Arm processors, run faster tiers of the same kernels; processors without them run a slower baseline
tier with the same transcripts. fermion describe shows the features found on your machine and the tier it runs;
docs/cpu.md has the detail.
CPU container (amd64 and arm64)
docker run --rm -v "$PWD":/audio -v phonon-cache:/home/phonon/.cache ghcr.io/fermionresearch/phonon-cpu:2.0.9 transcribe phonon-2 /audio/recording.wavNVIDIA CUDA container
docker run --rm --gpus all -v "$PWD":/audio -v phonon-cache:/home/phonon/.cache ghcr.io/fermionresearch/phonon-cuda:1.0.8 transcribe phonon-2 /audio/recording.wavRun
phonon runs Phonon-2, phonon-1 runs Phonon-1, and fermion <command> <model> runs any model by name. Name the model. Phonon never guesses.
phonon transcribe meeting.wav # transcribe a file with Phonon-2 phonon transcribe meeting.wav --json # the same, as JSON with word timestamps phonon transcribe meeting.wav --hotwords "Ada, Quillon" # favour names and terms phonon listen # live microphone transcription (Apple silicon) phonon serve # OpenAI-compatible HTTP server on 127.0.0.1:8000 fermion transcribe phonon-2 meeting.wav # the same, naming the model
curl -s http://127.0.0.1:8000/v1/audio/transcriptions \ -F "file=@meeting.wav" \ -F "model=phonon-2"
Streaming
phonon serve also transcribes live audio over a WebSocket at /v1/audio/stream. The protocol and a reference client are in
docs/server.md.
Dictation tools
A dictation tool keeps one Phonon server running and sends each recording to it, over a local port or an owner-only Unix socket.
fermion serve phonon-2 --port 8010 --threads 4 # or: phonon serve --port 8010 fermion serve phonon-2 --unix-socket ~/.cache/fermion/phonon.sock # owner-only socket in place of an API key
engine = "whisper" [whisper] backend = "remote" remote_endpoint = "http://127.0.0.1:8010" remote_model = "phonon-2"
Keeping the server running at login is covered in docs/server.md.
fermion models lists every model with its aliases and marks the ones already on the machine.
Documentation
- docs/cli.md, the command line.
- docs/server.md, the HTTP server and its API.
- docs/hotwords.md, favouring names and terms (hotwords).
- docs/install.md, installation on every platform.
- docs/cpu.md, running on CPUs, no GPU required.
- docs/cuda.md, the NVIDIA CUDA image.
- docs/troubleshooting.md, fixes for common problems.
The CUDA image is built from docker-phonon2/ and the CPU image from docker-cpu-phonon2/.
Licence
The Phonon-2 weights are released under CC-BY-4.0. They are a derivative of NVIDIA's parakeet-tdt-0.6b-v3, with the changes listed in the NOTICE file of the weights repository. The Phonon-1 family weights and the command line are released under Apache-2.0, and Phonon-1 is built on Qwen/Qwen3-ASR-0.6B, also under Apache-2.0. See LICENSE and NOTICE.