3

My music collection is all in mp3's and almost perfectly tagged. It's currently in a music folder sorted by [artist] and subfolders for the [albums].

I have got a lot of artists and genres, so I would like to seperate the artists by genre. It should look like this in the end [genre]->[artist]->[album].

I have got a Windows Pc and a Ubuntu Laptop, anything that will do the job is welcome. Be it a script or a program.

2
  • you may use picard. superuser.com/questions/171052/… Commented Nov 26, 2012 at 21:35
  • Voted as too broad - Almost every music and/or tag manager allows you to do this. It's probably a harder question to find applications that can't. I'd suggest you try something (google "organize mp3s by tag") and ask a question if you encounter problems.
    – mtone
    Commented Jan 6, 2017 at 0:46

1 Answer 1

0

A Linux way to do this will be with pytagsfs.

pytagsfs is a FUSE filesystem that was designed to present multiple views of tagged media files. For instance, a directory tree containing audio files could be mapped to a new directory structure organizing those same files by album, genre, release date, etc.

It should be available in the pytagsfs package in your Ubuntu.


Example

cd  # going to home directory
mkdir music_tree
pytagsfs -o ro,format=/%{genre}/%{artist}/%{album}/%{filename}.%{extension} /path/to/your/music/dir/ music_tree/

The tool will take some time to scan your music. Then you will have the desired directory structure in music_tree. The files there are not copies nor hard- nor softlinks; they are virtual files connected to the real ones.

In this example I mount read-only (-o ro) because I don't want to make a mess by accident. In general, file tags can be changed by moving and renaming virtual files and directories.

You can create multiple representations (virtual directory structures) in separate mountpoints. But I guess you would want to use this one desired representation only, also in Windows.

To use it in Windows you should save this directory structure as normal dirs'n'files. You have to cp -r music_tree /somewhere/else/. The downside of this approach is you need to have enough free space to make such a copy. It would be nice to be able to do this with hardlinks, but it's not how FUSE works.

Finally unmount:

fusermount -u ~/music_tree

Additional info:

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .