From d3b5493a0eb59b0574afc91c8e0cca680676f8ae Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 30 Aug 2026 10:38:03 +0200 Subject: [PATCH] optimize mp3 tagging --- libs/mp3.sh | 100 +++++++++++++++++++++++++++------------------------- 1 file changed, 52 insertions(+), 48 deletions(-) diff --git a/libs/mp3.sh b/libs/mp3.sh index ab63328..e9c27d8 100644 --- a/libs/mp3.sh +++ b/libs/mp3.sh @@ -18,62 +18,66 @@ check_mp3_programs() read_flac_to_mp3_tags() { - local inputfile="$1" - local outputfile="$2" - local inputfiledir=${inputfile%/*} - local ARTIST= - local TITLE= - local GENRE= - local TRACKNUMBER= - local DATE= - local RRL= - local RTG= - local RTP= - local RAG= - local RAP= + local input="$1" + local output="$2" + local inputdir=${input%/*} + local artist= + local title= + local album= + local genre= + local genre= + local trackno= + local date= + local rrl= + local rtg= + local rtp= + local rag= + local rap= # get the tags from flac file - ARTIST=$(metaflac "$inputfile" \ - --show-tag=ARTIST | sed s/.*=//g) - TITLE=$(metaflac "$inputfile" \ - --show-tag=TITLE | sed s/.*=//g) - ALBUM=$(metaflac "$inputfile" \ - --show-tag=ALBUM | sed s/.*=//g) - GENRE=$(metaflac "$inputfile" \ - --show-tag=GENRE | sed s/.*=//g) - TRACKNUMBER=$(metaflac "$inputfile" \ - --show-tag=TRACKNUMBER | sed s/.*=//g) - DATE=$(metaflac "$inputfile" \ - --show-tag=DATE | sed s/.*=//g) - RRL=$(metaflac "$inputfile" \ - --show-tag=REPLAYGAIN_REFERENCE_LOUDNESS | tr '=' ':') - RTG=$(metaflac "$inputfile" \ - --show-tag=REPLAYGAIN_TRACK_GAIN | tr '=' ':') - RTP=$(metaflac "$inputfile" \ - --show-tag=REPLAYGAIN_TRACK_PEAK | tr '=' ':') - RAG=$(metaflac "$inputfile" \ - --show-tag=REPLAYGAIN_ALBUM_GAIN | tr '=' ':') - RAP=$(metaflac "$inputfile" \ - --show-tag=REPLAYGAIN_ALBUM_PEAK | tr '=' ':') + title=$(metaflac --show-tag=TITLE "$input") + artist=$(metaflac --show-tag=ARTIST "$input") + album=$(metaflac --show-tag=ALBUM "$input") + date=$(metaflac --show-tag=DATE "$input") + trackno=$(metaflac --show-tag=TRACKNUMBER "$input") + genre=$(metaflac --show-tag=GENRE "$input") + + artist=${artist/*=/} + title=${title/*=/} + album=${album/*=/} + genre=${genre/*=/} + trackno=${trackno/*=/} + date=${date/*=/} + + rrl=$(metaflac --show-tag=REPLAYGAIN_REFERENCE_LOUDNESS "$input") + rtg=$(metaflac --show-tag=REPLAYGAIN_TRACK_GAIN "$input") + rtp=$(metaflac --show-tag=REPLAYGAIN_TRACK_PEAK "$input") + rag=$(metaflac --show-tag=REPLAYGAIN_ALBUM_GAIN "$input") + rap=$(metaflac --show-tag=REPLAYGAIN_ALBUM_PEAK "$input") + rrl=${rrl/=/:} + rtg=${rtg/=/:} + rtp=${rtp/=/:} + rag=${rag/=/:} + rap=${rap/=/:} # -------------------------------------------------- # ID3v2.3 tagging with cover and without cover eyeD3 --v2 \ --to-v2.3 \ - --artist="$ARTIST" \ - --title="$TITLE" \ - --album="$ALBUM" \ - --genre="${GENRE:-12}" \ - --track="${TRACKNUMBER:-0}" \ - --recording-date="$DATE" \ - --user-text-frame="$RRL" \ - --user-text-frame="$RTG" \ - --user-text-frame="$RTP" \ - --user-text-frame="$RAG" \ - --user-text-frame="$RAP" \ - --add-image="$inputfiledir/cover.jpg":FRONT_COVER \ - "$outputfile" > /dev/null 2>&1 + --title="$title" \ + --artist="$artist" \ + --album="$album" \ + --recording-date="$date" \ + --track="${trackno:-0}" \ + --genre="${genre:-12}" \ + --user-text-frame="$rrl" \ + --user-text-frame="$rtg" \ + --user-text-frame="$rtp" \ + --user-text-frame="$rag" \ + --user-text-frame="$rap" \ + --add-image="$inputdir/cover.jpg":FRONT_COVER \ + "$output" > /dev/null 2>&1 } encoding_flac_to_mp3() -- 2.47.3