Guide: Quickly Importing Releases/Tracklists from Files

Tags: #<Tag:0x00007fe316b026a0> #<Tag:0x00007fe316b021a0>

This is a method of quickly copying out track title/artist/length etc from digital files/tracks in a format that will plug into the MusicBrainz track parser.

  • Install Foobar2000, and install the Text Tools component.
    To install the component open Foobar2000 and go to File > Preferences > Components in the top menu. Drag foo_texttools.zip from your explorer into the ‘installed components’ window. Hit Apply at the bottom, and restart Foobar2000 when prompted.

  • When Foobar2000 opens again go to File > Preferences > Tools > Text Tools. In the ‘quick copy commands’ window, click ‘add new’. Name it whatever you want, eg MusicBrainz, in the left column. In the right column add the string that you want to have copied out.
    I just want the basics for the parser so my string is:
    %title% - %artist% - %length%
    You’re good to go - close the preferences/quick copy commands window.

  • Drag the album/folder/track/tracks that you want to add to MB into the Foobar2000 playlist. Select the tracks you want to add to MB (can do them all at once), right click, Utilities > Text Tools > Copy:WhateverYouCalledYourQuickCopyCommand

  • In Musicbrainz you’ve gotten to the Add Release page, and you’re on the tracklist tab. In the Add Medium window, right click > Paste. Select the Options as you please, and click ‘Add Medium’.

  • After you’ve set all the artists and double checked the data and possibly used the Guess Case button you’re done! Submit the release.

The Text Tools component is powerful tool, feel free to play with it, but this basic string does the job. Here is an example of what it will give you:

1 Track Name Tag - Artist Tag - 1:11
2 Track Name Tag - Artist Tag - 2:22

If there’s a way easier way to do this and I’m just a doofus, please enlighten me! :blush:

6 Likes

You can also accomplish this with MusicBee’s “send to clipboard” command. The tags copied are configurable in preferences. Off the top of my head, I think <Track#> <Title> - <Artist> - <Time> would generate the same results as your method.

5 Likes

There is also the Picard Plugin “Add Cluster as Release”. This lets you add direct from Picard.

Handy working from Picard as it will also upload the AcousticIDs and a few clicks more and you have the actual DiscID also uploaded.

9 Likes

I do something similar in Mp3Tag. They call it “Export” in that program. I’ve even made an export file that can output a .csv so I can import a tracklist into Excel.

2 Likes

Just for giggles, I was playing around with Lee Holmes’ ID3 module in PowerShell and came up with this:

> Get-ChildItem *.mp3 | % {Get-Id3Tag $_.name} | ft Track, Title, JoinedArtists -AutoSize

Running that command in the directory of an album will output this:

Track Title                           JoinedArtists
----- -----                           -------------
    1 Vicious                         Lou Reed
    2 Andy's Chest                    Lou Reed
    3 Perfect Day                     Lou Reed
    4 Hangin' 'Round                  Lou Reed
    5 Walk on the Wild Side           Lou Reed
    6 Make Up                         Lou Reed
    7 Satellite of Love               Lou Reed
    8 Wagon Wheel                     Lou Reed
    9 New York Telephone Conversation Lou Reed
   10 I'm So Free                     Lou Reed
   11 Goodnight Ladies                Lou Reed

Unfortunately, getting the duration of an .mp3 file is a bit more involved. I may create a “Get-Tracklist” function just for the fun of it.

5 Likes

beets makes heavy use of MusicBrainz and provides a way to import tracklists as well.

Beets is the media library management system for obsessive-compulsive music geeks.

MusicBrainz Submit Plugin:

The mbsubmit plugin provides an extra prompt choice during an import session that prints the tracks of the current album in a format that is parseable by MusicBrainz’s track parser.

1 Like

I had been playing around with PowerShell off and on since I last posted on this thread, and I’ve managed to write a couple of metadata functions.

https://1drv.ms/u/s!ApcarWy2tuAYkageckpuFJq_XE7hGg?e=OxQrxe

Assuming I’ve done this right, clicking on the above link should let you download a .zip file with two PowerShell script files:

Function-Get-ExtensionAttribute.ps1
Function-Get-MusicData.ps1

You need to put those in your default PowerShell folder. You also need to install the ID3 module from the PowerShell gallery

Now dot-source Get-MusicData:

> . .\Function-Get-MusicData.ps1

You now have access to two functions:

Get-Tracklist
Get-MusicData

Get-Tracklist looks at all the mp3 files in a directory and produces a tracklist

> Get-Tracklist "C:\Users\Bill\OneDrive\New Music\First Listen\~S~\Simon & Garfunkel\Simon and Garfunkel's Greatest Hits"

Produces the output:

Track Artist            Title                                        Length
----- ------            -----                                        ------
    1 Simon & Garfunkel Mrs. Robinson                                03:52
    2 Simon & Garfunkel For Emily, Whenever I May Find Her           02:24
    3 Simon & Garfunkel The Boxer                                    05:10
    4 Simon & Garfunkel The 59th Street Bridge Song (Feelin' Groovy) 01:50
    5 Simon & Garfunkel The Sound of Silence                         03:06
    6 Simon & Garfunkel I Am a Rock                                  02:52
    7 Simon & Garfunkel Scarborough Fair / Canticle                  03:09
    8 Simon & Garfunkel Homeward Bound                               02:42
    9 Simon & Garfunkel Bridge Over Troubled Water                   04:52
   10 Simon & Garfunkel America                                      03:33
   11 Simon & Garfunkel Kathy's Song                                 03:23
   12 Simon & Garfunkel El cóndor pasa (If I Could)                  03:07
   13 Simon & Garfunkel Bookends                                     01:20
   14 Simon & Garfunkel Cecilia                                      02:53

Get-MusicTags gets all the available tags from mp3 files;

> Get-MusicTags "C:\Users\Bill\OneDrive\New Music\First Listen\~S~\Simon & Garfunkel\Simon and Garfunkel's Greatest Hits\01 - Simon & Garfunkel - Mrs. Robinson.mp3"

Will get this:

Publisher                  : CBS
Length                     : 00:03:52
StartTag                   : TagLib.NonContainer.StartTag
EndTag                     : TagLib.NonContainer.EndTag
TagTypes                   : Id3v1, Id3v2
Tags                       : {5d02f264-e225-41ff-83f7-d9b1f0b1874a, }
Title                      : Mrs. Robinson
Performers                 : {Simon & Garfunkel}
PerformersSort             : {Simon & Garfunkel}
AlbumArtistsSort           : {Simon & Garfunkel}
AlbumArtists               : {Simon & Garfunkel}
Composers                  : {Paul Simon}
ComposersSort              : {Simon, Paul}
TitleSort                  :
AlbumSort                  :
Album                      : Simon and Garfunkel's Greatest Hits
Comment                    :
Genres                     : {Am Pop}
Year                       : 1990
Track                      : 1
TrackCount                 : 14
Disc                       : 1
DiscCount                  : 1
Lyrics                     :
Grouping                   :
BeatsPerMinute             : 0
Conductor                  :
Copyright                  :
MusicBrainzArtistId        : 5d02f264-e225-41ff-83f7-d9b1f0b1874a
MusicBrainzReleaseId       : cb74585e-34f1-477e-8e40-8fdf6c116483
MusicBrainzReleaseArtistId : 5d02f264-e225-41ff-83f7-d9b1f0b1874a
MusicBrainzTrackId         : df569676-9c08-4bec-8137-daa122c04ca9
MusicBrainzDiscId          :
MusicIpId                  :
AmazonId                   :
MusicBrainzReleaseStatus   : official
MusicBrainzReleaseType     : album/compilation
MusicBrainzReleaseCountry  : XE
Pictures                   : {}
IsEmpty                    : False
Artists                    : {Simon & Garfunkel}
FirstArtist                : Simon & Garfunkel
FirstAlbumArtist           : Simon & Garfunkel
FirstAlbumArtistSort       : Simon & Garfunkel
FirstPerformer             : Simon & Garfunkel
FirstPerformerSort         : Simon & Garfunkel
FirstComposerSort          : Simon, Paul
FirstComposer              : Paul Simon
FirstGenre                 : Am Pop
JoinedArtists              : Simon & Garfunkel
JoinedAlbumArtists         : Simon & Garfunkel
JoinedPerformers           : Simon & Garfunkel
JoinedPerformersSort       : Simon & Garfunkel
JoinedComposers            : Paul Simon
JoinedGenres               : Am Pop

With this function, you can do various things, like creating a .csv tracklist:

> Get-ChildItem *.mp3 | Get-MusicTags | sort Track | select Track,JoinedArtists,Title,Length | Export-Csv .\SGGreatest.csv -Encoding utf8 -NoTypeInformation

3 Likes