From 491fa11bf6f31501b521ddde4b6e5e2c9a112c37 Mon Sep 17 00:00:00 2001 From: Evelynne Date: Sun, 24 Aug 2025 20:11:55 +0200 Subject: [PATCH 01/13] 2.5.3 release newspost layout --- .../news/XXXX-XX-XX-mixxx-2_5_3-released.md | 62 +++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 content/news/XXXX-XX-XX-mixxx-2_5_3-released.md diff --git a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md new file mode 100644 index 000000000..46605f7d5 --- /dev/null +++ b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md @@ -0,0 +1,62 @@ +title: Mixxx 2.5.3 Released +authors: Evelynne Veys +tags: 2.5.3, release announcement +comments: yes +status: draft + +#### Mixxx 2.5.3 Release Announcement: Back to School, back to DVS. + +We're proud to announce a new stable release of Mixxx: version 2.5.3, this version not only contains updates and fixes for some issues reported by users, but it also contains a major Digital Vinyl System (DVS) rework. This rework is the outcome of some intensive holiday work and some bright new insights of developers spinning the wheel instead of sunbathing. +Because of the big improvements we have chosen to backport [^1] it to the 2.5 series instead of integrating it in future alfa & beta versions. + +Have a nice Mixxx. + +[^1]: Back porting is integrating new work into previous releases in order to let those releases profit from the new development. + +#### Digital Vinyl System - Timecode System. + +A good explanation about Digital Vinyl Systems and Timecode can be found in [this article on the site of Digital DJ Tips](https://www.digitaldjtips.com/a-beginners-guide-to-digital-vinyl-systems/), and in our own Newsarchive: [How Does Timecode Vinyl Actually Work? (Pt. 1)](https://mixxx.org/news/2021-11-21-dvs-internals-pt1/) and [How Does Timecode Vinyl Actually Work? (Pt. 2)](https://mixxx.org/news/2021-12-22-dvs-internals-pt2/). + +In short summarized: Mixxx plays the music tracks by following the input signal produced by turntables/CD-players (and other Timecode-mediaplayers) which gets internally converted to actual timeframes by looking up references to timeframes in the musicfile. +So the DJ controls the playback of the digital music by manipulating vinyl or CDs. + +In order to create a real vinyl-handling-feeling the produced music needs to follow the inputsignal as close as possible (low latency, fast responsiveness) for eg scratching, spinbacks etc. As there is no 'standard' inputsignal each manufacturer uses its own code. The received inputsignalcode needs to be converted to a usable timecode by using a LUT (Look Up Table), for each manufacturer another LUT needs to be created and used. +The conversion of the inputsignal to the actual timeframecode is handled by the [XWAX library](https://xwax.org/overview.html). To filter 'impossible' or not 'logical' signals (eg frame 7000 directly after frame 1000) the [alpha-beta filter](https://en.wikipedia.org/wiki/Alpha_beta_filter) was used. + +In the rework with [PR #15194](https://github.com/mixxxdj/mixxx/pull/15194) developers have replaced the alpha-beta filter with the [Kalman-filter](https://en.wikipedia.org/wiki/Kalman_filter). 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 cracklinginput signal. The deviation [^2] determines the trust which is used to incorporated these values into the model for the next prediction. + +An example: The vinyl is likely rotating with 33 1/3 r/min. This is used as a first prediction. If the next measurement is 40 r/min the value is not trust worthy because such a speed-up is unlikely. This measurement will be used with a low trust. If all following values are however at 40 r/min the filter looses trust for the predicted value and slowly adopts 40 r/min for further predictions. + +Using this deviation in Mixxx helps to properly and more accurately represent eg the rate-slider on the turntable/CD-player. + +Another improvement has been made with the addition of a plausibility check for the time code signal [PR 15217](https://github.com/mixxxdj/mixxx/pull/15217). +This compares the left and right channel of the time code signal to remove noise and is even able to restore the original information. This significantly reduces sticker drift during fast scratch actions. (see [How Does Timecode Vinyl Actually Work? (Pt. 2)](https://mixxx.org/news/2021-12-22-dvs-internals-pt2/) #2) + +These are major improvements useful for everybody, not only for the alpha/beta-users. +Get all Mixxx-ed up and join our [testing-force](https://mixxx.org/get-involved/). + +[^2]: The Deviation in Kalman filters is called [Innovation](https://en.wikipedia.org/wiki/Innovation_(signal_processing). + +#### Other important updates and fixes in 2.5.3 + +- Blablabla +- Blablabla +- Blablabla + + +#### 2.5.3 Changelog +The complete changelog can be found [here](https://github.com/mixxxdj/mixxx/blob/2.5.3/CHANGELOG.md) + +### Controller Mappings + +Mappings were updated for ... Blablabla + +### Blablabla + +Blablabla + +### Misc + +- Blablabla From de464f27d6b16b71591b2195eed30207b8b8fef8 Mon Sep 17 00:00:00 2001 From: Evelynne <159239887+Eve00000@users.noreply.github.com> Date: Tue, 26 Aug 2025 10:41:10 +0200 Subject: [PATCH 02/13] Update content/news/XXXX-XX-XX-mixxx-2_5_3-released.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Daniel Schürmann --- .../news/XXXX-XX-XX-mixxx-2_5_3-released.md | 31 +++++++------------ 1 file changed, 11 insertions(+), 20 deletions(-) diff --git a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md index 46605f7d5..569f9879a 100644 --- a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md +++ b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md @@ -25,7 +25,7 @@ The conversion of the inputsignal to the actual timeframecode is handled by the In the rework with [PR #15194](https://github.com/mixxxdj/mixxx/pull/15194) developers have replaced the alpha-beta filter with the [Kalman-filter](https://en.wikipedia.org/wiki/Kalman_filter). 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 cracklinginput signal. The deviation [^2] determines the trust which is used to incorporated these values into the model for the next prediction. +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 incorporated these values into the model for the next prediction. An example: The vinyl is likely rotating with 33 1/3 r/min. This is used as a first prediction. If the next measurement is 40 r/min the value is not trust worthy because such a speed-up is unlikely. This measurement will be used with a low trust. If all following values are however at 40 r/min the filter looses trust for the predicted value and slowly adopts 40 r/min for further predictions. @@ -34,29 +34,20 @@ Using this deviation in Mixxx helps to properly and more accurately represent eg Another improvement has been made with the addition of a plausibility check for the time code signal [PR 15217](https://github.com/mixxxdj/mixxx/pull/15217). This compares the left and right channel of the time code signal to remove noise and is even able to restore the original information. This significantly reduces sticker drift during fast scratch actions. (see [How Does Timecode Vinyl Actually Work? (Pt. 2)](https://mixxx.org/news/2021-12-22-dvs-internals-pt2/) #2) -These are major improvements useful for everybody, not only for the alpha/beta-users. -Get all Mixxx-ed up and join our [testing-force](https://mixxx.org/get-involved/). +These changes are major improvements for all DVS users. Too good to wait for Mixxx 2.6. +Get all Mixxx-ed up and join our [testing-force](https://mixxx.org/get-involved/) for more upcoming features. [^2]: The Deviation in Kalman filters is called [Innovation](https://en.wikipedia.org/wiki/Innovation_(signal_processing). -#### Other important updates and fixes in 2.5.3 - -- Blablabla -- Blablabla -- Blablabla - - -#### 2.5.3 Changelog -The complete changelog can be found [here](https://github.com/mixxxdj/mixxx/blob/2.5.3/CHANGELOG.md) - ### Controller Mappings -Mappings were updated for ... Blablabla - -### Blablabla - -Blablabla +Mappings were updated for +* Icon P1-Nano MIDI 1 +* Traktor Kontrol S4 Mk3 +* Traktor Kontrol S3 +* Numark NS6II -### Misc +#### 2.5.3 Changelog -- Blablabla +More fixes have been included to keep everything stable, up and running. +The complete changelog can be found [here](https://github.com/mixxxdj/mixxx/blob/2.5.3/CHANGELOG.md) From 39b35c716a8e196c892416df6e892c8c1b3ccaef Mon Sep 17 00:00:00 2001 From: Evelynne Date: Tue, 26 Aug 2025 10:51:03 +0200 Subject: [PATCH 03/13] 2.5.3 release newspost -- review comments --- content/news/XXXX-XX-XX-mixxx-2_5_3-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md index 569f9879a..5e8167941 100644 --- a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md +++ b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md @@ -49,5 +49,5 @@ Mappings were updated for #### 2.5.3 Changelog -More fixes have been included to keep everything stable, up and running. +More fixes have been included to keep everything stable, up and running. The complete changelog can be found [here](https://github.com/mixxxdj/mixxx/blob/2.5.3/CHANGELOG.md) From e80813826d3cad70e1417df4992b372587379dde Mon Sep 17 00:00:00 2001 From: Evelynne <159239887+Eve00000@users.noreply.github.com> Date: Tue, 26 Aug 2025 19:12:00 +0200 Subject: [PATCH 04/13] Update content/news/XXXX-XX-XX-mixxx-2_5_3-released.md ordered list Co-authored-by: Swiftb0y <12380386+Swiftb0y@users.noreply.github.com> --- content/news/XXXX-XX-XX-mixxx-2_5_3-released.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md index 5e8167941..4a0ff6eb4 100644 --- a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md +++ b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md @@ -42,6 +42,7 @@ Get all Mixxx-ed up and join our [testing-force](https://mixxx.org/get-involved/ ### Controller Mappings Mappings were updated for + * Icon P1-Nano MIDI 1 * Traktor Kontrol S4 Mk3 * Traktor Kontrol S3 From bda09c5b63c01397b0d40976f11f10dc3df3ab04 Mon Sep 17 00:00:00 2001 From: Evelynne <159239887+Eve00000@users.noreply.github.com> Date: Tue, 26 Aug 2025 19:15:51 +0200 Subject: [PATCH 05/13] Update content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Co-authored-by: jclsn --- .../news/XXXX-XX-XX-mixxx-2_5_3-released.md | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md index 4a0ff6eb4..2f8bb7a81 100644 --- a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md +++ b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md @@ -6,8 +6,8 @@ status: draft #### Mixxx 2.5.3 Release Announcement: Back to School, back to DVS. -We're proud to announce a new stable release of Mixxx: version 2.5.3, this version not only contains updates and fixes for some issues reported by users, but it also contains a major Digital Vinyl System (DVS) rework. This rework is the outcome of some intensive holiday work and some bright new insights of developers spinning the wheel instead of sunbathing. -Because of the big improvements we have chosen to backport [^1] it to the 2.5 series instead of integrating it in future alfa & beta versions. +We're proud to announce a new stable release of Mixxx: version 2.5.3, this version not only contains updates and fixes for some issues reported by users, but it also contains improvements to the Digital Vinyl System (DVS) support. These improvements are the result of some bright new insights of developers spinning the wheel instead of sunbathing. +Since these improvements drastically improve the vinyl experience, we have chosen to backport [^1] it to the 2.5 series instead of integrating it in future alpha & beta versions. Have a nice Mixxx. @@ -15,24 +15,23 @@ Have a nice Mixxx. #### Digital Vinyl System - Timecode System. -A good explanation about Digital Vinyl Systems and Timecode can be found in [this article on the site of Digital DJ Tips](https://www.digitaldjtips.com/a-beginners-guide-to-digital-vinyl-systems/), and in our own Newsarchive: [How Does Timecode Vinyl Actually Work? (Pt. 1)](https://mixxx.org/news/2021-11-21-dvs-internals-pt1/) and [How Does Timecode Vinyl Actually Work? (Pt. 2)](https://mixxx.org/news/2021-12-22-dvs-internals-pt2/). +An introduction to Digital Vinyl Systems and timecode can be found in [this article on the site of Digital DJ Tips](https://www.digitaldjtips.com/a-beginners-guide-to-digital-vinyl-systems/), and in our own news archive: [How Does Timecode Vinyl Actually Work? (Pt. 1)](https://mixxx.org/news/2021-11-21-dvs-internals-pt1/) and [How Does Timecode Vinyl Actually Work? (Pt. 2)](https://mixxx.org/news/2021-12-22-dvs-internals-pt2/). -In short summarized: Mixxx plays the music tracks by following the input signal produced by turntables/CD-players (and other Timecode-mediaplayers) which gets internally converted to actual timeframes by looking up references to timeframes in the musicfile. +To summarize, Mixxx plays the song by following the signal on the timecode media, which gets internally converted to actual timeframes via the LUT. So the DJ controls the playback of the digital music by manipulating vinyl or CDs. -In order to create a real vinyl-handling-feeling the produced music needs to follow the inputsignal as close as possible (low latency, fast responsiveness) for eg scratching, spinbacks etc. As there is no 'standard' inputsignal each manufacturer uses its own code. The received inputsignalcode needs to be converted to a usable timecode by using a LUT (Look Up Table), for each manufacturer another LUT needs to be created and used. -The conversion of the inputsignal to the actual timeframecode is handled by the [XWAX library](https://xwax.org/overview.html). To filter 'impossible' or not 'logical' signals (eg frame 7000 directly after frame 1000) the [alpha-beta filter](https://en.wikipedia.org/wiki/Alpha_beta_filter) was used. +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 (lookup table) which is mapped to instants in time in the song. This makes it possible to quickly jump to positions in time during playback. +The conversion from timecode signal to actual timeframe is handled by the [xwax](https://xwax.org/overview.html) library. To detect the pitch of the signals (e.g. the playback speed) xwax uses an [Alpha-Beta Filter](https://en.wikipedia.org/wiki/Alpha_beta_filter). -In the rework with [PR #15194](https://github.com/mixxxdj/mixxx/pull/15194) developers have replaced the alpha-beta filter with the [Kalman-filter](https://en.wikipedia.org/wiki/Kalman_filter). Kalman filters are generally used in GPS navigation and weather forecast models. +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 incorporated these values into the model for the next prediction. -An example: The vinyl is likely rotating with 33 1/3 r/min. This is used as a first prediction. If the next measurement is 40 r/min the value is not trust worthy because such a speed-up is unlikely. This measurement will be used with a low trust. If all following values are however at 40 r/min the filter looses trust for the predicted value and slowly adopts 40 r/min for further predictions. +If the vinyl is, say, spinning at 33 1/3 r/min, that value is used as the initial assumption on which the next prediction is based. If the next measurement returns 40 r/min, the value is not fully trusted, because such a high acceleration is unlikely. This measurement will be used with a low trust. However, if the following measurements detect 40 r/min as well, the filter gradually adjusts to to approximate 40 r/min in further predictions. -Using this deviation in Mixxx helps to properly and more accurately represent eg the rate-slider on the turntable/CD-player. +By using this model, Mixxx is able to properly and more accurately represent e.g. the pitch control slider on the turntable or CD-player. -Another improvement has been made with the addition of a plausibility check for the time code signal [PR 15217](https://github.com/mixxxdj/mixxx/pull/15217). -This compares the left and right channel of the time code signal to remove noise and is even able to restore the original information. This significantly reduces sticker drift during fast scratch actions. (see [How Does Timecode Vinyl Actually Work? (Pt. 2)](https://mixxx.org/news/2021-12-22-dvs-internals-pt2/) #2) +Another improvement has been made to the measurements which are fed to the Kalman filter [PR 15217](https://github.com/mixxxdj/mixxx/pull/15217). The current model only takes rough measurements of the position on the sine wave. Furthermore these measurements work on the assumption to always be correct. A new check was added to detect if measurements were skipped or larger than assumed. This improves backspins where the deviation of estimation and measurement suddenly become very high. These changes are major improvements for all DVS users. Too good to wait for Mixxx 2.6. Get all Mixxx-ed up and join our [testing-force](https://mixxx.org/get-involved/) for more upcoming features. From da0694da85f55d7ba1ac7fcd645902e408d3c36a Mon Sep 17 00:00:00 2001 From: Evelynne <159239887+Eve00000@users.noreply.github.com> Date: Tue, 26 Aug 2025 19:24:16 +0200 Subject: [PATCH 06/13] Update content/news/XXXX-XX-XX-mixxx-2_5_3-released.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit vinyl model, Kalman-Filter Co-authored-by: Daniel Schürmann --- content/news/XXXX-XX-XX-mixxx-2_5_3-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md index 2f8bb7a81..7c8bea99e 100644 --- a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md +++ b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md @@ -25,7 +25,7 @@ The conversion from timecode signal to actual timeframe is handled by the [xwax] 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 incorporated these values into the model for the next prediction. +The use of it in DVS in short: a Kalman-Filter 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 incorporated these values into the model for the next prediction. It reuses the current constant velocity model of the original Alpha-Beta Filter. If the vinyl is, say, spinning at 33 1/3 r/min, that value is used as the initial assumption on which the next prediction is based. If the next measurement returns 40 r/min, the value is not fully trusted, because such a high acceleration is unlikely. This measurement will be used with a low trust. However, if the following measurements detect 40 r/min as well, the filter gradually adjusts to to approximate 40 r/min in further predictions. From aef2d8bb2eb1ff7e769c37265433fdce5aa8bd42 Mon Sep 17 00:00:00 2001 From: Evelynne Date: Tue, 26 Aug 2025 19:39:49 +0200 Subject: [PATCH 07/13] 2.5.3 release newspost -- add Jan as author --- content/news/XXXX-XX-XX-mixxx-2_5_3-released.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md index 7c8bea99e..cda870aeb 100644 --- a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md +++ b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md @@ -1,5 +1,5 @@ title: Mixxx 2.5.3 Released -authors: Evelynne Veys +authors: Evelynne Veys, Jan Claußen tags: 2.5.3, release announcement comments: yes status: draft @@ -25,13 +25,13 @@ The conversion from timecode signal to actual timeframe is handled by the [xwax] 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 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 incorporated these values into the model for the next prediction. It reuses the current constant velocity model of the original Alpha-Beta Filter. +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. If the vinyl is, say, spinning at 33 1/3 r/min, that value is used as the initial assumption on which the next prediction is based. If the next measurement returns 40 r/min, the value is not fully trusted, because such a high acceleration is unlikely. This measurement will be used with a low trust. However, if the following measurements detect 40 r/min as well, the filter gradually adjusts to to approximate 40 r/min in further predictions. By using this model, Mixxx is able to properly and more accurately represent e.g. the pitch control slider on the turntable or CD-player. -Another improvement has been made to the measurements which are fed to the Kalman filter [PR 15217](https://github.com/mixxxdj/mixxx/pull/15217). The current model only takes rough measurements of the position on the sine wave. Furthermore these measurements work on the assumption to always be correct. A new check was added to detect if measurements were skipped or larger than assumed. This improves backspins where the deviation of estimation and measurement suddenly become very high. +Another improvement has been made to the measurements which are fed to the Kalman-Filter [PR 15217](https://github.com/mixxxdj/mixxx/pull/15217). The current model only takes rough measurements of the position on the sine wave. Furthermore these measurements work on the assumption to always be correct. A new check was added to detect if measurements were skipped or larger than assumed. This improves backspins where the deviation of estimation and measurement suddenly become very high. These changes are major improvements for all DVS users. Too good to wait for Mixxx 2.6. Get all Mixxx-ed up and join our [testing-force](https://mixxx.org/get-involved/) for more upcoming features. From 2b563efab6754e39a17bef7e2b4caec8f2a697c7 Mon Sep 17 00:00:00 2001 From: Evelynne <159239887+Eve00000@users.noreply.github.com> Date: Tue, 26 Aug 2025 19:52:49 +0200 Subject: [PATCH 08/13] Update content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Co-authored-by: Swiftb0y <12380386+Swiftb0y@users.noreply.github.com> --- content/news/XXXX-XX-XX-mixxx-2_5_3-released.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md index cda870aeb..27b1dc396 100644 --- a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md +++ b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md @@ -15,12 +15,12 @@ Have a nice Mixxx. #### Digital Vinyl System - Timecode System. -An introduction to Digital Vinyl Systems and timecode can be found in [this article on the site of Digital DJ Tips](https://www.digitaldjtips.com/a-beginners-guide-to-digital-vinyl-systems/), and in our own news archive: [How Does Timecode Vinyl Actually Work? (Pt. 1)](https://mixxx.org/news/2021-11-21-dvs-internals-pt1/) and [How Does Timecode Vinyl Actually Work? (Pt. 2)](https://mixxx.org/news/2021-12-22-dvs-internals-pt2/). +An introduction to Digital Vinyl Systems and timecode can be found in [this article on the site of Digital DJ Tips](https://www.digitaldjtips.com/a-beginners-guide-to-digital-vinyl-systems/), and in our own news archive: [How Does Timecode Vinyl Actually Work? (Pt. 1)]({filename}/news/2021-11-21-dvs-internals-pt1.md) and [How Does Timecode Vinyl Actually Work? (Pt. 2)]({filename}/news/2021-12-22-dvs-internals-pt2.md). -To summarize, Mixxx plays the song by following the signal on the timecode media, which gets internally converted to actual timeframes via the LUT. +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 (lookup table) which is mapped to instants in time in the song. This makes it possible to quickly jump to positions in time during playback. +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. The conversion from timecode signal to actual timeframe is handled by the [xwax](https://xwax.org/overview.html) library. To detect the pitch of the signals (e.g. the playback speed) xwax uses an [Alpha-Beta Filter](https://en.wikipedia.org/wiki/Alpha_beta_filter). 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. @@ -31,12 +31,12 @@ If the vinyl is, say, spinning at 33 1/3 r/min, that value is used as the initia By using this model, Mixxx is able to properly and more accurately represent e.g. the pitch control slider on the turntable or CD-player. -Another improvement has been made to the measurements which are fed to the Kalman-Filter [PR 15217](https://github.com/mixxxdj/mixxx/pull/15217). The current model only takes rough measurements of the position on the sine wave. Furthermore these measurements work on the assumption to always be correct. A new check was added to detect if measurements were skipped or larger than assumed. This improves backspins where the deviation of estimation and measurement suddenly become very high. +Another improvement has been made to the measurements which are fed to the Kalman filter [PR #15217](https://github.com/mixxxdj/mixxx/pull/15217). The current model only takes rough measurements of the position on the sine wave. Furthermore these measurements work on the assumption to always be correct. A new check was added to detect if measurements were skipped or larger than assumed. This improves backspins where the deviation of estimation and measurement suddenly become very high. These changes are major improvements for all DVS users. Too good to wait for Mixxx 2.6. -Get all Mixxx-ed up and join our [testing-force](https://mixxx.org/get-involved/) for more upcoming features. +Get all Mixxx-ed up and join our [testing-force]({filename}/pages/get-involved.md) for more upcoming features. -[^2]: The Deviation in Kalman filters is called [Innovation](https://en.wikipedia.org/wiki/Innovation_(signal_processing). +[^2]: The Deviation in Kalman filters is called [Innovation](https://en.wikipedia.org/wiki/Innovation_(signal_processing)). ### Controller Mappings From 2e95adb7192b8a9730af2f147f38b0bcf39437d3 Mon Sep 17 00:00:00 2001 From: Evelynne Date: Wed, 27 Aug 2025 13:38:51 +0200 Subject: [PATCH 09/13] 2.5.3 release newspost -- add link to pt3 --- content/news/XXXX-XX-XX-mixxx-2_5_3-released.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md index 27b1dc396..c33b3378d 100644 --- a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md +++ b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md @@ -15,7 +15,7 @@ Have a nice Mixxx. #### Digital Vinyl System - Timecode System. -An introduction to Digital Vinyl Systems and timecode can be found in [this article on the site of Digital DJ Tips](https://www.digitaldjtips.com/a-beginners-guide-to-digital-vinyl-systems/), and in our own news archive: [How Does Timecode Vinyl Actually Work? (Pt. 1)]({filename}/news/2021-11-21-dvs-internals-pt1.md) and [How Does Timecode Vinyl Actually Work? (Pt. 2)]({filename}/news/2021-12-22-dvs-internals-pt2.md). +An introduction to Digital Vinyl Systems and timecode can be found in [this article on the site of Digital DJ Tips](https://www.digitaldjtips.com/a-beginners-guide-to-digital-vinyl-systems/), and in our own news archive: [How Does Timecode Vinyl Actually Work? (Pt. 1)]({filename}/news/2021-11-21-dvs-internals-pt1.md), [How Does Timecode Vinyl Actually Work? (Pt. 2)]({filename}/news/2021-12-22-dvs-internals-pt2.md) and [How Does Timecode Vinyl Actually Work? (Pt. 3)]({filename}/news/2025-08-27-dvs-internals-pt3.md). 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. @@ -38,7 +38,7 @@ Get all Mixxx-ed up and join our [testing-force]({filename}/pages/get-involved.m [^2]: The Deviation in Kalman filters is called [Innovation](https://en.wikipedia.org/wiki/Innovation_(signal_processing)). -### Controller Mappings +#### Controller Mappings Mappings were updated for From a243d3dd287ba9b531b9b995a271ba98734100bb Mon Sep 17 00:00:00 2001 From: Evelynne <159239887+Eve00000@users.noreply.github.com> Date: Fri, 29 Aug 2025 18:46:26 +0200 Subject: [PATCH 10/13] Update content/news/XXXX-XX-XX-mixxx-2_5_3-released.md Co-authored-by: jclsn --- content/news/XXXX-XX-XX-mixxx-2_5_3-released.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md index c33b3378d..e670deb96 100644 --- a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md +++ b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md @@ -17,13 +17,12 @@ Have a nice Mixxx. An introduction to Digital Vinyl Systems and timecode can be found in [this article on the site of Digital DJ Tips](https://www.digitaldjtips.com/a-beginners-guide-to-digital-vinyl-systems/), and in our own news archive: [How Does Timecode Vinyl Actually Work? (Pt. 1)]({filename}/news/2021-11-21-dvs-internals-pt1.md), [How Does Timecode Vinyl Actually Work? (Pt. 2)]({filename}/news/2021-12-22-dvs-internals-pt2.md) and [How Does Timecode Vinyl Actually Work? (Pt. 3)]({filename}/news/2025-08-27-dvs-internals-pt3.md). -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. +Mixxx plays the song by following the signal on the timecode media, which gets internally converted to actual timeframes. 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. -The conversion from timecode signal to actual timeframe is handled by the [xwax](https://xwax.org/overview.html) library. To detect the pitch of the signals (e.g. the playback speed) xwax uses an [Alpha-Beta Filter](https://en.wikipedia.org/wiki/Alpha_beta_filter). +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. One thing all manufacturers have in common is that the code is modulated onto a sine wave. The code is used for absolute positions e.g. after needle drops, but it is not suitable to handle pitch (e.g. the playback speed) or playback direction. For this the sine wave needs to be processed by a filter that detects phase differences and converts it into pitch information. -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. +Mixxx has integrated the [xwax](https://xwax.org/overview.html) library for timecode support, which uses an [Alpha-Beta Filter](https://en.wikipedia.org/wiki/Alpha_beta_filter) for pitch detection. This filter provides a good feeling during scratching, but isn't able to provide a stable pitch during normal playback. +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. 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. From 9b605f0d8e47152e5ff25c542746ba819c28b20b Mon Sep 17 00:00:00 2001 From: Evelynne Date: Fri, 29 Aug 2025 19:00:57 +0200 Subject: [PATCH 11/13] 2.5.3 release newspost -- changes for reviews --- content/news/XXXX-XX-XX-mixxx-2_5_3-released.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md index e670deb96..61c1dca88 100644 --- a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md +++ b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md @@ -19,12 +19,12 @@ An introduction to Digital Vinyl Systems and timecode can be found in [this arti Mixxx plays the song by following the signal on the timecode media, which gets internally converted to actual timeframes. 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. One thing all manufacturers have in common is that the code is modulated onto a sine wave. The code is used for absolute positions e.g. after needle drops, but it is not suitable to handle pitch (e.g. the playback speed) or playback direction. For this the sine wave needs to be processed by a filter that detects phase differences and converts it into pitch information. +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. One thing all manufacturers have in common is that the code is modulated onto a sine wave. The code is used for absolute positions e.g. after needle drops, but it is not suitable to handle pitch (e.g. the playback speed) or playback direction. For this the sine wave needs to be processed by a filter that detects phase differences and converts it into pitch information. Mixxx has integrated the [xwax](https://xwax.org/overview.html) library for timecode support, which uses an [Alpha-Beta Filter](https://en.wikipedia.org/wiki/Alpha_beta_filter) for pitch detection. This filter provides a good feeling during scratching, but isn't able to provide a stable pitch during normal playback. 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. -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. +Kalman-Filters have many application as GPS navigation and weather forecast models. In Mixxx the Kalman-Filter uses a [probabilistic](https://en.wikipedia.org/wiki/Probability) model of the vinyl movements to predict the velocity, very similar to the Alpha-Beta Filter. This predicted speed is compared with the noisy crackling input signal. The deviation [^2] is fed back into the filter and slightly alters its internal state for the next prediction. If the vinyl is, say, spinning at 33 1/3 r/min, that value is used as the initial assumption on which the next prediction is based. If the next measurement returns 40 r/min, the value is not fully trusted, because such a high acceleration is unlikely. This measurement will be used with a low trust. However, if the following measurements detect 40 r/min as well, the filter gradually adjusts to to approximate 40 r/min in further predictions. From 815fde6f24899236c00b67024403e5c854548c94 Mon Sep 17 00:00:00 2001 From: Evelynne <159239887+Eve00000@users.noreply.github.com> Date: Fri, 29 Aug 2025 20:19:19 +0200 Subject: [PATCH 12/13] Update content/news/XXXX-XX-XX-mixxx-2_5_3-released.md typo Co-authored-by: jclsn --- content/news/XXXX-XX-XX-mixxx-2_5_3-released.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md index 61c1dca88..82d0d0413 100644 --- a/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md +++ b/content/news/XXXX-XX-XX-mixxx-2_5_3-released.md @@ -26,7 +26,7 @@ In [PR #15194](https://github.com/mixxxdj/mixxx/pull/15194) developers have repl Kalman-Filters have many application as GPS navigation and weather forecast models. In Mixxx the Kalman-Filter uses a [probabilistic](https://en.wikipedia.org/wiki/Probability) model of the vinyl movements to predict the velocity, very similar to the Alpha-Beta Filter. This predicted speed is compared with the noisy crackling input signal. The deviation [^2] is fed back into the filter and slightly alters its internal state for the next prediction. -If the vinyl is, say, spinning at 33 1/3 r/min, that value is used as the initial assumption on which the next prediction is based. If the next measurement returns 40 r/min, the value is not fully trusted, because such a high acceleration is unlikely. This measurement will be used with a low trust. However, if the following measurements detect 40 r/min as well, the filter gradually adjusts to to approximate 40 r/min in further predictions. +If the vinyl is, say, spinning at 33 1/3 r/min, that value is used as the initial assumption on which the next prediction is based. If the next measurement returns 40 r/min, the value is not fully trusted, because such a high acceleration is unlikely. This measurement will be used with a low trust. However, if the following measurements detect 40 r/min as well, the filter gradually adjusts to approximate 40 r/min in further predictions. By using this model, Mixxx is able to properly and more accurately represent e.g. the pitch control slider on the turntable or CD-player. From 718f761343e60ccdb12d287674876eab4b9de86f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Wed, 3 Sep 2025 00:57:58 +0200 Subject: [PATCH 13/13] Update download page to 2.5.3 --- content/pages/download.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/pages/download.md b/content/pages/download.md index 3c61c5797..3bcbb60ca 100644 --- a/content/pages/download.md +++ b/content/pages/download.md @@ -3,9 +3,9 @@ title: Download template: pages/download versions: stable: - name: 2.5.2 - release_announcement: /news/2025-04-27-mixxx-2_5_1-released/ - download_manifest: https://downloads.mixxx.org/releases/2.5.2/manifest.json + name: 2.5.3 + release_announcement: /news/2025-09-03-mixxx-2_5_3-released/ + download_manifest: https://downloads.mixxx.org/releases/2.5.3/manifest.json downloads: - slug: windows os: Windows 10 build 1809 or later @@ -73,7 +73,7 @@ versions: git clone -b 2.5 https://github.com/mixxxdj/mixxx.git - The 2.5.2 release has been [tagged](https://github.com/mixxxdj/mixxx/releases/tag/2.5.2) with `2.5.2`. + The 2.5.3 release has been [tagged](https://github.com/mixxxdj/mixxx/releases/tag/2.5.3) with `2.5.3`. Compilation instructions are available for [Windows](https://github.com/mixxxdj/mixxx/wiki/Compiling-On-Windows), [macOS](https://github.com/mixxxdj/mixxx/wiki/Compiling-on-macOS), and [Linux](https://github.com/mixxxdj/mixxx/wiki/Compiling-On-Linux). packages: @@ -81,8 +81,8 @@ versions: name: 2.5 branch file_url: https://github.com/mixxxdj/mixxx/archive/2.5.zip - slug: source - name: 2.5.2 release - file_url: https://github.com/mixxxdj/mixxx/archive/2.5.2.tar.gz + name: 2.5.3 release + file_url: https://github.com/mixxxdj/mixxx/archive/2.5.3.tar.gz beta: name: 2.6-beta release_announcement: /news/2025-05-11-mixxx-2_6_beta-released