-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add intelligent phase indicator #5852
Comments
Commented by: raffitea I like the idea. Traktor has such a feature which is called "phasemeter". |
Commented by: rryan Don't think anyone is working on this... |
Commented by: rryan I think this should be in 1.12 now that we have master sync. Any takers? |
Commented by: QuentinFAIDIDE I'll be happy to work on it ! |
Commented by: rryan 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: ericzhang I'd be happy to work on it. Please let me know. |
Commented by: daschuer Cool, what is your plan? Do you have a powerful development environment? 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. 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. 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. There is currently a related PR waiting for review. You see a lot of places to start. :-) If you have some other ideas, fine. |
Commented by: ericzhang 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 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: The plugin already computes the FFT so if you'd like to develop your own approach you could reuse some of that code. Cheers, |
Commented by: daschuer
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 Related: |
Commented by: Be-ing 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
|
Commented by: winko 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. |
Still waiting for this feature (Sorry my development skills will not be of much help otherwise I would do it). To simplify things I just checked on Algoriddim DJ With Dangerous Women By Ariana Grande that has a 6/8 measure. The software still only counts every fourth beat as one bar. Thus maybe having this (and covering most of electronic and pop music) would be better then not having anything and waiting for the perfect solution. Just count every fourth beat as one bar starting at the first beat. Whenever I use other software it helps me a lot when Phrase matching electronic music, since most productions follow the same pattern I know the multiples of 4 8 16 32 and so on beats by now and now when to match the Phrase. |
This (the indicator part, not the auto sync yet) was implement in #13330 and is waiting for review and test, in case you are able to build Mixxx and would like to try it! |
@acolombier thanks for the quick reply. I have not yet built MIXXX but I might try if it helps. What I am really missing in MIXXX is the Bar Count. Counting every bar with a visual number above it starting at 1 for the first Downbeat and bar of 4 beats. Most other DJ software have it and it helps a lot with electronic music. As far as I can see its not in your feature yet right? |
Indeed, bar index annotation is not in the feature, although once the linked PR would be merged, it would be very easy to add in the waveform. |
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.
The text was updated successfully, but these errors were encountered: