Support |
Stefan Tiedje wrote: > If you want to shut up something, you'd always want to fade it out, fade > out is way less critical than triggering in terms of timing. Yes, I don't think the delayed fade out is a big problem. If the fade happens exactly on the attack of a loud sound, you might hear a little "bump" if you're transitioning into silence. But if you're triggering something it's hard to notice. The fade can also be done very rapidly, I find a fade range of 128 samples sounds fine, that's only about 3ms. But the discussion has now reached the one area where I think an RTOS has a clear advantage: triggering or any other form of unquantized change to what is being played. Here, output latency is critical and an RTOS will provide lower latency than a general purpose OS. With an ASIO buffer size of 256, the sound card behaves like a 5.8ms delay line. This number must be added to the MIDI latency to get the delay between when a key is pressed and a sound is heard, around 7 to 8ms. Many people find this acceptable, or are at least willing to tolerate it because they have other reasons for using a PC. For EDP style looping this affects the following functions: NextLoop/Trigger/Retrigger/SamplePlay Record Stop (begin playback of initial recording) Unrounded Multiply Replace Stop (resume playback after replace) Unmute Undo Reverse Halfspeed In a soft-synth, the sample is delayed slightly but it plays accurately from the beginning. But in a system that is recording and playing at the same time, like a looper, we have another problem, making sure that what we are playing is aligned with what we are recording. We must always be playing 5.8ms ahead of where the musician thinks they are. When a trigger command is received, we've already asked the sound card to play the next 5.8ms of the current loop and we must let that happen. But now we can't start playing from the beginning of the next loop, we have to start playing 5.8ms into the next loop or else the recording and playback positions will be out of alignment and overdubs will start to sound like they are in the wrong place. This adjustment is most noticeable in Record Stop and the triggering functions because it will cut off 256 samples of the attack and fade in. If the loop started with a loud percussive sound, this may alter the attack transient enough to have an audible effect. This only happens the first time it is triggered though, if you let it play it will be accurate the second time. This is essential for Record Stop in order to support the popular "end a record with overdub" feature. It is arguably not as important for triggering pre-recorded loops, but since you can always be in overdub mode immediately after the trigger it is easier to make the adjustment consistently everywhere. I don't notice this effect at latencies below 512 samples and I haven't received any complaints. But it is one area where an RTOS can undeniably give you better results. Jeff