Debugging a ReplayGain failure

I am using the ReplayGain plugin for sound leveling and I have noticed that it fails for some files. For example, my copy of U2 The Unforgettable Fire won’t update. I get a message for each file similar to the following -
“replaygain: ReplayGain backend command failed for track U2 - The Unforgettable Fire - Pride (In the Name of Love)”

My question is how to debug this? I have used another program to alter tags and I have used that to ensure that I can alter tags and successfully save the files so it doesn’t seem to be a file access problem. The number of files that “fail” is small (less than 5%), but consistent (if I re-run ReplayGain I get consistent fails for these files). Are their logs that I can review? Any help pointing me in the right direction is appreciated.

If you run beets in verbose mode (with -v) whilst running replaygain, it should log the command that is being run. You can try running the command it outputs yourself to possibly get a bit more information about what is happening.

Thanks for the advice. I used verbose and got “no supported tracks to analyze”; took a look at the files, they are FLAC files. This was very helpful.

Ah that explains it then, the command ReplayGain backend (which is the default) only supports mp3gain and aacgain.

It’s probably worth trying out one of the other backends if you want support for a larger number of formats: ReplayGain Plugin — beets 1.6.0 documentation

I know FLAC is lossless and a better quality representation, but, my equipment (and my ear) is incapable of distinguishing the difference so I opt for reasonably high bitrate mp3s. My intent is to keep the library all mp3 so I am not sure how these slipped past my workflow.

I use ffmpeg to convert FLAC to mp3 so my first thought was to simply run the script to make the change, but I wonder if changing the file type in the library directory would cause a problem for beet. My other thought was to enable the convert plugin thinking that if beet would be impacted by a format change, the plugin would probably handle that when my external script wouldn’t.

You seem knowledgeable, any thoughts on that question?

Changing the files in-place will definitely upset beets, as it stores the full path to library items (and also information about their format).

Your best option is probably to use the convert plugin and convert to another directory, then import that directory and tell beets to replace your current copies with the converted ones.

Thanks for your advice. I am about ankle deep into this so far (headed for neck deep) so all help is appreciated!