-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
ripdoctor config
prints every resolved setting as JSON, and ripdoctor doctor prints the path of
the file they come from. It is TOML, and it does not exist until you
create it: ~/.config/ripdoctor/config.toml, or under $XDG_CONFIG_HOME if
that is set.
A partial file is fine. Anything you leave out keeps its default, and an
unrecognised key is reported by doctor rather than refusing to load.
A minimal one:
library = "/srv/music"
vinyl = "/srv/vinyl"
capture_device = "hw:1,0"vinyl is the pool: the working directory for records in progress and the
archive of raw sides. It needs room — an LP side is roughly 300 MB as 24-bit
FLAC. See Files on disk for what goes in it.
library is where finished, tagged albums are filed. This is the directory
your music player or server watches.
If you use beets, library must match beets' own directory setting. They are
two names for one place and nothing else keeps them in step; ripdoctor doctor
reports it when they disagree.
ripdoctor devices
lists the capture devices this machine has and what each accepts. Take the device name from there:
capture_device = "hw:1,0"
capture_rate = 48000
capture_format = "S24_3LE"
capture_channels = 2The device is never guessed. If it is empty, recording asks you to set it.
Set the rate and depth to what your interface actually sends. A capture metered
at the wrong rate measures the wrong frequency band, and the gap detection then
works on the wrong numbers. ripdoctor probe will tell you whether what arrived
looks like music.
The rate and depth can also be changed per-capture from the Rip panel, which is the quicker way to try a different setting.
bind = "127.0.0.1"
port = 8080127.0.0.1 means that machine only. See The web interface
for reaching it from elsewhere.
lead = 1.3 # seconds of run-in kept before a track starts
tail = 1.5 # seconds kept after it endsThese pad every cut. They are what stops a boundary landing on the first instant of sound.
embed_art = true # write the cover into each track as well as the folder
file_mode = 0o664 # permissions on the files that reach the library
dir_mode = 0o775The two modes matter when something other than you reads the library — a music server running as its own user, for instance.
importer = "beets"beets is the default and what the package installs. tagger is the built-in
fallback: metaflac plus a directory, no database, no cover art fetching, no
ReplayGain. It exists so a record can be finished when beets is broken.
You do not need to switch to tagger to import a record MusicBrainz has never
heard of — see Importing.
cache_name = ".cache"The directory under vinyl/work/ that holds level measurements. Name an
existing one here to adopt a pool that already has them, rather than
re-measuring.
The detection constants live under a [thresholds] table. They ship with
measured defaults and most people never touch them.
[thresholds]
gap_below = 16.0 # dB under the music level to count as a gap
gap_above = 12.0 # dB back up to count as music again
gap_minimum = 1.2 # seconds; shorter quiet stretches are not gaps
refine_above = 8.0 # dB used when tightening a boundary
span_below = 20.0 # dB under music for the run-in/run-out edges
span_run = 1.5 # seconds a span must hold
autostop_below = 20.0 # dB under music to look like the run-out
autostop_dwell = 120.0 # seconds of that before stopping
autostop_max_seconds = 2100 # hard cap on a capture, 35 minutes
arm_floor = -60.0 # below this the arm is up, not playing
align_min_r = 0.65 # correlation needed to carry a cut across a re-rip
align_max_drift = 0.02 # how much speed drift alignment toleratesripdoctor measure records a few short samples from your own chain and prints
what it measures beside these defaults, so you can see whether your chain
separates music from silence the way they assume.
Any threshold you move is reported by ripdoctor doctor. It is the first thing
to check when detection behaves oddly.
Setting up
Doing a record
- Ripping a side
- Uploading a file
- First pass
- Checking the boundaries
- Cutting tracks
- Importing
- Cover art
- Archiving
Redoing
Reference