beetbox / beets

music library manager and MusicBrainz tagger
http://beets.io/
MIT License
12.74k stars 1.82k forks source link

Run ReplayGain analysis after conversion #1718

Open Kolbasz12 opened 8 years ago

Kolbasz12 commented 8 years ago
replaygain: analyzing Adele - 21
replaygain: ReplayGain error: ReplayGain backend failed for some tracks in album Adele - 21

running 1.3.16 in a docker container.

I convert FLAC to MP3 and replaygain executes before the conversion, so I am not sure if the issue is lack of support for FLAC or something else. I would like to think that replaygain should execute against the MP3 after conversion, but that is just a thought.

I am able to run replay gain after the import completes and that works fine, so the issue is only with flac on the initial import.

sampsyo commented 8 years ago

For flac support, you can switch to another backend. See also #1203.

Kolbasz12 commented 8 years ago

The issue is not flac support as much as it is the fact that replay gain is running before the conversion.  Therefore,  when flac files are converted,  replay gain is not running against the newly produced mp3 files (in this case) and you must then run replay gain after import against the files...

If replay gain ran later in the process,  say after convert (if needed),  then we would be OK.

sampsyo commented 8 years ago

Aha; thanks for clarifying. FWIW, you can still solve this for yourself in the mean time by switching to bs1770gain or another backend.

Kolbasz12 commented 8 years ago

Thanks. . If I knew how order was determined I'd jump in and help. Seems simple, but those are often the most annoying

Kolbasz12 commented 8 years ago

just wanted to see if any thought has been given to this?

It seems simple in theory, but how to go about it is what I don't know.

Just change the order of processing. If a file is to be converted, convert it first. I am assuming the issue here is that replaygain happens before the convert and therefore, no replaygain info is added.

The issue is that upon import, it is an extra step to run replaygain, almost making it a 2 step process with 2 beet configs. Initial import converts the files and puts them into a temporary folder from where another beet process grabs the files and finishes processing them.

jackwilsdon commented 8 years ago

Could you post your configuration (i.e. the output of beet config)? 😄

Also what version of beets are you using? You can use beet version to find out 👍.

Kolbasz12 commented 8 years ago
docker exec -it Beets beet version

beets version 1.3.17

plugins: fetchart embedart convert scrub replaygain lastgenre chroma web duplicates mbsync ftintitle discogs badfiles info zero missing

directory: /opt/downloads/music/beets

directory: /music/beets library: /config/musiclibrary.blb art_filename: albumart threaded: yes

original_date: yes

per_disc_numbering: no

color: yes

id3v23: yes clutter: ["Thumbs.DB", ".DSStore", ".flac", ".jpg", ".ini", ".jsp", ".nfo", "_.m3u"]

ui: color: yes colors: text_success: green text_warning: yellow text_error: red text_highlight: red text_highlight_minor: lightgray action_default: turquoise action: blue

convert: auto: yes never_convert_lossy_files: yes embed: yes copy_album_art: yes quiet: no format: mp3 formats: mp3: command: ffmpeg -i $source -y -vn -aq 0 $dest extension: mp3

paths: default: $albumartist/$year - $album%aunique{}/$track - $title

singleton: Non-Album/$artist - $title ($year)

albumtype_soundtrack: Soundtracks/$album/$track - $title  

comp: Compilations/$album%aunique{}/$track - $title

match: distance_weights: track_index: 0.1 track_title: 0.05 preferred: media: ['CD', 'Digital Media|File'] original_year: yes

import: write: yes copy: no move: yes resume: ask incremental: no quiet_fallback: skip timid: no log: /config/beet.log

lastgenre: auto: yes source: album

embedart: auto: yes ifempty: yes

fetchart: auto: yes cover_names: cover front art album folder sources: coverart albumart itunes amazon wikipedia google remote_priority: yes

replaygain: auto: yes overwrite: yes albumgain: yes backend: command

scrub: auto: yes

replace: '^.': '[\x00-\x1f]': '[<>:"\?*|]': '[\xC0-\xC6]': A '[\xC8-\xCB]': E '[\xCC-\xCF]': I '[\xD2-\xD8]': O '[\xD9-\xDC]': U '[\xE8-\xEB]': e '[\xEC-\xEF]': i '[\xE2-\xE6]': a '[\xF2-\xF6]': o '[\xF9-\xFC]': u '[\xF8]': o '.$': '\s+$': ''

ftintitle: auto: yes

zero: fields: comments encoder month day

duplicates: count: yes full: yes

missing: format: $albumartist - $album - $track - $title count: yes total: no web: host: 0.0.0.0 port: 8337