Every setting is in config.toml, which the recorder validates. Change them in the app’s Settings, where the advanced ones are folded under each section, or with spytify-cli set key=value; spytify-cli get lists them.

App

Setting Key Values Default
Theme app.theme system, light, dark system
Minimize to tray app.minimize_to_tray on, off off
Start recording on launch app.autostart_recording on, off off
Check for updates app.check_updates on, off on

Output

Setting Key Values Default
Output folder output.dir a folder: absolute, or starting with ~/ ~/Music/Spytify
Group by folders output.group_by none, artist, artist/album artist/album

Advanced:

Setting Key Values Default
File name template output.template placeholders {artist}, {title}, {album}, {track}, {year} {artist} - {title}
Underscores instead of spaces output.underscores on, off off
Remove diacritics from file names output.ascii_filenames on, off off
File name prefix output.prefix none, counter, album_track none
Next counter number output.counter_next 0 to 999999999 1
Counter digits output.counter_width 1 to 9 3

Encoding

Setting Key Values Default
Output format encode.format mp3, aac, flac, wav flac
Bitrate encode.bitrate_kbps 128, 160, 256, 320 160

Advanced:

Setting Key Values Default
Embed album cover tags.cover on, off on
Cover size tags.cover_size small, medium, large medium
Move parenthesised extra title to subtitle tags.extra_to_subtitle on, off off
Multiple artists separator tags.artist_separator text ,

Recording

Setting Key Values Default
Already recorded tracks recorder.duplicates skip, suffix, overwrite skip
Skip to the next track when already recorded recorder.skip_duplicates_forward on, off off
Record a single track then stop recorder.single_track on, off off
Normalize volume recorder.normalize on, off on

Advanced:

Setting Key Values Default
Trim leading/trailing silence recorder.trim_silence on, off on
Silence threshold (dBFS) recorder.silence_db -90 to -20 -50
Boundary search window (ms) recorder.boundary_window_ms 20 to 2000 300
Stop the session after (0s = never) recorder.session_timer a duration such as 90m or 2h 0s
Target loudness (LUFS) recorder.target_lufs -30 to -5 -14
Pause player when disk is full recorder.pause_on_disk_full on, off on
Mute the player on this computer while recording (macOS, Linux) player.mute_output on, off off

Ads

Setting Key Values Default
Mute ads recorder.mute_ads on, off off

Advanced:

Setting Key Values Default
Treat items shorter than N seconds with no album as ads (0 = off) recorder.skip_short_untitled 0 to 600 60

Privacy

Setting Key Values Default
Sentry bug tracker: send crashes, errors, traces and recording counts privacy.bug_tracker on, off on

The recorded application is chosen with environment variables, not in config.toml: see Configuration.