tag:help.beatunes.com,2009-07-24:/discussions/suggestions/3696-genre-autobatch-modebeaTunes: Discussion 2018-05-11T14:01:27Ztag:help.beatunes.com,2009-07-24:Comment/451769572018-04-30T17:26:08Z2018-04-30T17:28:20ZGenre autobatch mode<div><p>In addition, I think the MultimediaEval / Acoustibrainz Genre Task 2017 tried to do the same right?</p>
<p>...Even incl. your program and data =)</p>
<p>What were the outcomes?<br>
Is it something u want to implement in beaTunes using the development script?</p>
<p>Source:<br>
<a href="https://github.com/multimediaeval/2017-AcousticBrainz-Genre-Task">https://github.com/multimediaeval/2017-AcousticBrainz-Genre-Task</a><br>
<a href="https://multimediaeval.github.io/2017-AcousticBrainz-Genre-Task/">https://multimediaeval.github.io/2017-AcousticBrainz-Genre-Task/</a><br>
<a href="http://ceur-ws.org/Vol-1984/Mediaeval_2017_paper_6.pdf">http://ceur-ws.org/Vol-1984/Mediaeval_2017_paper_6.pdf</a></p></div>infotag:help.beatunes.com,2009-07-24:Comment/451769572018-05-01T07:06:45Z2018-05-01T07:06:45ZGenre autobatch mode<div><p>Hey there,</p>
<p>when you let beaTunes tag you songs with the Import Metadata analysis task, it uses the central beaTunes database, which consists of many many user data submissions. So for each song, multiple user submissions are taken into account. What's presented to you is the <em>dominant</em> tempo.</p>
<p>Are the result not satisfying? If not, in what way are they insufficient?</p>
<p>The MultimediaEval task was not about finding agreement between different sources, but about automatic genre classification based on fixed features. A paper that is more in line with what you are asking is <a href="http://www.tagtraum.com/download/schreiber_msdgenre_ismir2015.pdf">http://www.tagtraum.com/download/schreiber_msdgenre_ismir2015.pdf</a></p>
<p>Cheers,</p>
<p>-hendrik</p></div>hendriktag:help.beatunes.com,2009-07-24:Comment/451769572018-05-01T22:52:39Z2018-05-01T22:53:32ZGenre autobatch mode<div><p>Aha!<br>
So beaTunes already does some sort of like Whatlastgenre does =)</p>
<p>Though, I do indeed get mixed results that are puzzling me.<br>
Here's a 10+ pack of tracks that are in my eyes tagged wrong - genre-wise:<br>
<a href="https://mega.nz/#!9NBSyRYI!ItwaQKoVhB2bSoBt93T07vlTmRiZkyZlxUYUOsL_ylg">https://mega.nz/#!9NBSyRYI!ItwaQKoVhB2bSoBt93T07vlTmRiZkyZlxUYUOsL_ylg</a></p>
<p>Nomatter if I use/or not use the Force lookup via Fingerprint, I do get different results, though, both are far from what they should be.</p>
<p>If u look them tunes up under Style of Discogs.com, they come close to the true genre.<br>
I'd be happy with the Style entered @ Discogs.com to be placed in the Genre-tag of my collection,<br>
since they are pretty accurate!</p>
<p>beaTunes genre results:</p>
<ul>
<li>2 Brothers on the 4th Floor - Come Take My Hand (Extended Version) - Blues(?)</li>
<li>Dúné - Hardcore Vibes (South Bound Mix) - Electronica(?) - duh, but defo Hardcore or Happy Hardcore imho</li>
<li>Hi-Lo - Renegade Mastah (Original Mix) - Deep House(?)</li>
<li>Ice MC - It's A Rainy Day (Euro Club Mix) - Rock(?)</li>
<li>Inferno Bros - Slaves To the Rave (Stunned Guys Remix) - Breakbeat(?)</li>
<li>Kate Ryan - Only If I (Peter Luts Remix) - Dancehall(?)</li>
<li>Kym Sims - Too Blind To See It (Hurley's House Mix) - Electronica/Dance(?) - sure danceable, but true House as the tag also reveals</li>
<li>Noisecontrollers - Pillars Of Creation (Edit) - Techno(?)</li>
<li>The Chainsmokers - Closer (R3hab Remix) (feat. Halsey) - Rock - Pop - AC(?)</li>
<li>The Riders - Bang (Radio Edit) - Blues(?)</li>
<li>The Tribe Of Good - Loving You Baby (Weiss Remix) - No genre(?)</li>
</ul>
<p>compared to Discogs genre/style results:</p>
<ul>
<li>2 Brothers on the 4th Floor - Come Take My Hand (Extended Version) - Style:Euro House, Happy Hardcore, Jungle</li>
<li>Dúné - Hardcore Vibes (South Bound Mix) - Style: Hard Trance, Happy Hardcore</li>
<li>Hi-Lo - Renegade Mastah (Original Mix) - Style: House</li>
<li>Ice MC - It's A Rainy Day (Euro Club Mix) - Style: Euro House</li>
<li>Inferno Bros - Slaves To the Rave (Stunned Guys Remix) - Style: Hardcore, Gabber</li>
<li>Kate Ryan - Only If I (Peter Luts Remix) - Style: Trance</li>
<li>Kym Sims - Too Blind To See It (Hurley's House Mix) - Style: Deep House, Garage House, Downtempo, Breakbeat, House</li>
<li>Noisecontrollers - Pillars Of Creation (Edit) - Style: Hardstyle</li>
<li>The Chainsmokers - Closer (R3hab Remix) (feat. Halsey) - Style: Dance-pop</li>
<li>The Riders - Bang (Radio Edit) - Style: Italodance, Progressive Trance, Euro House</li>
<li>The Tribe Of Good - Loving You Baby (Weiss Remix) - Style: House</li>
</ul></div>infotag:help.beatunes.com,2009-07-24:Comment/451769572018-05-08T09:16:46Z2018-05-08T09:16:46ZGenre autobatch mode<div><p>@hendrik</p>
<p>What's your take on this?</p>
<ul>
<li>Don't u agree those tags by beaTunes are atleast very random compared to Discogs?</li>
<li>What is your take on looking up the MASTER release (if excists in db) for Styles?</li>
<li>Perhaps a good idea to implement?</li>
</ul></div>infotag:help.beatunes.com,2009-07-24:Comment/451769572018-05-08T16:40:45Z2018-05-08T16:40:45ZGenre autobatch mode<div><blockquote>
<p>Perhaps a good idea to implement?</p>
</blockquote>
<p>It's trivial to implement as a plugin. See <a href="https://github.com/beatunes/plugin-samples/tree/master/discogsgenre">https://github.com/beatunes/plugin-samples/tree/master/discogsgenre</a></p>
<p>You can install it using the plugin pane in the beaTunes preferences (you may have to refresh available plugins).</p>
<p>That said, perhaps I should take a closer look at Discogs genres for a future beaTunes update.</p></div>hendriktag:help.beatunes.com,2009-07-24:Comment/451769572018-05-08T17:00:53Z2018-05-08T17:00:53ZGenre autobatch mode<div><p>Sweet!<br>
I'll try it out tonite and do some testings.</p></div>infotag:help.beatunes.com,2009-07-24:Comment/451769572018-05-09T08:43:04Z2018-05-09T08:43:04ZGenre autobatch mode<div><p>If you're into coding at all, please also take a look at the code!!</p>
<p>-> <a href="https://github.com/beatunes/plugin-samples/tree/master/discogsgenre">https://github.com/beatunes/plugin-samples/tree/master/discogsgenre</a></p></div>hendriktag:help.beatunes.com,2009-07-24:Comment/451769572018-05-09T12:23:57Z2018-05-09T12:23:57ZGenre autobatch mode<div><p>Not that much into coding I'm afraid, but check my result (based on the package I've sent u in this topic):<br>
<a href="https://youtu.be/HT0JlyhBkec">https://youtu.be/HT0JlyhBkec</a></p>
<p>Am I doing something wrong?<br>
Electronic is tagged on 1 track. That looks like a Genre tag.<br>
Though, where the neaty tags are is in the Style tag of Discogs.<br>
Which ofcoz, resembles a Genre, but just a level more detailed:<br>
<a href="https://gyazo.com/af80c81c52c8771aad89bcd6b874b263">https://gyazo.com/af80c81c52c8771aad89bcd6b874b263</a><br>
Those I want!</p>
<p>If we look up that 1 track thats been tagged here, thru beaTunes, it ends up here:<br>
<a href="https://www.discogs.com/release/9415758">https://www.discogs.com/release/9415758</a></p>
<p>So I think its just grabbing the Genre, instead of Style here.</p>
<p>When I look up that track manually and click the Master release of it, I end up here:<br>
<a href="https://www.discogs.com/Noisecontrollers-Enc%C2%B2-The-Science-Of-Hardstyle-/master/1096259">https://www.discogs.com/Noisecontrollers-Enc%C2%B2-The-Science-Of-H...</a><br>
With same description Genre/Style wise.</p></div>infotag:help.beatunes.com,2009-07-24:Comment/451769572018-05-09T12:58:23Z2018-05-09T12:58:23ZGenre autobatch mode<div><p>Another tune, that's interesting, is the Love You Baby (Weiss Remix), see:<br>
<a href="https://gyazo.com/f6fe091fc351294abe6947018cb3b641">https://gyazo.com/f6fe091fc351294abe6947018cb3b641</a></p>
<p>When right-clicking a tune in beaTunes > Open in... Discogs it goes to the Album that's tagged in the file.<br>
Since this particular tune doesnt have one, it just searches based on Artist - Title, I assume (which is great!).</p>
<p>Then we end up here:<br>
<a href="https://www.discogs.com/search/?type=release&artist=The+Tribe+Of+Good&track=Loving+You+Baby+%28Weiss+Remix%29">https://www.discogs.com/search/?type=release&artist=The+Tribe+O...</a></p>
<p>If we click the 1st (and only) result, we have this overview:<br>
<a href="https://gyazo.com/cf05a3abe4dc6001f72c3ddd1227a56c">https://gyazo.com/cf05a3abe4dc6001f72c3ddd1227a56c</a></p>
<p>Tricky part here is that there is no YEAR , but RELEASED instead.<br>
Once again, GENRE from Discogs is so wide (and not useful); Electronic here.<br>
Though, STYLE is right on spot: House.</p>
<hr>
<p>My idea to approach this code-wise (sorta lol):</p>
<p>Search on Artist + Title tag of track @ Discogs</p>
<p>Search up MASTER release;</p>
<p>if excist, then<br>
grab YEAR + STYLE<br>
if > else;<br>
grab RELEASED + STYLE</p>
<p>if MASTER release not excist, then<br>
grab YEAR + STYLE from ALBUM<br>
if YEAR not excist;<br>
grab RELEASED</p>
<p>if ALBUM not excist, then<br>
just grab from whatever the 1st result is (like with the Loving You Baby (Weis Remix)<br>
either YEAR or RELEASED + STYLE wise</p>
<p>As u can see I'm no coder, but I hope u get the idea =)</p></div>infotag:help.beatunes.com,2009-07-24:Comment/451769572018-05-09T17:07:50Z2018-05-09T17:07:50ZGenre autobatch mode<div><p>Discogs uses genre as exactly that and style as "sub-genre". For many applications genre is super useful and sufficient. Style is more meaningful when you are really into some genre. E.g. if all your music is Electronic anyway, the genre tag Electronic is not useful at all, only style has meaning for you. If you are generally into all kinds of music, Electronic is often sufficient when trying to distinguish from Pop, Rock, Swing, or Calypso.</p>
<p>In essence, there are different use cases and needs.</p>
<p>One could easily modify the plugin I wrote to prefer style over genre by replacing</p>
<pre>
<code> if (firstMatch.getGenre() != null && !firstMatch.getGenre().trim().isEmpty()) {
final String discogsGenre = firstMatch.getGenre().trim();
if (LOG.isDebugEnabled()) LOG.debug("Discogs genre for " + song + ": " + discogsGenre);
song.setGenre(discogsGenre);
} else {
if (LOG.isDebugEnabled()) LOG.debug("Found no discogs genre for " + song);
}</code>
</pre>
<p>with</p>
<pre>
<code> final DiscogsTrack discogsTrack = (DiscogsTrack) firstMatch;
final List<String> styles = (List<String>)discogsTrack.getRelease().getDocument().get("styles");
if (styles != null && !styles.isEmpty()) {
final String style = styles.get(0).trim();
if (LOG.isDebugEnabled()) LOG.debug("Discogs style for " + song + ": " + style);
song.setGenre(style);
} else {
if (LOG.isDebugEnabled()) LOG.debug("Found no discogs style for " + song);
}</code>
</pre>
<p>in the file <code>DiscogsGenre.java</code> and add the import statement</p>
<pre>
<code>import com.tagtraum.ubermusic.discogs.DiscogsTrack;</code>
</pre>
<p>to the top of the file.</p></div>hendriktag:help.beatunes.com,2009-07-24:Comment/451769572018-05-09T17:10:42Z2018-05-09T17:10:42ZGenre autobatch mode<div><p>Attached is a compiled version.<br>
To install, unzip the file and place the resulting jar file manually into your beaTunes plugin folder.</p>
<p>See <a href="http://help.beatunes.com/kb/plugins/how-to-install-a-plugin">http://help.beatunes.com/kb/plugins/how-to-install-a-plugin</a> for manual plugin installation.</p></div>hendriktag:help.beatunes.com,2009-07-24:Comment/451769572018-05-09T20:18:49Z2018-05-09T20:18:49ZGenre autobatch mode<div><p>Hooray!<br>
Now it inserts the STYLE from DIscogs into that 1 track (and 1 track only) that first had ''Electronic'' as GENRE.<br>
Now showing ''Hardstyle''.</p>
<p>Why doesnt it find the other tracks STYLE nor GENRE though?</p></div>infotag:help.beatunes.com,2009-07-24:Comment/451769572018-05-10T11:21:33Z2018-05-10T11:21:33ZGenre autobatch mode<div><blockquote>
<p>Why doesnt it find the other tracks STYLE nor GENRE though?</p>
</blockquote>
<p>Perhaps it fails to look up the Discogs ID. Or there is no suitable master, ... who knows.<br>
I could take a look at the logs, if you ran the analysis on your 10 songs again and right afterwards uploaded them via <code>Help</code> -> <code>Upload Logs</code>.</p></div>hendriktag:help.beatunes.com,2009-07-24:Comment/451769572018-05-10T15:47:32Z2018-05-10T15:47:32ZGenre autobatch mode<div><p>Just uploaded the LOG at 17:43/44.<br>
In this batch I didnt select any in the Analyze options;<br>
except ofcourse the Import Discogs Genre.</p>
<p>I'm now going to do another batch and sent log at 17:46/47.<br>
This batch, same method, different tracks, that all get tagged.</p></div>infotag:help.beatunes.com,2009-07-24:Comment/451769572018-05-11T10:05:00Z2018-05-11T10:05:00ZGenre autobatch mode<div><p>I checked the logs and the problem appears to be the Discogs rate limit.<br>
Discogs allows only ~60 request per minute. beaTunes does attempt to throttle request, but it does not do so very well. This needs to be improved in beaTunes itself.</p></div>hendriktag:help.beatunes.com,2009-07-24:Comment/451769572018-05-11T10:11:33Z2018-05-11T10:11:33ZGenre autobatch mode<div><p>If you want to verify that results do improve for your ten test songs, wait a minute, then open the Get Info dialog for each one of them. For each one, wait until beaTunes has fetched data from the databases. This will cache Discogs responses.</p>
<p>Then run the analysis again.</p></div>hendriktag:help.beatunes.com,2009-07-24:Comment/451769572018-05-11T11:09:31Z2018-05-11T11:09:31ZGenre autobatch mode<div><p>Thanks.<br>
I did (I think) what u suggested, see screencapture here:<br>
<a href="https://youtu.be/2hLMN5kJ44M">https://youtu.be/2hLMN5kJ44M</a></p>
<p>I've waited for each track, till it showed the Album Art (which is the indicator it fetched the data from Discogs, I assume)<br>
Though, not getting any better result.</p>
<p>Upped the LOG at 13:09 / 11-5-2018 again.</p></div>infotag:help.beatunes.com,2009-07-24:Comment/451769572018-05-11T11:12:34Z2018-05-11T11:12:34ZGenre autobatch mode<div><blockquote>
<p>I've waited for each track, till it showed the Album Art (which is the indicator it fetched the data from Discogs, I assume)</p>
</blockquote>
<p>No, it's not.</p>
<p>Turn on the status bar (under the menu `View'). While beaTunes is still looking up data, it displays "Looking up reference data..." in the status bar.</p></div>hendriktag:help.beatunes.com,2009-07-24:Comment/451769572018-05-11T11:22:27Z2018-05-11T11:22:27ZGenre autobatch mode<div><p>Log sent again at 13:16 / 11-5-2018.<br>
This time, with Status Bar set to On (see 2m42s)<br>
Re-did the same method:<br>
<a href="https://youtu.be/V8s0dbVpWPs">https://youtu.be/V8s0dbVpWPs</a></p>
<p>Though not seeing Looking up reference data in a status bar?</p></div>infotag:help.beatunes.com,2009-07-24:Comment/451769572018-05-11T11:25:30Z2018-05-11T11:29:00ZGenre autobatch mode<div><p>I see what the problem is status bar wise;<br>
I had to make the window screen/gui bigger size.<br>
Nevertheless, I'll create a new test video in a bit INCL. status bar.</p></div>infotag:help.beatunes.com,2009-07-24:Comment/451769572018-05-11T11:34:25Z2018-05-11T11:34:25ZGenre autobatch mode<div><p>However, looking at your logs, that's not the issue here. beaTunes does the lookup, but cannot find the corresponding Discogs release for some of your tracks. To avoid problematic correspondences, beaTunes makes an effort to check a couple of parameters, like track count and approximate length. If your track data does not match Discogs well enough, beaTunes will rather say it has not found the matching song than establish a wrong connection.</p>
<p>Check for example your track "Slaves To the Rave (Stunned Guys Remix)" on album "Marc Acardipane: Best of 1989-1997" by "Inferno Bros"</p>
<p>The Discogs master release (<a href="https://www.discogs.com/Marc-Acardipane-Best-Of-1989-1997/master/384519">https://www.discogs.com/Marc-Acardipane-Best-Of-1989-1997/master/38...</a> )for "Marc Acardipane: Best of 1989-1997" has a track "Slaves to the Rave", but it's a different remix. Also, "Inferno Bros" is spelled with a trailing dot: "Inferno Bros."<br>
Unfortunately, I cannot see what tracknumber your version of the track has. On the Discogs album it's 5/14 and the track length is 6:10. What's your track number and song length?</p></div>hendriktag:help.beatunes.com,2009-07-24:Comment/451769572018-05-11T11:34:41Z2018-05-11T11:34:41ZGenre autobatch mode<div><p>v3 test incl. status bar now =):<br>
<a href="https://youtu.be/z2iCHfWHRWI">https://youtu.be/z2iCHfWHRWI</a></p>
<p>Though, the results are the same. just that 1 tune.<br>
Though, it finds reference songs for each and any (?)</p></div>infotag:help.beatunes.com,2009-07-24:Comment/451769572018-05-11T11:42:06Z2018-05-11T11:42:06ZGenre autobatch mode<div><p>See attachment.<br>
I think the data is incorrect, looking at the album art and the corresponding master-release u mentioned.</p>
<p>If u ask me, the album is simply a different one.</p>
<p>Mind you, I have used SongKong aswell on those tracks.<br>
I should re-rip them, keeping the tags intact.<br>
Then only do a Import Discogs Genre with beaTunes.<br>
You agree?</p></div>infotag:help.beatunes.com,2009-07-24:Comment/451769572018-05-11T11:45:58Z2018-05-11T11:45:58ZGenre autobatch mode<div><blockquote>
<p>If u ask me, the album is simply a different one.</p>
</blockquote>
<p>That's what it looks like to me.</p>
<blockquote>
<p>I should re-rip them, keeping the tags intact.</p>
</blockquote>
<p>Re-rip from CD? Note, that In that case the tags don't come from the CD, but from CDDB or FreeDB.</p>
<blockquote>
<p>Then only do a Import Discogs Genre with beaTunes. You agree?</p>
</blockquote>
<p>That may work, but no guarantees.</p></div>hendriktag:help.beatunes.com,2009-07-24:Comment/451769572018-05-11T12:12:15Z2018-05-11T12:12:15ZGenre autobatch mode<div><p>Yep, it seems that makes a difference, see results:<br>
<a href="https://gyazo.com/230f97a0e6195cf31232450373108e97">https://gyazo.com/230f97a0e6195cf31232450373108e97</a></p>
<p>Then again, it's now 2 tracks that get tagged (of the 10).</p>
<p>This plugin stands or falls with the idea in mind of having proper tags set up in the Album, right?</p>
<p>Would it be possible to go for just Artist + Title look up, and fetch whatever it finds (master release if excist, if not, just use whatever Discogs-db has as a result) to have more tracks tagged Style-wise?</p></div>infotag:help.beatunes.com,2009-07-24:Comment/451769572018-05-11T14:01:26Z2018-05-11T14:01:26ZGenre autobatch mode<div><blockquote>
<p>This plugin stands or falls with the idea in mind of having proper tags set up in the Album, right?</p>
</blockquote>
<p>Yes—the matching has to happen somehow. The album name has to at least be similar—beaTunes uses the <a href="https://en.wikipedia.org/wiki/Levenshtein_distance">Levenshtein distance</a> to measure this. Additionally the track duration or the track numbers have to be similar.</p>
<blockquote>
<p>Would it be possible to go for just Artist + Title look up, and fetch whatever it finds (master release if excist, if not, just use whatever Discogs-db has as a result) to have more tracks tagged Style-wise?</p>
</blockquote>
<p>That would require rewriting some of the Discogs code used also elsewhere in the app. Because it affects more than this plugin, I think that would be unwise. Also, Discogs data is oriented around the concept of an "album". Not using it as key will lead to faulty results when dealing with other aspects like track number and release date.</p></div>hendrik