-
-
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 analyser support for stem #13106
Add analyser support for stem #13106
Conversation
b0c7be0
to
8b03210
Compare
8b03210
to
eee4565
Compare
da6f983
to
97cb238
Compare
This comment was marked as outdated.
This comment was marked as outdated.
I think there's no need to support the Serato format, because it's only used for Seratos internal caching. We don't know if they store additional metadata in their library. |
97cb238
to
87b5659
Compare
87b5659
to
036015c
Compare
036015c
to
8923656
Compare
Can you rebase that onto main? |
19cf8c2
to
2445443
Compare
37eef7a
to
021f5b5
Compare
1b5d009
to
1a090a4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The first eatDetectionSettings::StemStrategy settimg alters the analyzer results and shall therefore also be part of the analyzer metadata so that we can later deal with existing analysis of alpha testers. To not put extra work on you for this intermediate solution, it would be also OK to disable or hide the feature to now.
How are existing analysis treated by the way? They have been probably done from the stereo downmix. Do we need to deal with it?
Is that already supported for the others beats and key settings such as the algorithm used for either? If yes, happy to add this as part of that PR too as well. |
For beats, it is implemented here: mixxx/src/analyzer/analyzerbeats.cpp Line 181 in 5ced2de
I am not sure if we have similar for keys. |
AFAICS, this is only taken protobuf serialisation version into account, this doesn't invalidate analyses with different settings. Or am I missing something? On a side note, I'm just wondering, do we want to invalidate older analyses upon analyser changes? I'm thinking it actually sounds wrong since you may want to change your settings temporarily (e.g with our use case, to analyse a non compliant stem) without invalidate other valid analyses. In case you wanted to redo the analyses you always get the option to do so in the context menu. Wdyt? |
We already have a preference option for this:
But anyway, can we postpone all this and merge this with the unoptimized Analysis? In case of beats we have the const and the non const detection and version numbers. We must not automatically reanalyze a track, because beat markers may shift away from the cue points, which may creates surprising effects when mixing. I think we should optimize this workflow:
I think we should not recommend to alter the preference options to fix single tracks. |
Yeah that's fine - I'll hide the option in the setting, so I can still use it via config file, if that's okay with you.
Do you think that
Agreed - but this is currently how you would deal with tracks needing different options (e.g key plugin). It is suboptimal, but reworking the whole flow is an entire feature so I guess that workaround remain the only way, and thus we should still take it into account. |
Yes that's fine. The preferences pane needs anyway some love.
For the vast majority of the tracks the optimized analysis will be the best option. Unfortunately we need to deal with the exceptions.
Yes. Since it should work without optimization, postponing is a good idea. I see the following solution/iterations:
Does that work for you? (I don't want to put the work on you, just plan possible steps) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you. LGTM. Please give a hint when I can press merge
@JoergAtGithub is there something open form your review? |
All good from my end @daschuer |
Yes all is fine now! Thank you very much! |
Make analysers compatible with multi channel and use the best channel for specific features.
As per the NI spec, the first stem is always the drum or rhythmic channel.
This means that:
All other analyser perform a stereo mix, except if multichannel is supported internally.
Finally, the waveform analyser will gather EQ samples for the mixed track and per-stem samples.
Depends on #13070