SongKong Jaikoz

SongKong and Jaikoz Music Tagger Community Forum

Contemplating re-tagging my music database (165k Files) with Songkong

Thanks a lot, Paul. The indeed look fine now.
Unfortunately I am not quite at the end of my journey yet and so some questions remain:

  • Is there a way to increase the number of matches in the ‘normal’ fix songs process (without doing a forced album match)?
  • Is there a possibility to create a ‘safe place’ for user comments in the album title. I add a comment that identifies the audio format such as (DSF), (DSF256), (44.1_16) etc. I am aware that SongKong has the possibility to add comments like (HD), but my system is more granular. I would like to keep these comments across the SongKong fix files process. I have stored my files in separate folders for the different audio file types, so if I process one folder at a time I could potentially add them back after the SongKong Process.
  • Maybe a thought for the future. There are a lot of i.e. Tower SACDs, HDTT and Pristine Classical editions that are neither in discogs nor in MusicBrainz. They usually contain works that are in the MusicBrainz database. Having a wizard to populate the tags of the works would make tagging life much easier. In the Roon forum I have labelled this request the ‘works chooser’ wizard.

I am very happy with the support you have given me. I will now do one of the smaller folders and see how that goes. I may be back with questions along the way.

Run it twice should give a few more matches.

For album not matched you could try emptying the artist field that would get probably round the addtional check that is failing. But you only want to do this for albums that have failed to match because removing that information many prevent finding a potential match in first place. Try a test on a single album that is in MusicBrainz to see if works.

One way to do this without having to modify individual albums would be to move songs to a new location as follows, but this would mean throwing away your existing Roon database and starting afresh, I dont know if that is vialbe for you.

  • Run Fix Songs
  • Run Fix Songs ( to get some more matches based on info added first time round)
  • Run Rename Files to move matched album s to a new location
  • Run Metagrater on unmatched songs to remove value of artist and sort artist fields
  • Run Fix Songs again
  • Run Rename Files to move newly matched albums to a new location
  • Add to Roon

You could add Album to the Only Modify these fields if empty option to the Format tab but then incorrect album titles would not get corrected,

image

Otherwise you could do the approach you suggest and make use of the AutoEdit Find and Replace task as follows

image

So this is a Roon question rather than a SongKong question or have i misunderstood you?

Not really a Roon question, but a function request that could be fulfilled through Roon or through SongKong. I am not holding my breath that Roon will do anything about it. So I am asking you whether such a ‘works chooser’ wizard could be a future functionality of SongKong to manually populate Works information in unidentified Albums.

So you mean manually be able to select some tracks and say these are part of same work and then have SongKong add the relevant work and movement fields?

Yes exactly:

  • select four tracks which form the movements of Mahler’s first symphony
  • open the wizard and select Mahler’s first symphony from a list
  • have Songkong populate the track titles with the correct movement names, Work and Part tags to the files

I am aware that this only works if the work is split the same way as it is in the MusicBrainz database.

Same for manual population of artist, conductor, orchestra, composer tags by selecting from a list. Songkong would then populate the tags and the sort tags. This would eliminate spelling errors and accelerate the tagging process significantly. Maybe that is already possible? I haven’t looked at SongKong’s manual tag entry yet.

jRiver has s similar functionality. When the name of an artist is entered it offers predictions with names that have already been used in the tags of the library. This is good, but only ensures consistency within my own library, not consistency vis a vis a standard such as MusicBrainz.

These are things I have wished for in the past when manually tagging my large classical library.

Ok, so actually you are actually asking SongKong to match some tracks to a work on MusicBrainz (when it hasn’t been done as part of an auto tag to an album) I thought you wanted to derive it from existing song title. Now the good news is it almost does this already.

SongKong groups songs into logical groups, primarily by folder but also by metadata to try and decide what is an album and then matches all the songs to a MusicBrainz/Discogs album. Now sometimes it can accurately identify (some of the) songs (usually via acoustids linked to MusicBrainz recordings) but cannot find an album that matches for all songs. In such cases it matches MusicBrainz Song Only, this means it links to the MusicBrainz Recording Id and modifies fields such as Artist and Title but not fields that would differ based on the album such as Album Artist, Album and Track No. Because we are making the assumption that the correct album is not in MusicBrainz or Discogs so what we dont want to do is match to other incorrect album(s).

