Welcome Guest

Pages: 1
Creating an action to set a field using discogs database
kwini83PostOctober 28, 2013, 19:45
Newbie
Posts: 5
Registered:
October 28, 2013, 23:19
Normal topicCreating an action to set a field using discogs database

Hi,
I would like to batch-tag my music library using discogs database (I want to set the date and genre of my albums from the year and style of the discogs matching release).
I am no developer, and after a few hours trying to create an action that would do this and no success, I gave up 🙁

Basically the workflow I imagined would be :
1) open discogs wizard
2) search for the master release of discogs matching the considered file
3) store the GENRE, STYLE and YEAR values from this release
4) set the Genre, Year, and let's say Grouping fields of my file to these values

Is this possible? If so, what would be the process to create an action from this workflow?
I am stuck with the "Access discogs" function, and don't know how to proceed to run the "search" function of the discogs wizard...

So many thanks for any help on this!
Best

2MR2PostOctober 28, 2013, 20:51
Avatar photo
Administrator
Posts: 2084
Registered:
August 23, 2012, 19:27
Normal topicRe: Creating an action to set a field using discogs database

Hi,

You're stuck in a chicken and egg scenario. The "Access Discogs" function only works on albums where you already have the Discogs Release ID. This is done intentionally as the chance for choosing an incorrect release is quite high if the process is automated. If you do not have Discogs Release IDs for your albums the process will have to be manual.

Doing it manually and only saving the Genre, Mood and Year values is quite easy. While in the wizard's Release Details display simply uncheck all of the fields that you're not interested in. (You can uncheck all from the context menu). I strongly recommend including: "Release id", "Release Ordinal Position" and "Track Position". The presence of these fields will allow you to use the "Access Discogs" function in the future. You can save your 'import settings' to a retrievable named set from the 'Import Settings Manager' (context menu). You can also save the import settings in each track by enabling "Import Settings" in the Release Details view before importing.

In Preferences-Discogs you can specify the name of an action to automatically run after an import from the DIscogs wizard. You can use this action to perform any post processing such as moving fields (setting up Grouping?).

Sorry about this. I know it's a pain but I'd rather limit the Access Discogs and MusicBrainz functions than open them up and take a chance with pulling entirely incorrect releases. I'm open to any suggestions from anyone who has an approach which will work better.

To recap. in order to do this manually you would:
- load a single album in Yate
- start the Discogs Wizard
- choose the appropriate release
- specify or load the required import settings if not in place (last used values are current)
- import the desired information
- optionally run a post import action

kwini83PostOctober 29, 2013, 14:30
Newbie
Posts: 5
Registered:
October 28, 2013, 23:19
Normal topicRe: Creating an action to set a field using discogs database

Hi,
thanks for the quick reply.

I fully understand the reasons why there is no way to fully automate a process to retrieve data from discogs and set it to an album. I could suggest an approach for a half automated workflow to set albums tags from Discogs's data : your action could be set to :
- open the discogs wizard and automatically search for discogs releases with the artist name and album name
- then the user could choose in the list between the releases - this would be the manual part of the workflow (but this could be automated with an option "pick up the 'Master release' from Discogs")
- and then other functions could be applied depending on the treatment you want to give to your music files.
In a way, that's how musicbrainz picard works, and it does make you gain lots of time when you get to tag an entire music library...

In a broader perspective, I am wondering what could be the best way to handle music tagging on an "album" level, rather than on "tracks" level? I explain myself: I got a pretty well tagged library, that I worked on for years using musicbrainz and other tagging softwares. But when I had it all tagged, I realized that although the tracks are correctly tagged, I have missing or incorrect information on the "album" point of view (such as genre and year). Now I would like to concentrate on this, and this is where I am having trouble with the procedure you explained above: in your procedure, I need to pick up the exact release from Discogs matching my album, otherwise some of my tracks could not be treated (admittedly I got a deluxe version of an album where there are more tracks than on the original album that I chose from Discogs to get data from). Where in fact I wouldn't really care about which version I choose from discogs since normally the style/genre would be the same, whichever release I pick up. In the majority of cases, I would just pick the "Master Release" (BTW, is there a way to know which one it is in the discogs wizard list?). I guess the Master Release of any album on Discogs has the most accurate general information about the album, such as original release date, style, genre, and so on...
The same goes for artwork: in most cases I would be interested in having the regular artwork of an album, except if I got a special edition with a different artwork. In these cases, I think it could be very handy to have an "album treatment" feature, and be able to deal with 2000 albums, rather than 25000 tracks 😉
I would be eager to get your feeling about these thoughts, and maybe some hints or workaround to not dive again into this everlasting manual tagging job!

