-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Sharpest crossfader cut time is coupled to buffer size #8899
Comments
Commented by: Be-ing Could you try installing this and setting the crossfader to the maximum sharpness in the preferences? Is it sharp enough for you? You may want to backup your settings and library database before using the installer: Note that we currently have some pending issues with the Windows installers: If you have issues using the installer linked above, try installing the MSVC 2015 runtime and using the installer again: |
Commented by: Be-ing The Kontrol Z2 is a USB class compliant sound card and HID controller and could be used that way on any OS Mixxx runs on. Unfortunately mapping HID controllers is currently quite a bit more complicated than mapping MIDI controllers. Recently work on improving the process of mapping HID controllers has been started, but it will probably be a while before it is ready. If you are curious, you can follow the discussion here: |
Commented by: bronxio Thanks! Unfortunately, I can't run the installer even with the MSVC 2015 installed. I have a Spanish version, but I'll make an approximate translation of the message that appears just when I execute it: "Can't open this installation pack. Please contact the application developer to verify that it's a good Windows Installer pack." Do you want me to report it in bug #1663380? It doesn't seem to be a UAC problem (I haven't turned it off and there's no privileges message) |
Commented by: Be-ing Please report a new bug for that issue. |
Commented by: bronxio Ok, the last installer in bug #1663380 works fine for installation (but sblaisot is still working for a right unnstallation). I've tested by myself. |
Commented by: bronxio Ok, I finally could install that alpha you gave me. I set again the crossfader to the fastest cut and it sounds a little better, but I would need more. Could it be? The ideal is like a switch (on/off sound, with no curve). The only need to make a curve is for a technical thing: avoiding "clicks" ("ugly" wave cuts done out of 0dB, specially dangerous when cutting bass, where it's more probable). |
Commented by: daschuer Can you explain your use case? With the current master (kTransformMax = 1000.0) With Be's latest changes (kTransformMax = 10000.0), we have 10 Steps to -0.01 dB that is 0.06 % of the slider. |
Commented by: bronxio I'm not sure if I understood right the first question, so I'll answer it a little widely. I have a Traktor Z2 (but it could be, for example, a Denon X600 or X1600, Traktor capable, but without software included). The crossfader is a mini Innofader (included in the Z2). I want to use a MixVibes control vinyl for scratching and, without another sound card, I can do it with Mixxx only in internal mixer mode (MIDI/HID). Scratching, beyond the called "baby scratch" (that hasn't any cut in its procedure), needs a crossfader that cuts the sound (not fading). Cuts could be so fast (scratch DJ's use cut-capable crossfaders since 90's at least), you can check it in any scratching video, like in this one: https://www.youtube.com/watch?v=y8b6TiXYAFQ And there is already commercial DJ software that make crossfaders cut-capable in internal mixer mode (Serato DJ, Traktor Scratch Pro, Cross, etc.). Nowadays scratch DJ's use them a lot since several years ago (because DVS). The buffer size is set to 21.3 ms. As I saw when testing (I looked for the cut point in the crossfader), I think this is not actually a movement distance problem in the crossfader, but in speed fading (cutting or "switching on") the sound by software when the crossfader sends the value for the change. The distance works, as I could see, exactly the same as in external mixer mode. Can't make Mixxx faster for this? I can test it with less steps than 10 (if possible) anyway. |
Commented by: Be-ing
... Here is your problem:
That is a bit high for scratching. Your buffer should be as small as your system can handle reliably without audible glitches. |
Commented by: daschuer I the video in the initial post, do you use a time coded vinyl? I assume the buffer size is 21.3 ms I'm both cases? An other idea, could be a mapping issue. |
Commented by: Be-ing
If Ambrosio is using the Z2 with MIDI, then he is using it through Native Instruments' proprietary driver that translates HID to MIDI. I do not know whether that uses 14-bit MIDI. It is plausible the driver may introduce some extra latency. |
Commented by: daschuer I have measured the Video from the first post and I can clearly measure the 21.3 ms ramp up and down. While the first part only has ~3 ms. |
Commented by: Be-ing Do you mean limiting the ramp time to 3 ms with the crossfader at maximum sharpness regardless of the configured buffer size?
Finishing up the branches I have in progress already and mentoring Anast is enough work for me for now. Your proposed solution is more complicated than changing a constant, so I don't want to take it up right now. |
Commented by: bronxio Be, it's true: I set the audio buffer to 5.3 ms and it improved a lot (now it's acceptable for me). I didn't expect this, because with Traktor, cuts always sound practically like the real crossfader, no matter what buffer audio size use. Could anyone tell me why, please? Audio buffer in Mixxx is for actual processing audio instead of for already processed audio? Anyway, I tested again and made screenshots of waveforms to check visually the difference: as you can see in the attached photo, Mixxx has always more ramp, even with 5.3 ms (but so long with 21.3 ms). It would be great to improve this: I agree with Daniel, that it would be great to reduce the ramp internally for big buffers. I tested with real and control vinyl, but I don't see the difference between real audio and DVS for this (I'll attach another one after this post).
Forget the beggining of the waveforms, the rest of sileneces (even the end) are cut by me with the crossfader. The tags in the attached waveforms screenshot are: No software: Z2 connected via USB to the computer, but with no DJ software opened. Traktor 11.7: Scratch done with Traktor in internal mode, with 5.3 ms for processing and 6.4 ms for output (= 11.7 m) Traktor 28.7: Scratch done with Traktor in internal mode, with 5.3 ms for processing and 23.4 ms for output (= 28.7) Mixxx2-5.3: Scratch done with last official Mixxx realease (2.0.0) with 5.3 ms of audio buffer Mixxx2-21.3: Scratch done with last official Mixxx realease (2.0.0) with 21.3 ms of audio buffer Mixxx21-5.3: Scratch done with Ben's alpha Mixxx (PR1311-git6321) with 5.3 ms of audio buffer Mixxx21-21.3: Scratch done with Ben's alpha Mixxx (PR1311-git6321) with 21.3 ms of audio buffer |
Commented by: bronxio
The tags are the same, but there is a difference: in Traktor 28.7, it has 21.3 ms of processing and 7.4 ms of output. |
Commented by: daschuer
Yes. |
Commented by: daschuer
If you move the xfader in smooth settings from one end to an other, the user expects a smooth steady gain change. This strategy fails in your case, where the opposite is expected. |
Commented by: Be-ing
This seems like a reasonable solution and I think it would also make sense to do the same for the volume faders. Implementing this will require some complicated refactoring of the mixing engine, Ambrosio, can your computer handle running Mixxx at a low latencies? Is that a workable solution for you for now? Why are you wanting to use internal mixing with the Z2? |
Commented by: bronxio Yes, it's workable for now, Ben, thanks. Besides, now I see it's more complicated than I expected to fix that (not just changing values)...
The short version: because I want to support Mixxx. I found that crossfader problem because I want to make a video scratching with it, so scratch DJ's without software can know that there is another (workable) option. Thanks to both. |
Commented by: bronxio
|
Commented by: bronxio Ok, maybe that gain change it's too much in Mixxx... I'll tell you in the pull. |
Commented by: Be-ing I mean, why don't you use the unmixed Deck 1 & 2 outputs and use the Z2 for mixing instead of mapping the faders to Mixxx's software controls? |
Commented by: Be-ing Hmm, nevermind it seems the Z2 can't work that way unless you use another sound card. That's unusual. |
Commented by: daschuer Thank you very much for the picture. |
Commented by: bronxio Sure! Here you have it with the Traktor MKII... |
Commented by: bronxio ...and here with the MixVibes (argh, dup MK2 comment!) If you need more quality, another scratch pattern or something, let me know. |
Commented by: daschuer Thank you for the very useful recordings. |
Commented by: daschuer Maybe Traktor uses such a curve because they want to avoid clipping at fast scratches? |
Commented by: bronxio
https://www.native-instruments.com/forum/threads/very-low-line-phono-volume.186089/page-2 I don't know if the internal soundcard of the Z2 acts different with a MK2 control vinyl signal than the rest. Do you want another recordings with a different soundcard to be sure? I can record it with a M-Audio Audiophile 2496 or a Focus Scarlett 2i2 (1st generation)... |
Commented by: daschuer No, there is no need to do a recording with other gear. I believe the Z2 does the things just right. We have now only the "issue" that probably no one likes to have insain gain on speeds > x 5. So we have to bend the applied curve away from your turn tables model to not reach the clipping region, which is surly an undesired sound. Isn't it? Do you like the idea to not go above 6 dB ? |
Commented by: bronxio Yes, I think that's a good shot, to limit it to 6 dB. |
Commented by: daschuer This is a mandatory basic function. This should be a bug fix for 2.1 beta. |
Commented by: Be-ing I agree that this is a basic function, but I think it will require quite a bit of complicated refactoring and I'm not sure it should be rushed for 2.1. But discussing this any further may be premature without seeing the code. |
Reported by: bronxio
Date: 2017-07-10T23:33:40Z
Status: Confirmed
Importance: Low
Launchpad Issue: lp1703475
Tags: engine
Attachments: [Scratch waveforms (with real vinyl).jpg](https://bugs.launchpad.net/bugs/1703475/+attachment/4914309/+files/Scratch waveforms (with real vinyl).jpg), [Scratch waveforms (with control vinyls).jpg](https://bugs.launchpad.net/bugs/1703475/+attachment/4914317/+files/Scratch waveforms (with control vinyls).jpg), [scratch gain comparison.JPG](https://bugs.launchpad.net/bugs/1703475/+attachment/4914336/+files/scratch gain comparison.JPG), [pitch changes@10, 20 & 50%](https://bugs.launchpad.net/bugs/1703475/+attachment/4914901/+files/pitch changes@10, 20 & 50%), [pitch changes at 10, 20 & 50 percent](https://bugs.launchpad.net/bugs/1703475/+attachment/4914902/+files/pitch changes at 10, 20 & 50 percent), [pitch changes at 10, 20 & 50 percent](https://bugs.launchpad.net/bugs/1703475/+attachment/4914903/+files/pitch changes at 10, 20 & 50 percent)
When Mixxx controls the crossfader (internal mixer mode / MIDI), although it's set to the fastest cut in preferences, its cuts are too soft for scratching (more aggressive cuts are necessary for it, like on/off sound).
I recorded a video showing this problem, comparing stand-alone mixer mode and MIDI mode with Mixxx: https://www.youtube.com/watch?v=XXktCyWYCs8
I asked in forum if there is some way to make the crossfader more aggressive without modifying code, but they told me there isn't. It would be great to have a more aggressive option for crossfader in next versions! It would be a pleasure to test betas if you want me to do it, to check new values for the cut if someone knows where to modify that in the code and compile it for Windows (unfortunately, Mixxx can't detect my Traktor Z2 as MIDI controller at UbuntuStudio 16.04, but it does under Windows)
The text was updated successfully, but these errors were encountered: