Search code examples
linuxbashmetadataexifogg

metadata editing in bash linux for multimedia files(not images) in linux


I've searched across stackoverflow, and I've been on google and also duckduckgo and no one seems to have a nice way for me to do this.

The only tool that seems to maybe have worked was Exiftool which only has the read ability for ogg files(which is what I'm using at the moment). I'd like some way to do this via the command line since the mp3s/oggs and their name is the metadata but the metadata is blank. I already know how to parse the file names in bash but I cannot find a way to put it back onto the files. I could manually do this kind of thing but it's hardly worth it since I'd have to do it manually.

Musicbrainz picard also doesn't tag them properly for some odd reason so that's why I'm having to do this.


Solution

  • ID3 tags are MP3 specific. For Ogg Vorbis comment field specifications, see: Field Names

    vorbiscomment (package vorbis-tools) can modify and query ogg tag info.
    mp3info is one of many tools to work wirh mp3 tags.


    .ogg

    # Clear all info
    printf ''| vorbiscomment -w  test.ogg
               vorbiscomment -l  test.ogg
    # modify info
    echo ========
    printf 'TITLE=The Last Saskatchewan Pirate
    ARTIST=Captain Tractor
    ALBUM=East of Edson
    DATE=2000-01-01
    COMMENT=Just another TEST comment
    DESCRIPTION=*** Hello ***
    '|vorbiscomment -w  test.ogg
      vorbiscomment -l  test.ogg
    echo ========   
    

    Output (.ogg)

    ========
    TITLE=The Last Saskatchewan Pirate
    ARTIST=Captain Tractor
    ALBUM=East of Edson
    DATE=2000-01-01
    COMMENT=Just another TEST comment
    DESCRIPTION=*** Hello ***
    ========
    

    mp3

    # Delete the entire ID3 tag
    mp3info -d test.mp3   
    echo  ========
    # modify info
    mp3info -t "The Last Saskatchewan Pirate" \
            -a "Captain Tractor" \
            -l "East of Edson" \
            -g "Folk/Rock" \
            -y "2000" \
            -n "1" \
            -c "Just another TEST comment" \
            test.mp3
    mp3info test.mp3
    echo  ========
    

    Output (.mp3)

    ========
    File: test.mp3
    Title:   The Last Saskatchewan Pirate   Track: 
    Artist:  Captain Tractor
    Album:   East of Edson                  Year:  2000
    Comment: Just another TEST comment      Genre: Folk/Rock [81]
    
    ========