2.5.3 release newspost - #406
Conversation
|
The preview seems unfinished. The suggestions have to been applied yet |
|
Maybe there are still "pending"? You need to request changes with the green button at the top right in "Files changed" tab. |
jclsn
left a comment
There was a problem hiding this comment.
Some improved formulations and technical accuracy.
Thank you @jclsn |
Thanks. |
|
please resolve the conflicts though. It seems you've based this branch on quite an old commit |
Done. Strange, I fetched & pulled. |
|
Looks good! |
| To summarize, Mixxx plays the song by following the signal on the timecode media, which gets internally converted to actual timeframes via a lookup table (LUT). | ||
| So the DJ controls the playback of the digital music by manipulating vinyl or CDs. | ||
|
|
||
| In order to create a vinyl-like feeling the song needs to follow the signal as closely as possible (low latency, fast responsiveness) for e.g. scratching or backspins. There is no 'standard' signal - each manufacturer uses its own code. The demodulated code from the signal needs to be converted to a usable timecode. This is realized by storing the states of the code in a LUT which is mapped to instants in time in the song. This makes it possible to quickly jump to positions in time during playback. |
There was a problem hiding this comment.
We should explain that there are two signals: an audible one to measure velocity (the tone), and the digital one to determine timecode position. The code must use both of them together to generate smooth and responsive playback.
There was a problem hiding this comment.
The code must use both of them together to generate smooth and responsive playback.
I am afraid that this is not the case right now when determining the pitch. But this is a good opportunity for augmenting the Kalman-Filter in a future iteration.
There was a problem hiding this comment.
The code does use both -- it's always using the pitch to determine speed and direction, and then uses the timecode to determine syncing / seeking. A lot of the trickiness of making vinyl control work is deciding when to use one or the other and how to correct for errors. I did not say it combines the two "when determining the pitch". I made this note because the current text makes it sound like the digital timecode is the only signal, which leaves out the analog tone aspect.
There was a problem hiding this comment.
Technically the code doesn't play a role in any of those features. We don't really have to explain the code here at all. It has been done in other posts. I should have maybe bothered more with correctness here, but I am quite exhausted atm.
There was a problem hiding this comment.
Should we add a new layer of technicality?
In this release post we added already quite some techinical terms, I'd like to keep it kind of 'low entry'.
I am confident that readers who wish to delve further into the subject will find the full information in the other posts.
There was a problem hiding this comment.
Then maybe drop the bit about LUTs etc. Just say "In order to create a vinyl-like feeling the song needs to follow the signal as closely as possible (low latency, fast responsiveness) for e.g. scratching or backspins. There is no 'standard' signal - each manufacturer uses its own code. The demodulated code from the signal needs to be converted to a usable timecode. "
There was a problem hiding this comment.
I requested some changes. The new formulations more accurately describe what is happening and why the new PRs make a difference.
|
As Jan's post about MK2 is published, (thank you), I 'll have to update this post:
|
|
But I believe 2.5.3 does not contain the MK2 work, so it's misleading to mention it here |
| In [PR #15194](https://github.com/mixxxdj/mixxx/pull/15194) developers have replaced the Alpha-Beta Filter with a more advanced [Kalman-Filter](https://en.wikipedia.org/wiki/Kalman_filter) equivalent. Kalman-Filters are generally used in GPS navigation and weather forecast models. | ||
|
|
||
| The use of it in DVS in short: a Kalman-Filter maintains a model of the vinyl to predict the current pitch. This predicted pitch is compared with the noisy crackling input signal. The deviation [^2] determines the trust which is used to incorporate these values into the model for the next prediction. It reuses the current constant velocity model of the original Alpha-Beta Filter. | ||
|
|
There was a problem hiding this comment.
used combination with link to https://en.wikipedia.org/wiki/Probability
|
great edits! |
|
@Eve00000 Thanks for having taken over this post! Enjoy you holidays :) |
Co-authored-by: Daniel Schürmann <daschuer@mixxx.org>
ordered list Co-authored-by: Swiftb0y <12380386+Swiftb0y@users.noreply.github.com>
Co-authored-by: jclsn <jan.claussen10@web.de>
vinyl model, Kalman-Filter Co-authored-by: Daniel Schürmann <daschuer@mixxx.org>
Co-authored-by: Swiftb0y <12380386+Swiftb0y@users.noreply.github.com>
Co-authored-by: jclsn <jan.claussen10@web.de>
typo Co-authored-by: jclsn <jan.claussen10@web.de>
fc0c722 to
815fde6
Compare
first draft ... description of the DVS changes
-> adapted to review comments
-> add definitions, links to Newspost PRs,
-> added a concrete example forDVS
-> added comments / reviews, thank you all for the comments
-> added Jan as author.
-> added link to How Does Timecode Vinyl Actually Work? (Pt. 3)
preview
-> added some extra suggestions