elsongs
Max Output Level: -84 dBFS
- Total Posts : 306
- Joined: 3/2/2010
- Location: Los Angeles, CA
- Status: offline
Dealing with External MIDI Instrument Latency?
This is something I've never really cared about until recently. I am NOT talking about softsynth latency, this is when you're sequencing with an external MIDI instrument (in this case, a MIDI synth), and later record the audio of that MIDI track. The audio version of the track will always be delayed by a few milliseconds. The natural tendency is to just manually drag the audio track up to where it should be. But is there an automatic way to deal with this?
Elson Trinidad Los Angeles, CA, USA Web: www.elsongs.com Twitter: twitter.com/elsongs DAWs: Cakewalk by Bandlab, Cakewalk Sonar Platinum x64, Propellerhead Reason 9, Presonus Studio One v3 OS: Windows 10 Professional CPU: Intel i7 3820 3.6MHz MB: ASRock X79 Xtreme4 RAM: Corsair Vengeance 16GB DDR3 Audio: Focusrite Scarlett 18i20 2nd Generation MIDI: MOTU Microlite & Novation Impulse 61
|
brundlefly
Max Output Level: 0 dBFS
- Total Posts : 14250
- Joined: 9/14/2007
- Location: Manitou Spgs, Colorado
- Status: offline
Re: Dealing with External MIDI Instrument Latency?
September 13, 16 11:42 AM
(permalink)
You can use the 'Timing Offset (msec)' under Audio > Sync and Caching in Preferences to delay audio playback slightly vs. MIDI sent to hardware ports. MIDI driven soft synths are handled like audio tracks, and won't be delayed. This offset works by effectively shifting the audio timeline against the MIDI timeline = both on playback, and recording - so the timing of a hardware synth will be corrected on recording the audio as well as on playback of live MIDI. But be aware that this offset will also affect recording of MIDI vs. the audio metronome. You'll be listening to a delayed click (and existing audio tracks) as you perform, so the MIDI will lay down later in the MBT timeline. The larger the offset, the more this will work against you. Rather than dealing with all these complications, my preference is just to get MIDI and audio latency as low as possible and not worry about a few milliseconds sync error that is generally undetectable.
SONAR Platinum x64, 2x MOTU 2408/PCIe-424 (24-bit, 48kHz) Win10, I7-6700K @ 4.0GHz, 24GB DDR4, 2TB HDD, 32GB SSD Cache, GeForce GTX 750Ti, 2x 24" 16:10 IPS Monitors
|
elsongs
Max Output Level: -84 dBFS
- Total Posts : 306
- Joined: 3/2/2010
- Location: Los Angeles, CA
- Status: offline
Re: Dealing with External MIDI Instrument Latency?
September 13, 16 2:01 PM
(permalink)
brundlefly You can use the 'Timing Offset (msec)' under Audio > Sync and Caching in Preferences to delay audio playback slightly vs. MIDI sent to hardware ports. MIDI driven soft synths are handled like audio tracks, and won't be delayed. This offset works by effectively shifting the audio timeline against the MIDI timeline = both on playback, and recording - so the timing of a hardware synth will be corrected on recording the audio as well as on playback of live MIDI. But be aware that this offset will also affect recording of MIDI vs. the audio metronome. You'll be listening to a delayed click (and existing audio tracks) as you perform, so the MIDI will lay down later in the MBT timeline. The larger the offset, the more this will work against you. Rather than dealing with all these complications, my preference is just to get MIDI and audio latency as low as possible and not worry about a few milliseconds sync error that is generally undetectable.
Thanks, I've seen the Timing Offset and wondered what that's about. But that's a global setting, right? We can't choose an offset according to MIDI track or even MIDI port, correct? My softsynth latency is great, I have about 3.3 or so msec of latency on my plugins. The external MIDI instrument latency isn't an issue if I'm using slow sounds like strings and pads, but more rhythmic sounds with a short attack I get a little concerned.
Elson Trinidad Los Angeles, CA, USA Web: www.elsongs.com Twitter: twitter.com/elsongs DAWs: Cakewalk by Bandlab, Cakewalk Sonar Platinum x64, Propellerhead Reason 9, Presonus Studio One v3 OS: Windows 10 Professional CPU: Intel i7 3820 3.6MHz MB: ASRock X79 Xtreme4 RAM: Corsair Vengeance 16GB DDR3 Audio: Focusrite Scarlett 18i20 2nd Generation MIDI: MOTU Microlite & Novation Impulse 61
|
tlw
Max Output Level: -49.5 dBFS
- Total Posts : 2567
- Joined: 10/11/2008
- Location: West Midlands, UK
- Status: offline
Re: Dealing with External MIDI Instrument Latency?
September 13, 16 2:33 PM
(permalink)
With hardware synths, assuming if you're using track echo to monitor the synth so you can e.g. hear effects working on it while recording, MIDI latency can be down to how long it takes the synth itself to convert MIDI to audio.
Some are really snappy, others less so and some digital ones vary depending on the patch or if they're being used in a multitimbral mode. The snappiness or otherwise of the synth's envelope attack can also be a factor.
To make things worse, every synth tends to have a slightly different response time. Daisy-chaining MIDI gear means each synth down the chain gets a slightly delayed MIDI feed compared to the one upstream of it and some MIDI interfaces can add a little latency of their own as well. MIDI being a serial protocol this kind of thing is unavoidable. There's also the issue of how stable the MIDI clock controlling everything is as well, DAWs tend not to be 100% solid in that regard and the clock they send can and generally does drift by tiny fractions of a beat. Which again can cause discrepancies between the visual location of MIDI commands in the sequencer and the resulting recorded audio
If you've only one synth and the MIDI to audio offset is consistent then the global setting can be used to correct for it. If (like me) you use several hardware synths then nudging the audio over if the offset is an audible issue is the way to go. Personally I find that so long as things are within 3 or 4 milliseconds it's usually not worth bothering about, no human player's going to be any more accurate than that and a little timing discrepancy between tracks helps make things a bit less robotic.
Another option, especially if dealing with sounds with obvious transients and a fast attack, is to use audio quantising such as audiosnap on the recorded audio, but it's often quicker to just nudge the data to where it "should" be.
Or get rid of the problem by using hardware sequencers and voltage-control rather than MIDI, but they come with entertaining habits and limitations of their own and you still need a rock-solid MIDI source clock or there will still be some drift.
Sonar Platinum 64bit, Windows 8.1 Pro 64bit, I7 3770K Ivybridge, 16GB Ram, Gigabyte Z77-D3H m/board, ATI 7750 graphics+ 1GB RAM, 2xIntel 520 series 220GB SSDs, 1 TB Samsung F3 + 1 TB WD HDDs, Seasonic fanless 460W psu, RME Fireface UFX, Focusrite Octopre. Assorted real synths, guitars, mandolins, diatonic accordions, percussion, fx and other stuff.
|
Rob[at]Sound-Rehab
Max Output Level: -47 dBFS
- Total Posts : 2819
- Joined: 2/3/2011
- Location: Sound-Rehab, Austria
- Status: offline
Re: Dealing with External MIDI Instrument Latency?
September 14, 16 1:08 AM
(permalink)
lots of good information here already. just want to add that MIDI interfaces are not a like at all; some are faster and more consistent, others are not - the rule that separate USB MIDI devices are better than using MIDI ports on an interface or synth does not apply in general, it may be worthwhile to have a quick check on what you are using (like I did here) to see whether your MIDI device adds a few ms of extra latency because there are cheap solutions to that problem (which would also provide sufficient ports to avoid needs for daisy chaining, which is really to be avoided) I do disagree, though, to use any sort of quantising to fix things (quantising sucks, period). I only find the timing issues really critical when coming out of the e-drums brain into Sonar, but here you can easily also record the audio from the e-drums and e.g. drag kick drum audio to MIDI track to convert into MIDI ... however, as tlw said above using the audio to check the alignment and determine the nudge required to align MIDI with what you hear is usually faster ...
GOOD TUNES LAST FOREVER +++ Visit the Rehab +++ DAW: Platinum/X3e, win10 64 bit, i7-3930K (6x3.2GHz), Asus Sabertooth X79, 32 GB DDR3 1600MHz, ATI HD 5450, 120 GB SSD OCZ Agility3, 2x 1TB WD HDD SATA 600 Audio-Interface: 2x MOTU 1248 AVB, Focusrite OctoPre, (Roland Octa-Capture) Control-Surface: VS-700C VSTi: WAVES, NI K10u, FabFilter, IK, ... (too many really)
|
lfm
Max Output Level: -53 dBFS
- Total Posts : 2216
- Joined: 1/24/2005
- Location: Sweden
- Status: offline
Re: Dealing with External MIDI Instrument Latency?
September 14, 16 7:50 AM
(permalink)
I usually just put midi tracks a bit early(negative ticks) on the tracks, and save this as a track template. Since value is in ticks in Sonar as I recall, it is tempodependent since there are often 960 ticks/quarternote - which is a pity(maybe this is changed in the last year or so). But you can use a plugin that reports a delay to host(like Sonar) which makes host delay other audio by that amount, making you synth earlier. There is a free one from Voxengo and Metaplugin also allow to set a delay value manually for the plugin. Just try out a render situation and record and try a different ticks setting until satisfied with that audio aligns. Cubase, ProTools and others allow millisecond setting which is better in that sense - works on any tempo. Many daws(Cubase, ProTools, Samplitude) also allow to define external instruments and that definition takes care of all audio adjustments every time you use it.
|
bitflipper
01100010 01101001 01110100 01100110 01101100 01101
- Total Posts : 26036
- Joined: 9/17/2006
- Location: Everett, WA USA
- Status: offline
Re: Dealing with External MIDI Instrument Latency?
September 14, 16 9:38 AM
(permalink)
My method is crude but reliable. I usually don't record the synth's audio in real time, just the MIDI. I can then fix up any obvious mistakes in the performance before recording the audio. After recording the MIDI from the external synth, I go into the PRV and manually add a single event to the front of the data, usually a measure ahead of the real data. I turn grid snap on so that I can drop that guide note precisely on the beat. Then, after I've recorded the synth's audio, I can place the Now marker exactly on the measure and nudge the audio until that guide note falls exactly on the beat. Finally, a slip-edit trims away the now-unneeded guide note. With this method I don't have to worry about differences between synths' response times, and I can set the Timing Offset value for microphones.
 All else is in doubt, so this is the truth I cling to. My Stuff
