Support |
Stefan Tiedje wrote: > Jeff Larson wrote: > >> 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. > > Not if you trigger with audio as explained. Actually the audio trigger > will have exactly the same delay as the audio, thus they arrive both at > the same time, absolutely in sync. No, it is worse if you embed the trigger in the audio stream. There are three things involved here: 1) Audio Input Latency, the amount of time it takes for audio entering the sound card to reach the looper 2) MIDI Input Latency, the amount of time it takes for a MIDI event to reach the looper 3) Audio Output Latency, the amount of time it takes for something the looper sends to the sound card to be heard Again assuming a 256 block size example, at any moment in time, you are receiving audio that was captured 5.8ms in the past. If you are embedding looper commands in the audio stream they will always be delayed by 5.8ms. MIDI latency is only around 2ms, so the commands will arrive at the looper faster using MIDI. Now after waiting 5.8ms for that command to come in you start to buffer the sample that was triggered. It still takes 5.8ms for this sample to be heard by the musician so the perceived latency is 11.6ms. Embedding the command in the audio stream works very well for recording control commands like record, overdub, insert, multiply, etc. because it will be exactly aligned with the audio that is to be modified, and since we are not changing what is being played the added latency doesn't matter. But for triggering commands it makes the latency worse. Jeff