MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-29

Download and get help for different MediaMonkey Addons.

Moderators: Peke, Gurus

Re: MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-

Postby bluenote » Mon Mar 26, 2012 7:17 pm

Hi

Great addon, thank you!
I seem to want to use this in a way that it is not designed.
Or, at least, my understanding of how it should be used is very weak.

I have some mislabeled, one-off, songs containing in many cases wrong tags,
from previous experiments with auto tagging.

What I would like to do is select whole swathes of my library and run them through fingerprinting
and write new tags based on that.

It seems like this is designed to be run on a whole album though, because if I select multiples from different artists,
it seems to force the tracks into the resulting "holes".

Can I somehow use or configure this differently to do what I want? JUST use fingerprint and give me a best guess for each without using other data like
filename , or other files contained in the selection?

thanks!
bluenote
 
Posts: 2
Joined: Mon Mar 26, 2012 7:11 pm

Re: MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-

Postby DiThomasso » Mon Apr 02, 2012 7:26 am

Hi there,

I would like to know the same what bluenote asked. I also messed up my library with auto tagging. So i would like to know what would be the best/easiest way to fix the tags again. Thanks in advance.

peace.
DiThomasso
 

Re: MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-

Postby nohitter151 » Tue Apr 03, 2012 9:57 am

Trixmoto made an addon "musicip tagger", but I believe it's not working anymore. That was the only "automatic" tagger that MM ever had.
MediaMonkey user since 2006
Need help? Got a suggestion? Can't find something?

Please no PMs in reply to a post. Just reply in the thread.
nohitter151
 
Posts: 22942
Joined: Wed Aug 09, 2006 10:20 am
Location: NJ, USA

Re: MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-

Postby booblers » Tue Apr 03, 2012 12:19 pm

Both AcoustID and EchoNest ENFP (not echoprint) are capable of doing the same thing. This script does not provide that functionality. Someone would have to write a new script for that. Shouldn't be hard.
booblers
 
Posts: 97
Joined: Sat Sep 27, 2008 6:57 pm

Re: MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-

Postby MMuser2011 » Tue Apr 03, 2012 1:35 pm

@bluenote + DiThomasso:
Maybe you should have a look at Musicbrainz Picard. This standalone tool has an integrated fingerprinter (AcoustID) too.
But also Picard is not a 'do-everything-for-me-automagically-and-100%-perfect'-thing. It can recognize a track if the fingerprint of exactly the same track was submitted before (from another user) to Acoustid. Maybe you are lucky, maybe not.

Just give it a try - and let us know, how it works for you.
Magic Nodes v4.2 (2011-07-01) SQL Viewer v2.4 (2009-10-25)
ExternalTools v1.4 (2011-05-09) iTunesMonkey 1.0 + Acoustid
Calculate Cover Size v1.7 (2012-10-23) RegExp Find & Replace v4.3 (2011-07-06)
MMuser2011
 
Posts: 682
Joined: Mon Oct 17, 2011 8:28 am
Location: Central Europe

Re: MusicBrainz NGS + AcoustId Tagger [MM3] v1.0 2012-01-24

Postby MMuser2011 » Thu Apr 05, 2012 1:52 am

MMuser2011 wrote:...Is it possible to get this standalone fingerprinter? And/Or some instructions how to use it?
(I assume, it will a) create the fingerprint for every song and b) write this 'hash' into the track? Does it run from commandline without MM?)
I finally found it: viewtopic.php?f=2&t=64192 :wink:
Magic Nodes v4.2 (2011-07-01) SQL Viewer v2.4 (2009-10-25)
ExternalTools v1.4 (2011-05-09) iTunesMonkey 1.0 + Acoustid
Calculate Cover Size v1.7 (2012-10-23) RegExp Find & Replace v4.3 (2011-07-06)
MMuser2011
 
Posts: 682
Joined: Mon Oct 17, 2011 8:28 am
Location: Central Europe

Re: MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-

Postby MusicBrainz NGS fan » Sat Apr 07, 2012 12:30 pm

I have also problem with Overflow expcetion on line 4176 and I found that there is problem with decimal separator if your default locale is not en-US. I'm using sk-SK and decimal separator for this culture is comma. then munkresme.xml looks like:
Code: Select all
<matrix><row><col>0,166666666666667</col></row></matrix>

and when munkres.exe is trying to proceed this xml, is throwing an error:
Code: Select all
ValueError: invalid literal for float(): 0,166666666666667

in this case, munkresindexes.xml stays empty and this causes error mentioned in previous post.
Code: Select all
Set objMunkresIndexes = objMunkresXML.selectNodes("/matrix/index")

this line returns empty array and next if statement will be true. foreach loop inside will be never executed and cost and i variables will stay initialized to zero.
logme call on line 4176 throws an exception because it tries to divide by zero:
Code: Select all
logme "cost: " & Round(cost / i, 6)

