You are not logged in.

#1 2008-11-10 19:46:09

kamahl
Member
Registered: 2007-09-16
Posts: 58

splitting flac albums with automatic tagging

Hi,
I guess many of you have ever downloaded an album in flac that was glued into single file and you wanted to split it into separate track.
I learned this trick:

cuebreakpoints album.cue|shnsplit -o flac album.flac

(cuetools and shntool packages in AUR)
This works well, but doesn't id3 tag the tracks and the files are named not very nicely (like split-strack01.flac). I found a gtk utility (I'd prefer console, but whatever) called FLACcracker, that can name the files more nicely, but still does not tag them. I STFWed for a while, but found nothing and have to do it manually, but this becomes especially annoying when I want to tag multiple albums. Anyone knows the trick or do I have to write a sript that will do thw job by myself? :-)

Offline

#2 2008-11-10 21:36:33

Speek
Member
Registered: 2005-04-07
Posts: 36

Re: splitting flac albums with automatic tagging

I use this script to do the job.

#!/bin/bash
# split image file (flac, ape, wav, etc.) according to cue-file

if [ -f "$1" ]; then
    i=0
    for cuefile in *.cue; do
        i=$(($i + 1))
    done
    if [ $i -eq 1 ]; then
        # precies 1 cuesheet gevonden
        if grep -q "INDEX 01 00:00:00" *.cue ; then
            nice shntool split -t "%n %t" -f *.cue "$1"
        else
            echo "The first track has a pre-gap. Shntool will cut that off and put it in a seperate file."
            echo "You don't want that. Please modify the cuesheet from:"
            grep -m1 "INDEX 00" *.cue
            grep -m1 "INDEX 01" *.cue
            echo "to:"
            echo "    INDEX 01 00:00:00"
            exit 1
        fi
    elif [ $i -eq 0 ]; then
        echo "No cuesheet found in the current directory."
        exit 1
    elif [ $i -gt 1 ]; then
        echo "$i cuesheets found in the current directory. Please remove the superfluous cuesheets."
        exit 1
    fi
else
    echo "Split image file (flac, ape, wav, etc.) according to cue-file."
    echo "Output files are in FLAC."
    echo "Usage: `basename $0` <image-file>"
    exit 1
fi

echo
album=`grep -m 1 TITLE *.cue | cut -d\" -f2`
artist=`grep -m 1 PERFORMER *.cue | cut -d\" -f2`

for file in [0-9]*.wav; do
    echo "Encoding $file"
    
    if [[ ${file:0:1} == 0 ]] ; then
        tracknr=${file:1:1}
    else
        tracknr=${file:0:2}
    fi
    title=`echo ${file:2} | sed -e "s/.wav$//"`
    
    nice flac -s -T "artist=$artist" -T "album=$album" -T "title=$title" \
    -T "tracknumber=$tracknr" "$file" && rm "$file"
done

Offline

#3 2008-11-23 10:48:23

kamahl
Member
Registered: 2007-09-16
Posts: 58

Re: splitting flac albums with automatic tagging

Thanks, this is exactly what i wanted. smile

Offline

Board footer

Powered by FluxBB