Open mixxxbot opened 2 years ago
Commented by: raffitea Date: 2011-04-07T10:38:18Z
I like the idea. Traktor has such a feature which is called "phasemeter". The feature is especially useful in skins where the waveforms are not on top of each other like the "Deere skin".
Commented by: rryan Date: 2014-01-13T22:04:03Z
I think this should be in 1.12 now that we have master sync. Any takers?
Commented by: rryan Date: 2014-03-31T18:08:34Z
The bug description sounds like Bug #888810 but Tobias's comment in #1 is referring to the sync offset. Now that we have master sync I think visualizing your "offset" from the master is quite useful if your beatgrids are correct. This will also visualize what the "quantize mode" sync adjustment of master sync is doing.
Commented by: daschuer Date: 2015-12-16T07:40:05Z
Cool, what is your plan? Do you have a powerful development environment? This link should help to set one up. http://www.mixxx.org/wiki/doku.php/bugfix_workflow
Here some ideas:
To solve this bug, we need a bunch of smaller changes in Mixxx.
We need a way to store downbeats in our BeatGrid and BeatMap classes. Please keep in mind that only "most" music has a 4/4 measure.
We need a way to render downbeats on the waveform.
We need to investigate if the is a way to detect downbeats (bars).
I think the code is in place to detect the phase offset between beats. You may extend this to get the downbeat offset.
The phase indicator widget, can base on the slider widgets. This can connect to a new phase ControlObject. Unfortunately we need a high update rate for this, similar to the spinny or the Waveform display. So you may consider to integrate the phase indicator to the spinny or the waveform.
A GUI Mockup could be helpful to discuss, a scribble with you favorite drawing tool would be fine.
We need a method (workflow) to add the downbeat infos to the track metadata.
It would be great, if we where able to add an auto downbeat detection. So a research about it would also help a lot.
There is currently a related PR waiting for review. https://github.com/mixxxdj/mixxx/pull/812 Reading this will help to get into the code. And I would be happy about any comment and test.
You see a lot of places to start. :-)
If you have some other ideas, fine. Just ask, so that we can give you a helping hand.
Commented by: ericzhang Date: 2015-12-19T18:37:32Z
Cool, I have done beat and tempo detection, though I need to use the FFT so it will probably need some sort of FFT library to be incorporated. I've worked with Xcode in OSX.
Due to other incoming commitments I'm not sure how much time I have to work on this, but I'll keep you posted.
Commented by: rryan Date: 2015-12-20T03:32:10Z
Hi junglistric -- BTW we have a "bar and beat tracker" algorithm checked into our codebase from the Queen Mary university which could be used as a starting point for a phase meter:
https://github.com/mixxxdj/mixxx/blob/master/vamp-plugins/plugins/BarBeatTrack.h
We don't currently use it, so part of the work would be to run that analysis as part of our "analyzer queue" and then plumb the results of the analysis into other parts of Mixxx (i.e. the UI for display and the master sync code to inform synchronization).
The algorithm is described here: http://vamp-plugins.org/plugin-doc/qm-vamp-plugins.html#qm-barbeattracker
The plugin already computes the FFT so if you'd like to develop your own approach you could reuse some of that code.
Cheers, RJ
Commented by: daschuer Date: 2015-12-20T10:04:13Z
Due to other incoming commitments I'm not sure how much time I have to work on this, but I'll keep you posted.
Don't stress yourselves. We can merge your work whenever it is finished.
To answer you original question: libfftw3-double3
Mixxx is already linked to it via rubberband. However using an established QM plug-In seams to a good approach.
Commented by: daschuer Date: 2017-05-25T22:18:53Z
Related: https://bugs.launchpad.net/mixxx/+bug/888810 https://bugs.launchpad.net/mixxx/+bug/1114505 https://bugs.launchpad.net/mixxx/+bug/1128005
Commented by: Be-ing Date: 2017-05-26T06:16:25Z
As far as I can tell there are no libraries available that implement beats-per-measure detection. Without that, a phase indicator would have to assume a number of beats per measure (4 would be the most sensible default), which would inevitably be wrong sometimes. If we cannot automatically detect the beats-per-measure, we could at least implement a way for users to manually define that for a track.
Commented by: Be-ing Date: 2017-05-26T06:18:57Z
The Queen Mary Bar and Beat Tracker algorithm takes the beats-per-bar as a parameter; it does not compute that.
Commented by: winko Date: 2018-12-20T18:48:45Z
As a DJ I would love to see the number of beats (beat-grid lines) that I spin forward or backwards from the moment that I start spinning forward or backwards. It would be nice to see the number in the center of the spinners section (+# or -#). Because it would make mixing process so much easier and faster as you don’t have to worry about counting beats, while there so many other things going on.
I'd like to support the idea. It would simplify mixing and setting hot cues a lot especially for beginners like me. E. g. DJuced has such a feature.
Reported by: esbrandt Date: 2011-04-07T08:49:43Z Status: Confirmed Importance: Wishlist Launchpad Issue: lp753301 Tags: beatgrid, easy, sync, weekend
Our Sync button syncs only the tempo, but not the phase. While this is a separate issue you can currently only adjust the phase of two songs by ear until the beats are aligned. This is not beginner friendly.
Mixxx misses an intelligent phase indicator (4/4 beat indicator) that indicates where a song is in a 4/4 beat measure. This would add a visual reference for syncing tracks.
A simple (pseudo) way of doing this now would be to draw every 4th line of the beat grid different/thicker than the rest.
The option to have a separate phase indicator widget would be nice though.