to fix this I made some changes to the function order_items (marked as CUSTOM CODE)
Code: Select all
Function order_items(items, trackinfo):
    '"""Orders the items based on how they match some canonical track
    'information. Returns a list of Items whose length is equal to the
    'length of ``trackinfo``. This always produces a result if the
    'numbers of items is at most the number of TrackInfo objects
    '(otherwise, returns None). In the case of a partial match, the
    'returned list may contain None in some positions.
    '"""
    '# Make sure lengths match: If there is less items, it might just be that
    '# there is some tracks missing.
    If items.Count > trackinfo.Count Then
         Set order_items = Nothing
         MunkresCost = 200
         Exit Function
      End If

      'to compare the dicts in case of issues:
'      For j = 0 To items.Count - 1
'         logme items.Item(j).Title & " - " & items.Item(j).TrackOrderStr
'      Next
'
'      For j = 0 To trackinfo.Count - 1
'         logme trackinfo.Item(j).Title & " - " & trackinfo.Item(j).TrackOrderStr
'      Next
   'CUSTOM CODE START
   Dim locale
   locale = GetLocale
   SetLocale("en-US")
   'CUSTOM CODE END

    '# Construct the cost matrix.
    j = 0
    Dim costs : Set costs = CreateObject("Scripting.Dictionary")
    xml = "<matrix>"
    For j = 0 To items.Count - 1
       Set cur_item = items.Item(j)
       'Set cur_item = items.Item(key)
       xml = xml & "<row>"
      For i = 0 To trackinfo.Count - 1
      'For i, canon_item in enumerate(trackinfo):
          xml = xml & "<col>" & track_distance(cur_item, trackinfo.Item(i), trackinfo.Item(i).TrackOrderStr, False) & "</col>"
          SDB.ProcessMessages
        'row.append(track_distance(cur_item, canon_item, i+1))
      Next
      'costs.append(row)
       xml = xml & "</row>"
    Next
    xml = xml & "</matrix>"

    Dim objFSO, logf
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Dim tmpXMLPath: tmpXMLPath = SDB.ScriptsPath & sScriptDir & "munkresme.xml"
    Set logf = objFSO.OpenTextFile(tmpXMLPath, 2, True)
    logf.WriteLine xml
      logf.Close
      Set logf = Nothing
      Set objFSO = Nothing
   
    '# Find a minimum-cost bipartite matching.
    'matching = Munkres().compute(costs)
    Set objMunkresXML = Munkres()

    '# Order items based on the matching.
    'ordered_items = [None]*len(trackinfo)
    'for cur_idx, canon_idx in matching:
    '    ordered_items[canon_idx] = items[cur_idx]
    'return ordered_items
    Set objMunkresIndexes = objMunkresXML.selectNodes("/matrix/index")
    If Not objMunkresIndexes Is Nothing Then
         
         'create a blank dict with the correct size
       Dim ordered_items : Set ordered_items = CreateObject("Scripting.Dictionary")
       For i = 0 To trackinfo.Count
          Set objTemp = Nothing
          ordered_items.Add i, objTemp
       Next

         cost = 0.0
         i = 0
       For Each mindex in objMunkresIndexes
          i = i +1
          Set nodeRow = mindex.selectSingleNode("row")
          Set nodeCol = mindex.selectSingleNode("col")
          Set nodeCost = mindex.selectSingleNode("cost")
          rowindex = CInt(nodeRow.Text)
          colindex = CInt(nodeCol.Text)
          'logme nodeCost.Text
          cost = cost + nodeCost.Text
          'Set ordered_items.Item(colindex) = items.Item(rowindex)         'rowindex = index in NewTracks?  colindex= index in mbitems?
          ordered_items.Item(rowindex) = colindex
          'logme mindex.selectSingleNode("row").Text & ", " & mindex.selectSingleNode("col").Text
       Next
      'CUSTOM CODE START
      If i > 0 Then
         logme "cost: " & Round(cost / i, 6)
         MunkresCost = Round(cost / i, 4)
         SetLocale(locale)
         Set order_items = ordered_items
      Else
         MunkresCost = 100
         SetLocale(locale)
         Set order_items = Nothing
      End If   
      'CUSTOM CODE END
    Else
       MunkresCost = 100
      'CUSTOM CODE START
      SetLocale(locale)
      'CUSTOM CODE END
       Set order_items = Nothing
    End If   
End Function


hope it helps.
MusicBrainz NGS fan
 

Re: MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-

Postby bakker_be » Tue Apr 10, 2012 6:12 am

Brilliant find, I'll try it tonight, my local isn't EN-US either, so it could easily be the cause/solution!
Thanks!
bakker_be
 
Posts: 21
Joined: Fri Apr 16, 2010 8:06 am

Re: MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-

Postby bakker_be » Mon Apr 16, 2012 3:02 am

It's working for me now (v1.25 on W7 32-bit + Windows Server 2008 R2 64-bit, latest Mediamonkey 4 build).
@booblers: could you release a v1.26 incorporating this change please?
bakker_be
 
Posts: 21
Joined: Fri Apr 16, 2010 8:06 am

Re: MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-

Postby BlueDragon » Wed Apr 18, 2012 4:43 am

I use MM4 portable with de-DE and had the same error until using the fix from "MusicBrainz NGS fan".


Thanks for both the addon and the fix :D
BlueDragon
 
Posts: 63
Joined: Sat Jan 09, 2010 7:23 pm

Re: MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-

Postby steve1977 » Sat Apr 28, 2012 8:20 pm

Just found out about this script and it appears to be exactly what I am looking for. I am currently using MB Picard, but really want to switch to some other tagger. Will this allow me to do the following:

1) Provide all the functionality of MB Picard
2) In addition, also allow to tag albums that are not in MB database (but on amazon, last.fm or others)
3) In addition, allow to add cover art from other sources besides MB
4) In addition, allow to add genre taggs
5) Be more stable than Picard


Thanks a lot in advance!!! This really looks promising and may allow me to finally stop using Picard...
steve1977
 

Re: MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-

Postby ripndip » Fri May 18, 2012 7:15 pm

steve1977 wrote:Just found out about this script and it appears to be exactly what I am looking for. I am currently using MB Picard, but really want to switch to some other tagger. Will this allow me to do the following:

1) Provide all the functionality of MB Picard
2) In addition, also allow to tag albums that are not in MB database (but on amazon, last.fm or others)
3) In addition, allow to add cover art from other sources besides MB
4) In addition, allow to add genre taggs
5) Be more stable than Picard


Thanks a lot in advance!!! This really looks promising and may allow me to finally stop using Picard...



I would like to know the same. It's a shame MusicBrainz/IP are no longer working/supported. They were great additions and MUCH better than Amazon. MM is imcomplete when it comes to tagging actually. I would be willing to donate of course to one solid fingerprint tagging solution.


Mediamonkey has done so much, many amazing things, but this functionality was here with 3rd party support, but Im guessing the sites are removing capabilities?


This is from the main page http://www.mediamonkey.com/information/free/#lookup
Code: Select all
Identify Tracks

[list=]Automatically identify movies and tracks that are missing information, whose tags are not synchronized, or that are duplicated elsewhere.

Fix Tags with Automatic Lookup and Tagging of album art and other information from Amazon.

Lookup CD information on Freedb or via CD-TEXT, and find missing track details through music-related sites such as Allmusic.

If you have a large media collection, MediaMonkey will help you update your tags quickly and accurately.[/list]



But Amazon doesn't tag genres and further doesn't have a ip/fingerprint system.
With Lastfm, Allmusic, FreeDB, MusicBrainz, ...now AcoustID, there has to be away for us to provide our tag info to a consolidated database. I hate tagging my files to the tee but not sending that info back anywhere to correct future errors.

WE NEED A SOLID SOLUTION!
ripndip
 
Posts: 38
Joined: Fri Oct 02, 2009 12:54 pm

Re: MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-

Postby ripndip » Fri May 18, 2012 10:55 pm

nohitter151 wrote:Trixmoto made an addon "musicip tagger", but I believe it's not working anymore. That was the only "automatic" tagger that MM ever had.


I cant say the script is completely dead but as of 5/19/12 on MM4 I havent gotten any of my files to retrieve a tag.

I either get 100% Success with no updated tag or ".m4a - unanalyzable!", which I'm guessing doesn't work with any format but .mp3? Sometimes i get pending! which gives me hope. But all in all it's not a successful addon.
ripndip
 
Posts: 38
Joined: Fri Oct 02, 2009 12:54 pm

Re: MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-

Postby mhendu » Tue May 22, 2012 1:00 am

Fantastic as this script is, would be great if it could work in batch mode, to echo some of the other comments here.
mhendu
 
Posts: 65
Joined: Thu Jan 12, 2006 11:18 am

Re: MusicBrainz NGS + AcoustId Tagger [MM3&4] v1.25 2012-01-

Postby bakker_be » Tue May 22, 2012 6:54 am

ripndip wrote:
nohitter151 wrote:Trixmoto made an addon "musicip tagger", but I believe it's not working anymore. That was the only "automatic" tagger that MM ever had.


I cant say the script is completely dead but as of 5/19/12 on MM4 I havent gotten any of my files to retrieve a tag.

I either get 100% Success with no updated tag or ".m4a - unanalyzable!", which I'm guessing doesn't work with any format but .mp3? Sometimes i get pending! which gives me hope. But all in all it's not a successful addon.

m4a is indeed unsupported. If you'd ever used the MusicIP Mixer (their own frontend application for the service), you'd know that. wma is problematic at best, but I see no issues at all with mp3 & flac (up to 24bit/192kHz for flac). I also see no issues with analyzing very recent albums (new releases from march 2012).
bakker_be
 
Posts: 21
Joined: Fri Apr 16, 2010 8:06 am

PreviousNext

Return to Need Help with Addons?

Who is online

Users browsing this forum: Exabot [Bot] and 13 guests