Skip to content

Command line

Bryan Speelman edited this page Sep 8, 2026 · 1 revision

Everything the interface does can be done from the command line. The commands that take file arguments work on the two documents a record has — see Files on disk.

ripdoctor --version
ripdoctor <command> --help

Checking the machine

doctor

ripdoctor doctor [--json]

What this machine has, what it lacks, and what to do about each. Reports missing tools with the install command, which beets plugins actually load, whether beets and RipDoctor agree about the library directory, whether the pool is writable, any threshold moved from its default, and how many files beets has registered that are no longer on disk.

config

ripdoctor config

Every resolved setting as JSON, defaults included. doctor prints the path of the file they came from.

devices

ripdoctor devices

Capture devices this machine has and what each accepts. The name to put in capture_device comes from here.

probe

ripdoctor probe [--device DEVICE] [--seconds SECONDS]

Records briefly and says what arrived — music, silence, or an empty input. Run it before committing twenty minutes to a side.

measure

ripdoctor measure [--device DEVICE] [--seconds SECONDS] [--yes]

Records a few short samples of your own chain and prints what it measures beside the shipped thresholds. It waits for Enter between recordings so you can move the arm; --yes skips the waiting.

Recording

record

ripdoctor record [--device DEVICE] [--no-autostop] [--dwell SECONDS]
                 [--max-minutes N] <album> <side>

Records one side into the given album directory, metered, stopping itself at the run-out. --no-autostop is for a record that is quiet throughout; the hard cap still applies.

salvage

ripdoctor salvage [--dry-run] <album>

Finishes captures an interruption left behind — the audio is intact, it was just never encoded.

Naming and the catalogue

name

ripdoctor name [--artist ARTIST] [--album ALBUM] [--date DATE] <slug>

Says what a record is, for one that was ripped before anything recorded it.

lookup

ripdoctor lookup [--limit N] <artist> <album>

Finds releases in MusicBrainz, usable entries first. Prints the release id you would pass elsewhere.

Cutting and filing

fit

ripdoctor fit [-o OUT] [--lane band|full] <spec> <envelope> [<envelope> ...]

Places track boundaries from a spec and measured levels, one envelope per side, each named side-<letter>. Writes a plan.

check

ripdoctor check <plan> <source> <out>

Builds one short clip per boundary, each with a 1400 Hz tick on the cut instant, for listening to in any player.

split

ripdoctor split [--dry-run] <plan> <source> <out>

Cuts a plan into tracks. Nothing is written unless the plan validates.

import

ripdoctor import [--library LIBRARY] [--dry-run] <plan> <review>

Tags the cut tracks and places them in the library.

archive

ripdoctor archive [--library LIBRARY] <plan>

Confirms the record arrived in the library before the raw sides are cleared.

Serving

serve

ripdoctor serve [--port PORT] [--bind BIND] [--user USER]

Runs the web interface. --user sets the login name on first run only; the password is generated and printed once. See The web interface.

Clone this wiki locally