-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Crossfade when crossing pitch 1.0 at non 1.0 speed #4030
base: 2.3
Are you sure you want to change the base?
Conversation
This removes a crackling sound with a 440 Hz sine tone. Fixes lp1933756
Thanks for your quick reaction, I really appreciate that! I downloaded the PR artifacts (
I'm preferring Soundtouch to save resources for other tasks (controllers, vinyl control, fx, ...). |
The solution I have implemented is crossfading from one setting to the other. This doubles the CPU load for one buffer, which may cause a buffer underrun which clicks as well. Normally we play real Musik, so the question is if this improved the situation for that? |
With Soundtouch, CPU load is very low (deep green in LateNight skin, didn't look at top), and no buffer underruns have been reported in the Mixxx settings window. That makes me think a buffer underrun is unlikely as cause for the clicks. I will make a test with real music and report back. |
I made another test in a less synthetic scenario: real music, Soundtouch scaler, vinyl control. First of all, I focused on cpu usage to rule out buffer underruns. The system uses a real-time kernel and is able to handle 5.8ms under normal conditions. For the test, latency has been set to 23ms. During the test, monitoring with The test:
Resetting the key causes 2 changes: the usual Soundtouch artifacts (e.g. tiny parts of audio are doubled / omitted) and heavy clicks. Only the clicks are subject of this PR. They stay as long as nothing else is changed. When pitch is changed via vinyl control, the clicks go away and only the Soundtouch artifacts stay. |
Let me add a few words about my real world scenario and why this bug is problematic for it. I'm using vinyl control without keylock normally which sounds OK most of the time. Sometimes the key of two tracks does not match, and a mix would sound really inharmonic. In this case, I adjust the key of the second track via a MIDI controller for 1 or 2 semi-tones for the mix. When the first track has ended and the second track has a break or a part with few or no melody, I reset the key via MIDI so that time-stretching is disabled again. I tried There's one thing I noticed recently: I'm not sure if |
The correct command should be
|
Rescheduling to 2.3.2. |
This PR is marked as stale because it has been open 90 days with no activity. |
The issue persists. |
Yes, I am sorry. This PR is IMHO not in a merge-able state, because it doubles the CPU for the zero crossing cycle and does according your tests not solve the issue completely. I do not expect a solution anytime soon. The root issue is that we our use case seems to be not considered during the development of the sound stretch libraries. We need to dive into the library code itself and work around the revitalization when crossing the zero point. I would be happy if you could make a start and post the links at Launchpad |
No problem, my comment was just a reaction on the stale label. I'm currently not affected by the issue because I switched to |
This PR is marked as stale because it has been open 90 days with no activity. |
This removes a crackling sound with a 440 Hz sine tone.
Fixes https://bugs.launchpad.net/mixxx/+bug/1933756