I’ve been having trouble with the timing of midi input for some time now, so I decided to do some tests to see if it was due to myself, my hardware, or Renoise. I suspect the main problem is Renoise. Here’s why:
First, I used an empty song and played notes on my mpd24 along with the metronome as best as I could (in all tests, it made no difference if I used the metronome or a quantized part). My audio interface’s buffer size was 5 ms, the tempo was 60, the lpb value was 4, and quantize was off. This went reasonably well, all notes were recorded at around lines 0, 4, 8, etc., some slightly earlier, others later. So far, so good.
Then I tested whether it made any difference if I had the “compensate latencies” option in the midi preferences enabled or not. I didn’t notice any difference, but I figured that’s probably because my own timing errors were greater than the latency involved.
Next, I set my audio interface’s buffer size to a very high value (500 ms) and played along with the metronome again (I used an empty instrument to prevent myself for compensating for the latency). This time the notes were recorded about 500 ms later than the beat: around lines 2,6, 10, etc. I kind of expected this behavior with Compensate Latencies disabled. However, when I enabled it, it seemed to make no difference.
For the last test I set the buffer size back to 5 ms, and put a bunch of effects that introduce a delay on the master channel, so that the total delay was about 200 ms. I again played along with the metronome. As in the previous test, the notes were recorded with a delay, this time of about 200 ms. And again, Compensate Latencies didn’t make a noticeable difference. (Automatic plugin delay compensation was enabled in this test)
This raises two questions:
1)I always assumed that when recording live, Renoise would automatically compensate for the audio buffer size and delays caused by plugins, so that the recording is synced to what I hear. I find it very surprising that as far as I can tell, this does not seem to be the case. So, is this true, or did I overlook something?
2)What exactly does the “compensate latencies” option do? In my tests it didn’t seem to make any difference. It is not mentioned in the manual and I find the description “record what you hear, not played” a bit confusing. What I’d expect such an option to do, is to shift recorded notes backward in time by (audio buffer size + total delay caused by plugins) milliseconds.