Skip to main content

fermion-research

The fermion command runs the Phonon speech models and the Neutrino language models from one install. It transcribes audio files, transcribes the microphone live on Apple silicon, and serves an OpenAI-compatible endpoint. Phonon-2.5 transcribes 25 languages, Phonon-2.5 English and Phonon-2 are English models, and phonon runs Phonon-2. Every Phonon-2 family model runs 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 container.

Models

Model Download Weights
Phonon-2.5 (phonon-2.5), 25 languages 156 MB FermionResearch/Phonon-2.5
Phonon-2.5 English (phonon-2.5-en) 158 MB FermionResearch/Phonon-2.5-English
Phonon-2 (phonon-2) 158 MB FermionResearch/Phonon-2
Phonon-1 (phonon-1) 415 MB FermionResearch/Phonon-1
Phonon-1 Micro (phonon-1-micro) 285 MB FermionResearch/Phonon-1-Micro
Phonon-1 Big (phonon-1-big) 581 MB FermionResearch/Phonon-1-Big

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

On Linux, Windows and Intel Mac CPUs, that line is the whole setup: Phonon-2 runs on the CPU engine. On Linux, install torch from its CPU wheel index first, which skips the GPU build.

pip install --no-deps torch --index-url https://download.pytorch.org/whl/cpu   # Linux only
pip install fermion-research

On Apple silicon, add the MLX speech runtime.

pip install "fermion-research[mlx]"

Intel Macs: Phonon-2 runs on the CPU engine (Python 3.10 to 3.12; the install resolves the last Intel torch wheel, 2.2.2, with transformers 5.0).

Supported CPUs: x86-64 with SSE4.1 or newer (AVX2, AVX-512 VNNI and AMX processors run faster tiers of the same kernels) and 64-bit Arm with NEON (dotprod and i8mm processors run faster tiers), on Linux, Windows and Intel Macs; Apple silicon Macs run the MLX engine. fermion describe shows the features found on your machine and the tier it runs.

The CPU container runs on 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.wav

The CUDA container runs Phonon-2 on NVIDIA GPUs.

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.wav

Run

Transcribe a file, transcribe the microphone live, or start a local OpenAI-compatible server. 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 --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
fermion transcribe phonon-2.5 reunion.wav   # Phonon-2.5, 25 languages
fermion transcribe phonon-2.5-en call.wav   # the Phonon-2.5 English model

Any OpenAI-compatible client can then send audio to the server.

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.

Neutrino

The same install runs the Neutrino language models. fermion chat opens a conversation, fermion generate completes a prompt, and fermion serve starts an OpenAI-compatible chat endpoint, each with the model named.

fermion chat neutrino-8b                     # interactive
fermion generate neutrino-8b 'Write a haiku'
fermion serve neutrino-8b                    # OpenAI-compatible chat completions

Documentation

Licence

The Phonon-2, Phonon-2.5 and Phonon-2.5 English weights are released under CC-BY-4.0. They are derivatives of NVIDIA's parakeet-tdt-0.6b-v3, with the changes listed in the NOTICE file of each weights repository (Phonon-2, Phonon-2.5, Phonon-2.5 English). 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.

Metadata

Release files for fermion-research 0.2.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for fermion-research 0.2.14
File Interpreter ABI Platform
fermion_research-0.2.14-py3-none-any.whl Python 3 none any Details

Release files / fermion_research-0.2.14-py3-none-any.whl

Download URL fermion_research-0.2.14-py3-none-any.whl
Size 1.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
2f2fb3ca528bd4fd951b8e7108616c2cb0b27fd285aa700334716ffdc9f38554
BLAKE2b-256 checksum
How to use checksums
1b5312f1a961ad564ed95fe4af85687ca027b005299a429e701435b072b50d2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.13

Security for fermion-research 0.2.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.14 This release

1 release file No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page