BPM detection plugin

Bug #343065 reported by Dafydd Crosby
2
Affects Status Importance Assigned to Milestone
Exaile
Confirmed
Wishlist
Unassigned

Bug Description

A wishlist item is to have a beat-per-minute detection plugin that could fill in the BPM tag of a track. Gstreamer has soundtouch in bad_plugins, which with bpmdetect should take care of business.

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html

My knowledge with Gstreamer isn't so hot, but if someone could point me in the general direction I could probably whip it up myself.

reacocard (reacocard)
Changed in exaile:
importance: Undecided → Wishlist
Revision history for this message
Dafydd Crosby (dcrosby) wrote :

Here's a traceback from the newest version

Traceback (most recent call last):
  File "/home/dafydd/exaile/xl/event.py", line 300, in emit
    cb.function.__call__(event.type, event.object, event.data)
  File "/home/dafydd/exaile/data/plugins/bpmdetection/__init__.py", line 13, in on_play
    track_bpm = pipeline.get_property("detect")
TypeError: object of type `GstPipeline' does not have property `detect'
ERROR : Exception caught!
Traceback (most recent call last):
  File "/home/dafydd/exaile/xl/event.py", line 300, in emit
    cb.function.__call__(event.type, event.object, event.data)
  File "/home/dafydd/exaile/data/plugins/bpmdetection/__init__.py", line 13, in on_play
    track_bpm = pipeline.get_property("detect")
TypeError: object of type `GstPipeline' does not have property `detect'

Revision history for this message
Dafydd Crosby (dcrosby) wrote :

I've got a BPM detection patch that works to a certain extent. Instead of going through Python (which was not correctly linking decodebin and audioconvert), I simply had Python pipe the Bash command in, and then grab the first available BPM data. Of course, this leads to certain problems with songs with multiple tempos. However, we would have to sum all of the results, making the final BPM result disappointingly inaccurate.

I commented out the Python code so that if someone wants to fix that up (instead of using the Bash hack), they can go right on ahead.

Changed in exaile:
status: New → Confirmed
Revision history for this message
Dustin Spicuzza (dustin-virtualroadside) wrote :

I've created a manual BPM counter plugin, see patch in bug 865087: https://bugs.launchpad.net/exaile/+bug/865087

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.