But I took a look at a MusicBrainz Song Only match and it also adds any MB Recording Work linked to a recording (this MB work is usally actually the Movement) and then the MB Work if the MB Recording Work is part of a larger Work.

Here is an example from your FixSongsReport00018:

What it doesnt do is fill in the generic Work/Movement fields because we do this later when deciding if the whole release is a Classical release because we can do a better job when we consider the whole album rather than songs one at a time.

So what you could do is use a tagger such as Jaikoz to bulk copy MB Work to Work and MB Recording Work to Part when the Work and Part fields do not already have values, and this should get you further there quite painlessly. See here for an example of this type of edit.

I think having the Manual Editor search for MB Works might be useful but in alot of cases if the MB work can be found it is probably already added to the song via autotagging. The idea for looking up artists fields from a list generated by MusicBrainz could be nice but SongKong speciality is really Autotagging from online sources and automating editing tasks over whole collection (e.g Rename Files/Auto Edit/Delete Duplicates). I don’t really believe it should be necessary to do that much manual editing and for that reason and with limited resources manual editing is not the focus of attention, Jaikoz is better for adhoc manual editing.

I hadn’t thought of using Jaikoz in my workflow, but of course you are right. The tagging for works, parts and people I mentioned in my last post usually applies to one album only, so Jaikoz is the right tool to use.
If we assume that a recording has not been autotagged by SongKong, could I get the works and parts tags from the MusicBrainz database through Jaikoz manually?
Same for artists, orchestras, composers and their sort equivalents?
I think we’re getting there :grinning:

To my surprise, the Alban Berg example you quoted was correctly identified by SongKong, so no more work needed there, even though it is an esoteric SACD.
I then chose a Tower SACD by Karel Ancerl which does not exist on MusicBrainz, of which SongKong identified three tracks. I then opened it in Jaikoz and sent you both the SongKong and Jaikoz support files.
It’s from this point I would like to be able to add tags based on the MusicBrainz database.

Okay so Karel Ancel is playing a work by Brahms, and if you look at the list of works created by Brahms they are in German, unsurprisingly because he is German

image

So the name is not going to match up with the English translation of the work on the album in your existing title metadata

So actually isn’t it better if we could just derive the work and parts from the title. We already do this in conjunction with the mb work when an album is matched but you need a way to do it manually, or maybe we could have a task Derive Work and Part from Title

Not currently.
But what you can do in Jaikoz and SongKong is just force a match to a particular album in MusicBrainz so if the album is in Musicbrainz thats all you need so need to manually edit.

So for works wopuld only possibly be useful if work is in Musicbrainz but album is not.
For artists ectera you could generate an artist list base don musicbrainz, or base it on what you currenlty have in yor music database which might be better because if you use MusicBrainz list you could have alot of similar but wrong names that are not what you have.

Actually I would much prefer to have the work and movements titles in the mother tongue of the composer, German for Brahms.
But I can see that that is only good for me (being a German native speaker). If all my Tchaikovsky works and movements were in Russian and Cyrillian, that would be difficult for me. Luckily Musicbrainz’ entry for Tchaikovsky’s 6th is in english:

Musicbrainz even offers a link to the allmusic entry.

The english name for the composer comes up with a mouse over. So that seem available in english as well.

This is what jRiver does. As soon as you start writing an artist name, it presents a drop down list of all names in the library which becomes smaller as more characters are entered.
The charm of doing this in a semi automated way would be that the sort fields could be populated at the same time.

That would be a help, but does not resolve the issue that in order to do this you need to refer back to a master database and the master database in MusicBrainz is in several languages.
I think the works and parts in allmusic are translated to english, but afaik that database is not accessible to outsiders, only Roon can use it.

No I just mean derive from title, if first song is Brahms: Symphony No.1 1st Movement and the 2nd song is Brahms: Symphony No.1 2nd Movement as i example i could derive

WORK: Symphony No.1
PART1:1st Movement
PART2:2nd Movement

which is what Roon needs

Yes it is https://musicbrainz.org/work/15e0a721-5332-3452-8a56-e00af7b9e4ca but I think that how it was known at time, they are not always in English.

So artist is an entity in its own right and notably has an alias tab

This can used to store variations of the name in different languages

So by default when an artist credit (this can be artists, composer, conductor) on the release is in a non latin script such as Cyrillic we look for a latin script (usually English) alternative instead, but only if the Romanize non-Latin script artist names whereever possible is enabled

If we disable the option then it will use the Cyrillic name (if Cyrillic on the album)

