Skip to content
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

Second Qm rounding fix #2112

Merged
merged 9 commits into from
May 16, 2019
Merged

Second Qm rounding fix #2112

merged 9 commits into from
May 16, 2019

Conversation

daschuer
Copy link
Member

@daschuer daschuer commented May 13, 2019

Here is another rounding fix.

It works really great now. All my test sine files are now only at the center bin, as expected.
This was not the case before.
Almost all tracks are always detected on a center bin as well. Exceptions are passages with vocal and drum solos, which is IMHO the expected result.

I have expetional tracks though. One of these interesting tracks is:
Moby - Bodyrock (Olav Basoskis Da Hot Funk Da Freak Funk Remix)
https://www.youtube.com/watch?v=oDJ35h_0xWs

It is detected as G Major. Played together with an other G Major track is sounds badly off pitch. So I guess it is. See below. With this fixed algorithm, we have a chance to evaluate the quality of the detection and remove the key value from such a track. I like the idea, instead of consider it compatible to any other track. In the case of this Moby track I would brefere to make it as off pitch.
What do you think?

fractional key pre-sorting: 2.33333
fractional key pre-sorting: 22
fractional key pre-sorting: 10
fractional key pre-sorting: 8
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 8
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 20
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 13.3333
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 20.3333
fractional key pre-sorting: 2.33333
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 9.66667
fractional key pre-sorting: 9.66667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 9.66667
fractional key pre-sorting: 9.66667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 9.66667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 9.66667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 24
fractional key pre-sorting: 19
fractional key pre-sorting: 19
fractional key pre-sorting: 19
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 18.3333
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 9.33333
fractional key pre-sorting: 18.3333
fractional key pre-sorting: 9
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 23
fractional key pre-sorting: 23
fractional key pre-sorting: 23
fractional key pre-sorting: 23
fractional key pre-sorting: 23
fractional key pre-sorting: 11
fractional key pre-sorting: 11
fractional key pre-sorting: 11
fractional key pre-sorting: 6
fractional key pre-sorting: 6
fractional key pre-sorting: 22.3333
fractional key pre-sorting: 23
fractional key pre-sorting: 23
fractional key pre-sorting: 23
fractional key pre-sorting: 23
fractional key pre-sorting: 23
fractional key pre-sorting: 23
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 2
fractional key pre-sorting: 1.33333
fractional key pre-sorting: 1.33333
fractional key pre-sorting: 18
fractional key pre-sorting: 18
fractional key pre-sorting: 18
fractional key pre-sorting: 1.33333
fractional key pre-sorting: 23
fractional key pre-sorting: 11.3333
fractional key pre-sorting: 1.33333
fractional key pre-sorting: 1.33333
fractional key pre-sorting: 15.3333
fractional key pre-sorting: 15.3333
fractional key pre-sorting: 15.3333
fractional key pre-sorting: 15.3333
fractional key pre-sorting: 11.3333
fractional key pre-sorting: 10
fractional key pre-sorting: 10
fractional key pre-sorting: 10
fractional key pre-sorting: 10
fractional key pre-sorting: 10
fractional key pre-sorting: 10
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 3
fractional key pre-sorting: 24
fractional key pre-sorting: 24
fractional key pre-sorting: 3
fractional key pre-sorting: 3
fractional key pre-sorting: 3
fractional key pre-sorting: 3
fractional key pre-sorting: 3
fractional key pre-sorting: 3
fractional key pre-sorting: 3
fractional key pre-sorting: 3
fractional key pre-sorting: 3
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 3
fractional key pre-sorting: 8
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 8
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 9.66667
fractional key pre-sorting: 9.66667
fractional key pre-sorting: 18.6667
fractional key pre-sorting: 18.6667
fractional key pre-sorting: 9.66667
fractional key pre-sorting: 18.6667
fractional key pre-sorting: 9.66667
fractional key pre-sorting: 9.66667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 16.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 7.66667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 0.666667
fractional key pre-sorting: 0.666667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 21.6667
fractional key pre-sorting: 14.6667
fractional key pre-sorting: 0.666667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 23.6667
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 3
fractional key pre-sorting: 3
fractional key pre-sorting: 3
fractional key pre-sorting: 3
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 3
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 3
fractional key pre-sorting: 9.66667
fractional key pre-sorting: 8
fractional key pre-sorting: 9.66667
fractional key pre-sorting: 8
fractional key pre-sorting: 3
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8
fractional key pre-sorting: 8.33333
fractional key pre-sorting: 8.33333
fractional key pre-sorting: 8
fractional key pre-sorting: 3
fractional key pre-sorting: 3
fractional key pre-sorting: 3
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 13.6667
fractional key pre-sorting: 20.3333
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 20.3333
fractional key pre-sorting: 20.3333
fractional key pre-sorting: 2.66667
fractional key pre-sorting: 13.3333
fractional key pre-sorting: 13.3333
fractional key pre-sorting: 13.3333
fractional key pre-sorting: 8
Debug [AnalyzerThread 0 #2]: SoundSourceMP3 - Retry decoding MP3 frame @ 16987392
Debug [AnalyzerThread 0 #2]: SoundSourceMP3 - Recoverable MP3 frame decoding error: lost synchronization
Debug [AnalyzerThread 0 #2]: Key Detection complete
Debug [AnalyzerThread 0 #2]: Key Histogram
Debug [AnalyzerThread 0 #2]: 2 : "D♭" 950272
Debug [AnalyzerThread 0 #2]: 3 : "D" 4.9152e+06
Debug [AnalyzerThread 0 #2]: 6 : "F" 65536
Debug [AnalyzerThread 0 #2]: 8 : "G" 5.12653e+06
Debug [AnalyzerThread 0 #2]: 9 : "A♭" 819200
Debug [AnalyzerThread 0 #2]: 10 : "A" 655360
Debug [AnalyzerThread 0 #2]: 11 : "B♭" 360448
Debug [AnalyzerThread 0 #2]: 15 : "Dm" 262144
Debug [AnalyzerThread 0 #2]: 17 : "Em" 2.75251e+06
Debug [AnalyzerThread 0 #2]: 19 : "F♯m" 294912
Debug [AnalyzerThread 0 #2]: 22 : "Am" 327680
Debug [AnalyzerThread 0 #2]: 23 : "B♭m" 131072
Debug [AnalyzerThread 0 #2]: 24 : "Bm" 294912


// std::cout << "fractional key pre-sorting: " << (maxBin + 2) / 3.0 << std::endl;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Uncomment this for the fractional key debug output.

Copy link
Contributor

@uklotzde uklotzde left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With those changes the key_rounding.patch becomes obsolete and should be deleted.

What's our strategy to synchronize these changes with upstream or has the development stalled and no future changes are expected?

@@ -33,8 +33,8 @@ int Chromagram::initialise( ChromaConfig Config )
m_BPO = Config.BPO; // bins per octave
m_normalise = Config.normalise; // if frame normalisation is required

// No. of constant Q bins
m_uK = ( unsigned int ) ceil( m_BPO * log(m_FMax/m_FMin)/log(2.0));
// No. of constant Q bins, extended to a full cotave
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typo

const double real = cos(angle);
const double imag = sin(angle);
const double absol = hamming(hammingLength, i)/hammingLength;
hammingWindowRe[ origin + i ] = absol*real;
hammingWindowIm[ origin + i ] = absol*imag;
}

/* This code splits the hanning widow and moves it to the beginning
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 typos

@@ -268,8 +268,10 @@ int GetKeyMode::process(double *PCMData)
// m_Keys[1] is C center 1 / 3 + 1 = 1
// m_Keys[4] is D center 4 / 3 + 1 = 2
// '+ 1' because we number keys 1-24, not 0-23.
key = MathUtilities::getMax( m_Keys, 2* m_BPO, &dummy ) / 3 + 1;
int maxBin = MathUtilities::getMax( m_Keys, 2* m_BPO, &dummy );
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now it's obvious 👍

@daschuer
Copy link
Member Author

With those changes the key_rounding.patch becomes obsolete and should be deleted.

Oh yes, I need to update the patch.

What's our strategy to synchronize these changes with upstream or has the development stalled and no future changes are expected?

I have published the patch upstream, and on GitHub. I gut no response so far. There is also an other unmerged pending patch with no responds. I guess, we can considder the development stalled.

@Be-ing
Copy link
Contributor

Be-ing commented May 14, 2019

The last upstream commit was on May 1 and there were more commits in February this year, so I wouldn't consider upstream development stalled yet. It has only been a few days since the upstream PR was opened. In the meantime, keeping a patch in our repository is fine.

@uklotzde
Copy link
Contributor

uklotzde commented May 14, 2019

2018-05-01, last year.

I don't see any significant progress since their last release in 2015:
https://code.soundsoftware.ac.uk/projects/qm-dsp/repository/revisions

@uklotzde
Copy link
Contributor

Only build fixes. No new features, no bug fixes.

@daschuer
Copy link
Member Author

Done.

@uklotzde uklotzde added this to the 2.3.0 milestone May 15, 2019
@uklotzde
Copy link
Contributor

LGTM. Thanks for working on this tricky DSP code!

If the changes are not merged upstream we might think about forking the entire qm-dsp stuff and delete all files that we don't need.

@uklotzde uklotzde merged commit f5d7e7d into mixxxdj:master May 16, 2019
@uklotzde uklotzde mentioned this pull request May 16, 2019
@daschuer daschuer mentioned this pull request Jun 2, 2019
@daschuer daschuer deleted the qm-rounding-Fix branch September 26, 2021 17:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants