External MIDI Instruments - Latency Toggle Switches on e.g.

I have an idea for latency correction that I’d like to pass on with the hope of it being considered in future versions.

The idea is specific to anyone sequencing external midi gear from the DAW. The idea itself is at the bottom; just just skip there if you can’t be bothered reading the background below!

An issue for users with external hardware instruments is latency between the DAW (with e.g. heavy VST processing).
This is avoided by using audio interface “direct monitoring” (where available); but at the expense of being able to hear any lovely internal processing… This issue of high latency with VST FX is corrected by the use of Cubase’s “External Instrument” device; however this also deactivates the in/out audio channel and also removes simple recording of audio via traditional techniques. The External Instrument is a good idea - great for some people with only one or two external sources; but for people like me with a large selection of gear with audio record options varying from mono out to stereo out to 12+ outputs (e.g. drum machine), the External Instrument is too limiting as a “project setup”. e.g. - I want to patch in a drum synth and sequence it via computer. If I select 1-12 and make an External Instrument; then latency disappears… but so do inputs 1-12! So when I want to revert to using my standard setup; or patch in new gear; the project setup no longer works.

Why do we want low latency midi sequencing with internal FX?? Because that’s how we explore what the sound will achieve in the track.

Wouldn’t it be nice if this could be applied to an audio track temporarily!!! just while monitoring a sequenced part…

And that’s my idea:

Monitoring Latency Toggle options on Audio Tracks…

Simply click a switch “on”; and the audio track will monitor with latency compensation based on:

send MIDI from Cubase (or not even - perhaps toggled on or off settings would be worthy here too - something synced to MIDI clock like a drum machine wouldn’t need to allow for midi out latency);
Receive Audio back from external device (Input latency);
adjust and process within the VST engine for that track; and corrects it’s timing according to the overall delay.

Cubase already calculates and knows all of the required latency parameters needed to achieve this.

I appreciate that I’ve made it seem simple; and it’s likely not simple at all (!); BUT all it’s really about is calculating the latency of the VST system for the channel; and once a track is armed with this setting - it plays early by this same amount of time (or would it be twice that time? To allow it to be properly processed…??). The exact same outcome can be achieved by playing a sequence “early” (i.e. moving the midi part manually early; or offsetting the midi playback timing) but this is cumbersome, needs to be updated when you add VST FX processing, requires then moving the recorded audio in time again - and essentially the desired outcome could be automated if my idea works.

The recorded audio would be naturally automatically placed with correct timing similar to the existing system for correct playback once the monitoring is turned off.

Downside:
it effectively doubles (triples?) the VST latency for a channel path when a track is armed.
Live tweaks from on your (e.g.) synthesizer will be delayed too
Live play (e.g. playing a keyboard) will remain delayed.

I think these negatives are applicable to “External Instrument” devices too though.

Plus side?
All your externally sequenced MIDI gear will play in time.
Your external midi synced gear will play in time (e.g. a drum machine synced to midi clock).
Your system is easily reconfigurable for each project or within a project, because you don’t need to “lock-off” audio channels such as with External Instrument devices - you simply need to turn on “monitoring” (with the extra toggle selected).
It does not superseded any existing Cubase options - the External Instrument device may be preferred for certain users / situations.


I have more thoughts, but - I’d be interested in hearing yours (Steinberg or other users).

Jonny - aka jBam