|
tlw
Max Output Level: -49.5 dBFS
- Total Posts : 2567
- Joined: 10/11/2008
- Location: West Midlands, UK
- Status: offline
Re: Dealing with External MIDI Instrument Latency?
September 14, 16 10:15 AM
(permalink)
bitflipper My method is crude but reliable. I usually don't record the synth's audio in real time, just the MIDI. I can then fix up any obvious mistakes in the performance before recording the audio. That's what I do as well. Recording just the MIDI also lets me overdub record continuous controllers on the synths that send MIDI from every knob, making possible things that would otherwise require more than two hands to operate the relevant controls. Once I'm happy with the MIDI I just play it back while recording the synth to audio track(s). It's a slower, more old-fashioned way of working than using VSTIs and requires commiting to a particular sound, notes etc. rather than being able to alter things at any stage like a soft-synth lets you, but personally I prefer it. It stops me getting trapped in the never-ending circle of tweaking MIDI and patches to the point it becomes self-defeating and the thing never gets finished or the original idea disappears.
Sonar Platinum 64bit, Windows 8.1 Pro 64bit, I7 3770K Ivybridge, 16GB Ram, Gigabyte Z77-D3H m/board, ATI 7750 graphics+ 1GB RAM, 2xIntel 520 series 220GB SSDs, 1 TB Samsung F3 + 1 TB WD HDDs, Seasonic fanless 460W psu, RME Fireface UFX, Focusrite Octopre. Assorted real synths, guitars, mandolins, diatonic accordions, percussion, fx and other stuff.
|