I had a bunch of FLAC (.flac) audio files together in a directory. They are from various sources and their metadata (tags) were somewhat incomplete or incorrect.
I managed to manually get all of the files standardized in "%Artist% - %Title%.flac" file name format. However, What I really wanted was to clear their metadata and just save "Artist" and "Title" tags, pulled from file names.
I looked at a few audio tagging tools in the Ubuntu repos, and came up short finding something simple that covered my needs. (I use Audio Tag Tool for MP3's, but it has no FLAC file support.)
So, I figured the easiest way to get this done was a quick Python script.
I grabbed Mutagen, a Python module to handle audio metadata with FLAC support.
This is essentially the task I was looking to do:
#!/usr/bin/env python import glob import os from mutagen.flac import FLAC for filename in glob.glob('*.flac'): artist, title = os.path.splitext(filename)[0].split(' - ', 1) audio = FLAC(filename) audio.clear() audio['artist'] = artist audio['title'] = title audio.save()
It iterates over .flac files in the current directory, clearing the metadata and rewriting only the artist/title tags based on each file name.
I created a repository with a slightly more full-featured version, used to re-tag single FLAC files:
https://github.com/cgoldberg/audioscripts/blob/master/flac_retag.py
3 comments:
The first three lines of your loop can be expressed more concisely, (and IMHO, more clearly) as
artist, title = filename.rstrip('.flac').split(' - ', 1)
@Anonymous,
thanks, I updated the code.
Post a Comment