[Edit: Solved. see message bottom]
Does someone have an experience with using this script to BPM tag Flac or Ogg files ? I am refering to BPM mixmeister that does not support these codecs.
It looks like it just can do that but I seem to have a hard time finding my way around the logic.
So far, I copied all my flac and ogg files with a quick mp3 preset, analyzed them with MixMeister (which filled the BPM field in metadata). I created a filter in library, so to have only duplicate tracks to work with.
I understand that I can delete the mp3 files and transfer playlists and play history but I'm not sure about the BPM field. I created an "auto action" with a shortcut to copy the field but I can't see how or where to launch it. Do I need to use the suggestion nodes and copy paste ? I can't get a many-to-many or list-to-list option... I certainly don't understand well the script UI.
This script is so great and can do so much that I doubt it has any equivalent anywhere. If someone could enlighten me on how to use the meta data transfer, that would help. So far I'm stuck in the interface and it is obvious that it's me not getting it.
Thanks again for this nifty app. After making duplicate management a breeze, It seems to be on the way to help add BPM to lossless audio in MediaMonkey
I can confirm that this script can indeed be used along MixMeister BPManalyzer to populate Bpm tags on Flac and ogg files. I failed at first, for not understanding how the script works. As a result, I was attempting to copy/paste tags from one set of file to a DIFFERENT set. The reason the two sets of files were different was that some duplicates were >2 entries.
Once I got rid of all dupes above 2, the script managed to transfer bpm information from 5.000 mp3 files to their flac and ogg versions in 20 minutes, on a 3.5ghz i7 computer, MM database (630MB) in ram.
Here's the detailed* process for those interested. This reflects my limited experience with this script and BPM tags. Feel free to improve on it, there certainly is room for it
If you don't have a tool to analyze Bpm, MusicMeister BPManalyzer is free but supports only mp3. It supports drag and drop from windows explorer, hence from MediaMonkey. Alternatively, you can add the program to the "ExternalTools" script
- Backup MM. db file.
- Optional : I like to change the Sql performance setting, as documented here
to 0 or 1 before using intensive sql queries like the ones involved here :
- Code: Select all
- Copy files to analyze in mp3 format, using a dedicated (temporary) root folder. Pick the quickest/lowest space setting, as long as the tool is still able to perform an accurate analysis.
- Have MM monitor this folder and subfolders. Alternatively, just add the folder to the library after analysis in next step.
- Select all flac/ogg files without bpm and drop them into MixMeister analyzer. Note that this will use only one core with hyper threading; if you have several thousands of files to analyze and want to speed up the process somewhat, you might gain some time by splitting the list among several instances with different cpu affinities. When I bpm-analyzed 100k+ mp3 files, I networked 4 computers with a gigabit router and had them use all their cores. That got some heat in the room but finished the job overnight.
- Set up a library filter including only flac and ogg files + temporary mp3 copies.
- Use ADFF with that filter on. Create an auto-action to transfer only BPM meta-information and delete from library without confirmation.
- Start searching for dupes >= 3. In delete suggestion nodes, copy bpm tags from the Mp3 files. In keep suggestion list, make sure you have the same number of files and paste.
- Do the same thing searching for >=2 dupes. You should have the same number of files in the delete and keep lists, which will allow to copy and paste.
On long lists, MM 3.2 behaves like it's hanged while the script is running. It's not. Windows task manager (or process explorer) will monitor process activity and show that it's just working, just failing to update its GUI. In case of crash, the db file will be updated to the point before the crash and the process can be resumed from where it stopped. This is of course unless the computer itself crashed, in which case the SQLiteSafety setting might have consequences to investigate. Don't forget you need a db backup, in any case before messing with this setting.
- After the script is finished, re-run a dupes search; should return empty. Check missing bpm information as well, there should be none.
- mp3 dummy files have been deleted from library but not from disk. Get rid of the root folder.
- Reset mediamonkey.ini to SQLiteSafety 1 or 2, unless you like the improved behavior (I do) and can live with database corruption (timely backups).
- Delete the new library filter, unless you plan to need it again.
- Perform a db maintenance.
- update db backup.