Skip to content

Commit 7cba635

Browse files
committed
2.5.3 release newspost -- changes for reviews
1 parent d06220b commit 7cba635

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ An introduction to Digital Vinyl Systems and timecode can be found in [this arti
1919

2020
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.
2121

22-
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.
22+
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.
2323

2424
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.
2525
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.
2626

27-
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.
27+
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.
2828

2929
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.
3030

0 commit comments

Comments
 (0)