This is a topic I’m struggling with for years and I’ve finally come to a plausible conclusion. Other will probably say it’s obvious, but it wasn’t for me.
I can’t get my TR909 or any other drummachine or x0x0bx to play in pace with Renoise. When I use the line-in device and pass the audio from my TR909 through, the 909 is always a half a beat late.
I always thought it had something to do with the clocks of my midi card and the 909 that were not in sync, but now I finally realized that it is the audio latency that causes the gap between Renoise and my outboard gear. The latency is so big, that I can’t fix it with setting the clock out delay to negative or positive values anymore.
When I have no vst’s or plugins or whatsoever on my tacks, the latency is much less, and when I add more plugins, the PDC compensates the delay for all the plugins so in the box all my vsts and audio runs smoothly in sync and pace with each other. But that doesn’t seem to be the case with the line-input device.
Is pdc also working on the line input device? And if not, why not? I think the line-in device deserves the same compensation as other devices have. Or am I missing the point?
Thanks for your time!
(I almost bought a 400,- hardware clock, but I don’t think it will solve my problems)
It indeed looks like the plugin compensation also affects the audio delay of line-in devices.
If we could just increase the master clock pre-delay it would be fixed, but for some reason it is limited to the audio latency caused by the audio interface. This means that in any situation running Renoise as a master clock we are screwed, because we are having to deal with interface latency, as well as midi latency and plugin compensation.
I think increasing the clock delay limit is not a good work around. The clock is not the problem if you ask me, it keeps up with Renoise, and could be finetuned with the clock delay for small amounts and that’s fine. At least that is the situation before adding vst’s and effects etc.
The problem is that the audio that is coming through your input takes too long to be processed before you can eventually hear it through your speakers, and comes too late for the other audio in Renoise, because the other audio is compensated by PDC and the line-in device is not.
I think plugin delay compensation is missing on the line in device. If the line in device gets compensation like al other vst’s and devices, the audio is running at the same time.
If I turn plugin delay compensation off, everything get’s much better, but offcourse, that causes other sync problems between vst’s.
Audio latency, also audio in latency, depends on what kind of audio driver for your soundcard/interface (WDM, Direct-X, ASIO, ASIO4All, Core Audio, etc.) you’ve set in the Renoise preferences and how you configurated its settings, (buffer size, samplerate, etc.), especially the buffer size. The bigger the buffer size, the more CPU friendly, but also higher latency. The higher the samplerate, the less latency, but more CPU load. If you use WDM or the default standard driver then you’ll get a lot latency. If your audio interface supports own ASIO (Win) or Core Audio (MAC) drivers, then these are the best choice. And then try to lower the buffer size, so that it still sounds good without gaps and crackles. This will also reduce your audio latency. When i record my hardware drum machines/synthesizers then i lower my buffer setting as much as possible to get nearly no latency as long as i record my hardware. After that i set them back to higher buffers.
Thanks for your reply, I’ve tried this setting, but it does not compensate enough to fill up the gap.
It’s half a beat, so I hear the bassdrum which is on step1 of my 909, in between the clicks of the metronome of renoise. I can never set this straight with delaying the clock, it’s way out of that range, and it isn’t really the clock that is out of line here. When I listen to the dry input monitoring on my soundcard, the bassdrum is more or less in time.
I don’t want to bring up Ableton all the time, but it’s just the only other DAW I have installed to test, but I don’t have this problem in Ableton. Then again Ableton has other problems
Yes, like I said, I’m fumbling with Renoise for maybe a decade, and hardware sequencers for much longer.
That’s the option to delaying the clock, which doesn’t have enough range. And I think the clock delay setting is not intended to solve big audio latency. It is for finetuning the midi clock to hardware sequencers, which is good as it is. But I don’t want to repeat my findings in my first posts
Sorry to necro an old thread - but did you ever get this solved? I’m building my first modular, and have run into similar problems. Running Renoise’s MIDI clock out to my modular’s clock divider, along with MIDI-to-CV so I can sequence pitch within Renoise. The clock & CV values on the modular seem to line up; I can mix modules triggered by MIDI-to-CV from Renoise and modules triggered by the clock divider, and there’s no latency between the two sets of triggers that I can detect.
However, when running the audio back in to Renoise using the line-in plugin, there is large, obvious latency (~80ms or so) not being compensated for between the line-in input and any softsynths running natively inside Renoise.
I have MIDI out set to 0 latency, “ext. MIDI” mode, and line-in set to “live record” mode - not using the “line-in ret”/“MIDI return” features, as that puts the MIDI clock and note event outputs out of whack, meaning modules triggered from MIDI-to-CV and modules triggered from the external clock divider don’t line up. Master MIDI clock offsets don’t seem to do anything.
The only thing that seems to work is… turn off plugin delay compensation! Do that, and magically, with small enough audio buffers set on my interface, everything seems to work absolutely fine. But I’m worried things would start getting out of sync again the more plugins I add & the more I load up my CPU.
Going to keep experimenting with PDC disabled, but I think what I want is, effectively:
Run MIDI out instruments in “LineIn Ret.” mode so Renoise doesn’t apply any calculated plugin delay to outbound MIDI events
When running MIDI in line-in ret. mode, don’t delay the outbound MIDI clock either (this seems to be one missing piece of the puzzle at the moment) - so maybe it needs to be a global (or at least per-MIDI-interface) setting, rather than a per-instrument setting? Basically the outbound MIDI clock and all MIDI notes should always been in sync relative to each other
Have the line-in device treated as a plugin whose delay is equal to the audio interface’s input buffer, so that its audio contribution to its track is compensated to be exactly in sync with any other plugins
I don’t understand why the line-in device has two latency compensation modes at all, it just seems to me like this should always be how it behaves
Any remaining latency would be related to the interface’s MIDI output, which a functional “MIDI clock offset” setting could be adjusted to manually compensate (again - this should affect both clock and note outs, which should always sync with each other)
Would be very curious to see if Renoise behaves any differently when externally clocked - i.e. if sending MIDI clock in, generating MIDI notes out in “LineIn Ret” mode to try and keep the latency of any modular → Renoise → modular loops down (if using Renoise as a sequencer with MIDI-to-CV out), then just running the modular’s output to normal, “live recording” mode line-in devices.
But my modular doesn’t currently have MIDI clock out, only in.
Update: so, I turned my machine back on the other day, fired up Renoise, fired up my modular rig, hit play… and everything mysteriously worked! No more 60ms latency on the audio coming back via the “ext. MIDI/line-in return” path.
I don’t know what changed. Turning off “record what you hear” maybe made a difference, but not 60ms of difference.
The problem in my case might have been that I also had “listen to this device” turned on in the Windows sound settings for one of my audio interface’s inputs, meaning it wouldn’t have been operating exclusively under ASIO + Renoise. Not really sure, though.