Skip to content

Installation

erm is a local command-line tool. Nothing leaves your machine — no API keys, no uploads.

Requirements

  • Python 3.11+
  • ffmpeg and ffprobe on your PATHerm shells out to them for every cut, mux, and probe. Install via your package manager (brew install ffmpeg, apt install ffmpeg, …) and confirm with ffmpeg -version.

If you have uv, you don't need to install anything persistently — uvx fetches erm into a cached environment and runs it:

uvx erm input.wav

The first run downloads the package; subsequent runs reuse the cache. This is the recommended way to run erm and the path the bundled AI-agent skills use.

Install into a virtualenv

Where uv isn't available, install the published package (erm on PyPI) into a virtual environment:

python3 -m venv .venv
source .venv/bin/activate
pip install erm

Then erm input.wav as usual.

Editable install (development)

To hack on erm itself, clone the repo and install it editable with the dev extras (test + lint tooling):

python3.13 -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'

Or, with uv: uv sync --extra dev (also: make setup).

Transcription device (GPU vs CPU)

Transcription runs on CPU by default and needs no extra setup. If you have an NVIDIA GPU, faster-whisper can use it — but only when the CUDA 12 runtime libraries (libcublas, libcudnn) are installed. A machine with an NVIDIA GPU and driver but no CUDA runtime is the common case that produces:

RuntimeError: Library libcublas.so.12 is not found or cannot be loaded

erm handles this automatically. With the default --device auto, if the GPU can't be loaded it prints a warning and falls back to CPU, so transcription still completes. Two ways to make it explicit:

  • Force CPU (no warning, skips the GPU probe):
erm input.wav --device cpu
  • Enable the GPU by installing the CUDA wheels into the same environment:
pip install nvidia-cublas-cu12 nvidia-cudnn-cu12

faster-whisper's CUDA backend needs CUDA 12 / cuDNN 9. See the faster-whisper GPU notes for details.

Use inside AI coding agents

erm ships agent guidance so an AI assistant can install, run, and tune it for you. In Claude Code / Cowork:

/plugin marketplace add dougcalobrisi/erm
/plugin install erm@erm

This adds two skills — erm (install + clean a file) and erm-tune (diagnose a bad result and map the symptom to the right knob). Other agents (Codex, Copilot, Cursor, Gemini CLI, …) read the repo's AGENTS.md and the open-format Agent Skills in skills/.

Next steps