SongKong Jaikoz

SongKong and Jaikoz Music Tagger Community Forum

Songkong and Virtual DJ integration (or not)

Songkong helps me for two different main usages:

  1. I use it to normalize and sort my CD collection once ripped
  2. I use it to classify and remove duplicates in my collection of singles for when I’m (as amateur DJing)
    This being said, as I started a few days ago a large amount of songkong batches (you may have noticed I squated in the forum :grin:), I realized that each time I launched a Songkong batch, I had to rescan and retag my files in Virtual DJ (this takes time, because VDJ also analyse each file to get its BPM + key).

On the other side, Songkong is also analysing and fingerprinting each and every file it processes, and redoing this over and over takes also a lot of time.

If I rename a file in Songkong, Virtual DJ will “lose” it.
If I rename a file in VirtualDJ, Songkong will “lose” it as well.

So I was wondering how I could efficiently synchronize the both software.
The VDJ database is a large .xml file where the filepath stands in clear.

 <Song FilePath="E:\Musique\#1 Albums classés\#1 Validé\[A]\Alain Bashung\Osez Joséphine [1991]\10 - Alain Bashung - Madame rêve.mp3" FileSize="4793645">
  <Tags Author="Alain Bashung" Title="Madame rêve" Genre="Chanson" Album="Osez Joséphine" Composer="Alain Bashung" Label="Barclay" TrackNumber="10/11" Year="1991" Flag="1" />
  <Infos SongLength="290.063673" FirstSeen="1590087838" Bitrate="128" Cover="1" />
  <Comment>, AG# 902357D6</Comment>
  <Scan Version="801" Bpm="0.499172" AltBpm="0.742948" Volume="0.785941" Key="C" Flag="32768" />
  <Poi Pos="0.199206" Type="beatgrid" />
  <Poi Pos="0.182857" Type="automix" Point="realStart" />
  <Poi Pos="285.856508" Type="automix" Point="realEnd" />
  <Poi Pos="0.200000" Type="automix" Point="fadeStart" />
  <Poi Pos="279.800000" Type="automix" Point="fadeEnd" />

If I could get in the Excel spreadsheet issued with each batch two columns: one with the former filepath and one with new one, I would be able to script some script that would update VDJ database from SK output…

What are your thoughts about this?

NB: best thing would have been an API in VDJ but I could’nt find one.

Quick thoughts, I would suggest you dont rename files in SongKong and just do your renaming in VDJ database. From SongKong point of view doesnt really matter if you rename in VDJ since SongKong does not maintain a music library as such. SongKong does cache files in internal library but only for speed of processing, the cache can be cleared out at any time (Empty Database) without affecting anything except Undo Changes

However if you do want to get filenames and metadata into an Excel spreadsheet then i have one solution for you. Install my other application Jaikoz, load your files, then select Advanced:Export Files and this will create an excel spreadsheet, one row per song. You can also edit the metadata and then use Advanced:Import Files to modify the metadata then read back into Jaikzo and save changes (but you’ll need to buy license for that)

I thought SongKong kept a database of fingerprinted files, not to re-fingerprint them when reprocessed.

(I already have a Jaikoz licence, but I find it less useful — for my usage — than SongKong.)

What I would just need is a additional column in Songkong output with “former filepath” and not only the new one.

Fingerprints are stored in the file themselves, as a raw fingerprint in Acoustid Fingerprint (but actual value is not shown in report because long and meaningless), and the Acoustid Id field stores the Acoustid that it is mapped to.

The actual database stores the metadata from each file as it is read from file and timestamp, so subsequent reprocessing of same files only has to read metadata from database rather than file unless it has been modified by other process. It also stores all the changes made by SongKong so that you can Undo Changes made by SongKong and put the file back to how it was before changes.

So every time the filename is changed, this name becomes the filename you had before change ?

I have another seed of an idea:

  • Before make changes run Status Report, then View as Spreadsheet will give you a spreadsheet with filenames
  • Then run Fix Songs, then View as Spreadsheet will give you new names
  • Use these two spreadsheets for your Virtual DJ Logic (somehow)