I have given the pros and cons of a MusicBrainz based wizard support for manual tagging some more thought over dinner and coffee and I can see no negative aspects.
If the data quality and data selection algorithm are sufficient for auto tagging by SongKong, then they should also be sufficient for a wizard that gets suggestions from MusicBrainz. An identified album that contains Brahm’s 1st Symphony will populate the same metadata as a wizard based selection of Brahms’ 1st Symphony tagged to an unidentified album. Both will be in German (I think) and both should be identical.
Same is for artist, composer etc, names as long as the names in MusicBrainz are unique.
I can potentially do something similar using jRiver. jRiver lets you save a selection of tags to memory and then paste them to another set of tracks. Only condition is that the number of tracks is identical. So I could take an album containing Brahms’ 1st Symphony that was autotagged by SongKong and paste its tags to the unidentified 4 tracks. That way I should get exactly the same tags as in the autotagged album.
I think a wizard would be significantly more user friendly, as I could work on the different parts of an unidentified album and not have to refer back and forth to an identified album and do copy / paste.
Just a suggestion for maybe future functionality of Jaikoz.

This looks interesting:
picard-plugins/plugins/classical_extras at master · MetaTunes/picard-plugins · GitHub
Might be close to what I am looking for, but it is from 2017 unfortunately.

Jaikoz does have an export/import to spreadsheet feature that can be used to copy metdata from files to different files.

We already have a Musicbrainz based manual tagger in Jaikoz that allows you to search for tracks rather than albums and pick from a list of potential matches so this would be worth trying Action:Remote Correct:Manual Correct Metadata from Musicbrainz

Because if the work is in the database it is almost certainly going to have each movement linked to a track on another release, so by matching song to song on that release you will get the work data.

1 Like

I think this just extracts additional classical metadata when picard matches an album. This will not help because you want to make use of MusicBrainz work data when no matching release is available.

I have looked at Jaikoz, and at the moment I am a bit overwhelmed by the sheer amount of information in the UI. So a basic question for starters.
If I enter a MB ID in one of the fields in the MusicBrainz tab, does Jaikoz actively go an retrieve the information from MB and populate the ‘normal’ fields such as artis and artistsort or composer and composersort? I have not been able to achieve this by entering MB ID codes into the MB fields.
I have given Action:Remote Correct:Manual Correct Metadata from Musicbrainz a try. That works if the tracks have an acoustic fingerprint that allows a link to other recordings, but in my case of the Ancerl the Brahms Symphonies do not have a fingerprint. The easiest alternative I have found is to copy / paste the works information from MB or allmusic into a text file and then import this into the track title and the works and parts tags e.g. via mp3Tag. Roon identifies the works immediately when the album is rescanned.

Sinfonie Nr. 1 c-Moll, op. 68 - I. Un poco sostenuto – Allegro
Sinfonie Nr. 1 c-Moll, op. 68 - II. Andante sostenuto
Sinfonie Nr. 1 c-Moll, op. 68 - III. Un poco allegretto e grazioso
Sinfonie Nr. 1 c-Moll, op. 68 - IV. Adagio – Allegro non troppo, ma con brio
Tragische Ouvertüre, op. 81
Overture “Leonore” no. 3 in C major, op. 72b
Sinfonie Nr. 2 D-Dur, op. 73 - I. Allegro non troppo
Sinfonie Nr. 2 D-Dur, op. 73 - II. Adagio non troppo
Sinfonie Nr. 2 D-Dur, op. 73 - III. Allegretto grazioso (quasi andantino)
Sinfonie Nr. 2 D-Dur, op. 73 - IV. Allegro con spirito
Concerto for Violin, Cello, and Orchestra in A minor, op. 102 “Double Concerto” - I. Allegro
Concerto for Violin, Cello, and Orchestra in A minor, op. 102 “Double Concerto” - II. Andante
Concerto for Violin, Cello, and Orchestra in A minor, op. 102 “Double Concerto” - III. Vivace non troppo

This works ok and is actually quite quick once it has been done a few times.
Interesting sidenote. MB does not stick to the composer’s native language in the names of works. Brahms’ symphonies are called ‘Sinfonie’ in German, his double concerto is ‘Double Concerto’ in English. It is really a pity that structuring music info was never standardised like books have.

Your jThink suite goes a long way to overcome many of the shortcomings of MB (the artist / composer issue being one of them). You deserve much more appreciation for this than you get. THANK YOU.