Skip to content

2.5.3 release newspost - #406

Merged
daschuer merged 13 commits into
mixxxdj:websitefrom
Eve00000:Mixxx_2_5_3_release
Sep 2, 2025
Merged

2.5.3 release newspost#406
daschuer merged 13 commits into
mixxxdj:websitefrom
Eve00000:Mixxx_2_5_3_release

Conversation

@Eve00000

@Eve00000 Eve00000 commented Aug 25, 2025

Copy link
Copy Markdown
Contributor

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

Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated

@daschuer daschuer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Reads really nice.
Added some more tweaks.

Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
@Eve00000
Eve00000 requested a review from daschuer August 26, 2025 08:52

@daschuer daschuer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I am happy with it. But it looks like I have put to much icing on the cake in my suggestions as @jclsn noticed. He should do the final review since we are talking about his baby.

@jclsn

jclsn commented Aug 26, 2025

Copy link
Copy Markdown
Contributor

The preview seems unfinished. The suggestions have to been applied yet

@daschuer

Copy link
Copy Markdown
Member

Maybe there are still "pending"? You need to request changes with the green button at the top right in "Files changed" tab.

Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated

@jclsn jclsn left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Some improved formulations and technical accuracy.

Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
@Eve00000

Copy link
Copy Markdown
Contributor Author

Some improved formulations and technical accuracy.

Thank you @jclsn
As agreed, I have added you as an author.
Can you please take another look?

@Swiftb0y Swiftb0y left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

minor nits

Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
@Eve00000

Copy link
Copy Markdown
Contributor Author

minor nits

Thanks.

@Swiftb0y Swiftb0y left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

LGTM Thank you.

@Swiftb0y

Copy link
Copy Markdown
Member

please resolve the conflicts though. It seems you've based this branch on quite an old commit

@Eve00000
Eve00000 requested a review from jclsn August 26, 2025 18:14
@Eve00000

Copy link
Copy Markdown
Contributor Author

please resolve the conflicts though. It seems you've based this branch on quite an old commit

Done. Strange, I fetched & pulled.

@jclsn

jclsn commented Aug 26, 2025

Copy link
Copy Markdown
Contributor

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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

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.

@jclsn jclsn Aug 27, 2025

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

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.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

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.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

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. "

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I requested some changes. The new formulations more accurately describe what is happening and why the new PRs make a difference.

@Eve00000

Copy link
Copy Markdown
Contributor Author

As Jan's post about MK2 is published, (thank you), I 'll have to update this post:

  • linking it as pt3
  • removing Jan's avatar & subscript in pelicanconf drom this PR

@ywwg

ywwg commented Aug 28, 2025

Copy link
Copy Markdown
Member

But I believe 2.5.3 does not contain the MK2 work, so it's misleading to mention it here

Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
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.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

used combination with link to https://en.wikipedia.org/wiki/Probability

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Nice

@ywwg

ywwg commented Aug 29, 2025

Copy link
Copy Markdown
Member

great edits!

@Eve00000
Eve00000 requested a review from jclsn August 29, 2025 17:08
@Eve00000

Copy link
Copy Markdown
Contributor Author

@ywwg @jclsn @daschuer @Swiftb0y
can you please check once again?

@daschuer daschuer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thank you. Rock solid now.

Comment thread content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Outdated
@Eve00000
Eve00000 requested a review from jclsn August 29, 2025 18:20
@jclsn

jclsn commented Aug 29, 2025

Copy link
Copy Markdown
Contributor

@Eve00000 Thanks for having taken over this post! Enjoy you holidays :)

Eve00000 and others added 12 commits September 3, 2025 00:43
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>
@daschuer
daschuer force-pushed the Mixxx_2_5_3_release branch from fc0c722 to 815fde6 Compare September 2, 2025 22:53
@daschuer daschuer changed the title 2.5.3 release newspost draft 2.5.3 release newspost Sep 2, 2025
@daschuer
daschuer merged commit 7690376 into mixxxdj:website Sep 2, 2025
7 checks passed
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.

5 participants