Anyway, I have to say I am pretty impressed by all the features that Yate provides. Having searched the web for a tool like this for years, it's only very recently that I found it (from the musicbrainz 3rd party listing), and I am happy that Mac Os has now tagging tool as powerful as those that has existed for year for PC. So thank you for that!

Best

2MR2PostOctober 29, 2013, 15:21
Avatar photo
Administrator
Posts: 2084
Registered:
August 23, 2012, 19:27
Normal topicRe: Creating an action to set a field using discogs database

Hi,

The Album mode of matching makes sense to me. I can see adding an option to match albums from Discogs and MusicBrainz based on the 'master release' concept. I would simply knock out the import of track only data such as title, track number, track position, etc. It would require a consistent Album and Album Artist (or Artist as a fallback) field for the contents of a folder. I would think that across 2k albums the majority would have a single master release match. A couple of things to think about such as 'Various Artists' and the need for an exact album/artist match or some threshold based on word matching. Let me think about it. I'm pretty sure I can do this in v3.0..... or maybe earlier 🙂

I'll let you know when I've got something to play with. I'll also look at better identifying the master release in the wizard.

kwini83PostOctober 29, 2013, 19:46
Newbie
Posts: 5
Registered:
October 28, 2013, 23:19
Normal topicRe: Creating an action to set a field using discogs database

Ok, now I can't wait for this V3.0 😉

2MR2PostOctober 31, 2013, 15:05
Avatar photo
Administrator
Posts: 2084
Registered:
August 23, 2012, 19:27
Normal topicRe: Creating an action to set a field using discogs database

Hi,

I've been looking this over and it seems that it would be possible to have an automated Discogs search with would match albums by album name and artist. Styles (mood), Genre, Year and Artwork could be extracted.

I would suggest only accepting returns where there is one and only one Master release returned. I guess I could add an "I'm Feeling Lucky" button which would return the information from the first master if multiple items were returned.

Actually that's not such a bad idea as I could retain the previous Mood, Genre and Year values so you'd have them available if you wanted. Artwork is only added, not deleted so nothing would be lost.

kwini83PostNovember 9, 2013, 07:33
Newbie
Posts: 5
Registered:
October 28, 2013, 23:19
Normal topicRe: Creating an action to set a field using discogs database

Hi,

sorry for this late reply to your post - for some reason I did't get any notification of new posts on the topics I had subscribed...

Anyway, great that you could give a thought to this album mode idea! Based on my experience, I find that mp3 tagger softwares are always designed for a track per track use, where a lot of users really want to manage a "disc" collection at some point! Having the possibility to switch between a track approach and an album approach when dealing with our music would certainly be a great improvement in this "get your music collection well organized" challenge 🙂
I think that it's really what we do when we tackle a very big project - like tagging thousand of mp3: we are working in tagging "sprints"! First the track per track sprint gives us an organized library with artists and albums and track names. Then comes the second round where we want to get the covers and the original years. And finally we want to get more versatility in the way we can listen to this music, and here comes the need to get proper genres, styles and moods 😉

I am under the impression that the more efficient and productive way to work on a big project like tagging thousands of music albums is to do it as we do in our job's: that is working in sprints, from the big picture to the more and more detailed work! Going into all the tagging details in the first time would too much time consuming and encourage you quit this job. Also I think that as you get more expert and mature in your tagging workflow, you might tackle issues that you did not think important when you first began to tag your collection. For example you would not care at first about the original year and thought that for a remaster release the remastering year would be fine. Then a few month or year later you realized that you would prefer to have the original year in the year field, and keep the remastering year information in another field (like between brackets in the title). That way you could create a 1968's playlist without missing the Beatles white album which is tagged 2009 just because you got the remaster version and didn't bother keep the mono you had before!
So I guess music lovers are for a long time, if not forever, reworking and reorganizing their collection and this should be better taken into account when designing a tagging software...

Coming back to the automated discogs search, I didn't know that there could be several master releases on discogs. Would it be an idea in theses cases to open a dialog box with a dropdown menu from which you can pick the right release? Also I like your idea of the "I 'm feeling lucky" button, to be able to fully automate the worklflow. You could always review the modified files afterwhile before saving. And with being able to select which field you'll retain before applying the modifications, you'll control what you'd get.

Talking about master releases, I am pretty sure that in 99% of cases it will contain the original year, since this is a Discogs's recommendation when creating a master release. What I don't know is if the master release contains the most accurate (consensual) genre and style information? As Discogs is based on community, I would say that yes, assuming that people from the community coming across some inacurate information on the master release (which is the first that displays when searching by album name) would propose modifications, but what are your ideas on this? Are master releases from discogs the more reliable source for genre and styles ? And what about covers?

And while talking about styles, I would like to raise the question for everybody: how do you deal with your music styles since itunes doesn't enable multi-styles? I know this is a common question in forums but I'd like to have the opinion of people "who are serious about tagging their audio files" 😉
Thanks in advance to any experience return on this!

2MR2PostNovember 9, 2013, 08:24
Avatar photo
Administrator
Posts: 2084
Registered:
August 23, 2012, 19:27
Normal topicRe: Creating an action to set a field using discogs database

I'm in the final stages of testing the implementation and it will be released shortly in v2.5.1.

I've got the algorithm tuned pretty well in determining what is the best master. In fact I'm letting you choose to do best, good or loose matching. The algorithm searches for masters, loads a single master and then loads the master's main release (which is typically the oldest).

I ran 2857 albums in the test. 1695 did not exist in the Discogs database. This is due to the nature of some of the albums (downloaded concerts, mix albums, etc) or may be due to my poor choice of tags especially on compilations.

Of the remaining 1162 albums:

Best matched 948 and could not find a match for 214. As far as I can tell there were no incorrect matches
Good matched 1028 and could not find a match for 134. There were about 22 incorrect matches
Loose matched 1107 and could not find a match for 55. There was an additional 28 incorrect matches

You can elect to log and/or import data based on the matches. When the log is in verbose mode, it contains full details on all the masters which were located. (Currently I'm grabbing the first 25). The master id is supplied so you can always 'force a match' by putting the desired id in the tracks. (You can even force a release by putting the desired release id in the tracks). You can also exclude an album from 'master matching' by placing an appropriate tag in the tracks. (All this is documented). I envisage people doing a 'log only' run first, doing tuning on some files and then doing an 'import' run. I'm planning to do this on my collection to get as many 'musicians credits' as possible. 🙂

Another user has requested something close enough that I can tweak the code to get the desired result. He wants to be able to search for tracks (associated with artists) and to find the earliest release (year) by that artist of the track. This will be much slower as searches will take place on every track as opposed to every album.

One potential issue is that if you want to be able to extract artwork using this method, you have to remember that Discogs is rate limited to 1000 images/day. (I hit the limit). If might be preferable to save the release ids when importing and to subsequently do smaller runs on branches of your library,

I like your ideas about the interaction for choosing but because of the design of the functionality it can only be run in batch mode. So for now you'll be using the log file to examine your choices. Remember that you can always highlight and copy a file/folder path and do an 'Open Path in Clipboard' in Yate to open the desired files.

kwini83PostNovember 9, 2013, 09:05
Newbie
Posts: 5
Registered:
October 28, 2013, 23:19
Normal topicRe: Creating an action to set a field using discogs database

Cool for the v2.5.1 coming soon!

What are the rules that define best, good or loose matching?

Also am not very familiar with the log/import process... could you point me in the help section where I could learn more on how this works in Yate ?

Many thanks!

2MR2PostNovember 9, 2013, 09:32
Avatar photo
Administrator
Posts: 2084
Registered:
August 23, 2012, 19:27
Normal topicRe: Creating an action to set a field using discogs database

The functionality is implemented in the 'Access Discogs' action function. The function currently has options for Log, Save and Both. v2.5.1 changes the options to Log, Import, Both, Test. As the function is only valid while batch processing, the 'logged' results will appear in the log file produced by the batch run. This feature is very slow as DIscogs is rate limited to one request/second.

The different match types are done by word matching. First an album name is decomposed into words. Any word in the Weight Exception List (Preferences-Exceptions) is ignored. (This gets rid of articles such as A, An, The, etc).

For each master, its album name is decomposed.

Best says that every word in the source name must be matched against the potential name.....and every word in the potential name must be matched.

Good says that every word in the source name must be matched against the potential name. However there may be unmatched words in the potential name. This is to enable ignoring extra words in the DIscogs database. For example 'xxx songs from the original soundtrack'. You might only have 'xxx' in your files as the name. The downside is that 'Santana' will match 'Santana III' if there is no 'Santana' master.

Loose currently says that better than 50% of the words in the source name must be matched.

I've been running this stuff for testing purposes for a while now and I can't see doing it any way other than through batch processing. I have Growl and Prowl on my Mac and I get notifications when a batch run has finished on my iPhone 🙂

I recommend two help topics available on the main help page (Help>Yate Help):

How actions execute
Batch processing

Pages: 1
Mingle Forum by Cartpauj | Version: 1.1.0beta | Page loaded in: 0.039 seconds.