Features:
- dump and modify metadata for most common audio formats (mp3, m4a, flac, ape, etc.)
- use JSONPath to query single metadata fields in dumps (--query='$.meta.album')
- common AND custom metadata fields (album, artist, but also sort-title, movement-name, etc.)
- Chapter support for mp3 and m4a
- Embeddable pictures
- Custom `tone.json` metadata format to export / import all metadata in one file (including covers as base64)
- Hackable via custom JavaScript functions (write your own taggers with url fetching and custom parameters)[2]
- dump range of raw audiodata bytes (e.g. to calculate hashes)
Examples: # dump metadata for input.mp3 with json query
tone dump "input.mp3" --format json --query "$.meta.album"
# dump all files in audio-directory/, but only album and artist
tone dump audio-directory/ --include-extension mp3 --format ffmetadata --include-property album --include-property artist
# change title tag
tone tag input.mp3 --meta-title "a title"
# change tags of an audio book directory based on directory names
tone tag --auto-import=covers --auto-import=chapters --path-pattern="audiobooks/%g/%a/%s/%p - %n.m4b" --path-pattern="audiobooks/%g/%a/%z/%n.m4b" audiobooks/ --dry-run
I know not many people are tagging their audio files these days, but hey, it's a pet project, so feedback is very welcome.1: https://github.com/sandreas/tone
2: https://github.com/sandreas/tone?tab=readme-ov-file#custom-scripted-taggers-experimental