Hi all! The beets-bpmanalyser plugin will help you with all those songs that you don’t have tempo(bpm) information on. It scans your songs with the aid of aubio and calculates the average tempo(bpm) value for them, storing it into your library and/or on your mediaFiles.
The first release is up and working. It is also published on PyPi so you can just do: pip install beets-bpmanalyser
Activate and configure the usual way.
Note: Automatic tagging during import is not yet implemented so for now you will have to call the command manually.
Amazing!! So i tried to set this up and im getting an error… python/3.7.6_1/Frameworks/Python.framework/Versions/3.7/lib/python3.7/concurrent/futures/thread.py", line 128, in __init__ if max_workers <= 0: TypeError: '<=' not supported between instances of 'str' and 'int'
Is there any chance you can you can open an issue on github for this? The forum is not the best place for assisting you in this. Also, you need to tell me how to reproduce this error. I have a pretty good idea of what’s going on and how to help you but I need a little more detail.
No, I haven’t tried it yet. I just like installing the whole official package from one source – the core application and plugins – to avoid a Frankenstein. So I thought your creation deserved to be included along with the BPM plugin.
It might happen at one point. Who knows. But it is not the sort of plugin many people need so maybe it is better to keep it external to the core application. Only time will tell. But thanks for the appreciation of the idea. Have a go at it! And once you don’t need it just uninstall it. That’s what’s good about plugins.
This looks great, having problems getting it installed though.
Initially received an error related to not having C++ 14, so I installed MSVC v140 - VS 2015 C++ build tools (v14.00). That seemed to resolve the errors related to that but now I’m getting a series of additional errors related to aubio install. I tried installing Aubio directly and receive the same error.
Hey @philo! Yeah, that’s a mess! Unfortunately, this is an aubio issue and I do not know what is going on. From your pastebin it looks like your C++ linker is complaining about some missing files when trying to compile aubiomodule. I would suggest to open an issue for aubio - I am sure they will be able to help. I also saw that there are the compiled binaries of aubio on the website. You might try installing them and then retry installing the aubio bindings for python. I hope you get this sorted out.
I just read the github repo and your plugin “Going Running” and its iust amazing and exactly what I was looking for. I was selecting tracks manually and thats tedious! Right now I am in the process of getting bpm tag updated, but I cant wait
I’m wondering about the following.
I had to stop the process of tagging my collection halfway. So part of my collection is now without BPM info, part is tagged with AcousticBrainz BMP info en part is tagged with BPMAnalyzer BPM info.
Is there a way for the plugin to recognize which tracks have a BPM set by your plugin so that running the command only sets BPM for the tracks that have a BPM set with AcousticBrainz or are without a BPM?
So that I don’t have redo the whole process -f on my whole collection. Because My estimate is that it will take 24-36 hours.
unfortunately no. the only information the plugin generates and stores is the value of the bpm field. So there is no way to distinguish between if the bpm value you have on an item comes from the plugin itself, from AB or from anywhere else.
Why do you want to reanalyse all your songs? Do you have reasons to think that the AB values are off?
One thing you could do at this point if you are planning to re-analyse all your library is to set all bpm values to zero. so even if you have to interrupt in the middle you can just re-run without the --force flag and it will continue where it left off