Vienna Symphonic Library Forum
Forum Statistics

182,200 users have contributed to 42,209 threads and 254,700 posts.

In the past 24 hours, we have 2 new thread(s), 21 new post(s) and 55 new user(s).

  • Logic Pro X & VEP6 Latency Compensation Issues

    For all having the same issue, this is what worked for me - I suppose (definetely not sure) the onboard audio card has a big latency, and adding extra buffers and network buffers are contributing to messing up the things:

    Logic Pro Settings: I/O Buffer Size: 1024 // Processing Buffer Range: Small (512) // VSL Instance: 2-3-4 buffers (still experimenting with these - 0 buffers put a lot of stress on the CPU). These values allow me to send 16 stereo channels for summing on a slave VEP Instance, and at this point I am sending MIDI to 6 VST instruments on the same slave (different instances) but this doesn't seem to impact the latency compensation. 

    Hey all, I purchased VEP6 few days ago, read a little bit the manual and then all the threads I could find on latency compensation issues.

    I have this simple project, see the attached image: basically a click track which sends a click sound on two Auxes. One Aux is going straight to stereo output, the other one is going to an VEP instance which has an empty Master strip which receive the click on IN1/IN2 and outputs the click to OUT1/OUT2 and this gets back on the "Click Return" strip in Logic Pro.

    In Logic I have the IO Buffer set to 1024, onboard audio (macOS Sierra, i7 16GB DDR, LPX 10.2.4), process buffer range set to Large. On the slave (Win7, i7, 8GB DDR) VEP reports Plugin Latency Compensation 0 with empty strip and starts growing if I add insert plugins.

    The purpose I've purchased VEP6 was to run heavy instances of Serum synth on the slave and submix and process the stem tracks (drums, synths, vocals, fx) and return everything to stereo output and for the moment I found no ways to keep in sync everything. 

    Apparently all the MIDI I send over to a instrument loaded on slave VEP, comes back as generated audio signal in perfect time. But anything I send using the Audio Input plugin, comes back probably with half of a second delay. I've noticed that the level meters on the slave are pusling on the same rhythm so the input signals arrives in time. So the problem is on the return channel (Vienna Ensemble Pro plugin).

    Any ideas to sync them up? Do I do something wrong? Same thing happens with Ableton Live and same thing if regardless if I use 32 or 64-bit server or if I use a localhost server or a networked one.

    Edit: direct link to the same image: http://imgur.com/a/SW9ES

    Image


  • I've had issues with the VEP delay compensation in all setups. It doesn't reliably calculate ans compensate for the buffer setting or messes up when switching between Low Latency-mode and regular mode. Not sure which. I've done the opposite: added a sample delay to all non-VEP DAW channels INCLUDING the clicktrack with the same ms that is displayed in the VEP plugin windows. Works fine.

  • I tried it with a setting by ear on a daw strip which was receiving a parallel processing via VEP. Didn't worked as expected and quickly abandoned the idea. But I'll try again and this time more thorough. Cheers!


  • ive just got the demo, i have the same problem with latency compensation when used as FX.

    i'm planning to use mainly sequenced stuff (also as fx) inside vep so i want to address also latency on input.

    during my first tests i had to add more than 3000 samples to the audio input in order to keep it in sync with everything else (in sync with a sequenced effect in VEP, and to the rest of the audio in logic, coming both from itself and from vep),

    After 1 hour everything was working fine with just 2048 samples. after another hour and several tests including changing buffer size and adding heavy latency compensation plug-in in logic i had to remove that sample delay, so it looks the problem is gone overtime.

    i still have to get a confirmation of this but it looks that if you add a big chain of latency compensation inducing plug-in (like 3 waves soundshifter in the same channel) it does something like "opening the gap" of latency compensation and then even if you remove or if you reset audio or enable low latency mode it works fine.

    i'll be back with more tests tomorrow but if the fix is as simple as inserting and removing 3 plugs each time i open a project it's a joke, nothing to compare with all the headaches i had in the past trying to keep logic and pro-tools in sync for example, or logic and a bidule istance on pc..

    Next track i make i'll use it extensively so i'll probably come with more details about it.

    Very happy about VEP by the way, it works great and finally i can open as many reaktors i want without freezing and in addition logic is smooth like on an empty project, all the time spent working on VEP is recovered by the quicker logic response. Deal!


  • Hi Ciprianis,

    Before we attempt to reproduce this here in house, please confirm that you had indeed inserted activated, but bypassed I/O plug-ins in ALL involved Logic channels/tracks, as described on page 58 of the VE Pro User Manual!

    Best, Marnix


  • last edited
    last edited

    @marnix said:

    Hi Ciprianis,

    Before we attempt to reproduce this here in house, please confirm that you had indeed inserted activated, but bypassed I/O plug-ins in ALL involved Logic channels/tracks, as described on page 58 of the VE Pro User Manual!

    Best, Marnix

    no issues so far with the I/O trick, thanks for remembering me that we always have to RTFM!!

    only issue is if you put a latency inducing plug-in after VEP PRO on the return channel, if you need to use anything else after the return is better to make a bus and put them on the aux, this way it will keep the sync, just lower the channel volume ad set the bus as "pre" if you don't need to mix it with the dry return.


  • I made a video, I get the same result with local server (on my mac) and network server. On the server side is just an empty master bus (lower right corner latency says 0) with In1/In2 selected on the top of the strip and Out1/Out2 at the bottom.

    The signal flow is obvious, but here it is: Kick channel > Aux 1 > VEP Audio Input > [Server] > VE Pro Channel strip

    When I feed a parallel signal using the send to Aux 2 the delay is obvious. Is this something that can be corrected?

    https://vimeo.com/195723610

    All I/O inserts look like this: http://imgur.com/a/3mwph

    Server version 6.0.15567

    macOS 10.12.2 - Logic Pro X 10.2.4

    MacBook Pro retina late 2013, i7 2.3 GHz, 16 GB DDR, GT 750M 2 GB DDR, Intel Iris Pro 1.5 GB DDR


  • last edited
    last edited

    @snattack said:

    I've had issues with the VEP delay compensation in all setups. It doesn't reliably calculate ans compensate for the buffer setting or messes up when switching between Low Latency-mode and regular mode. Not sure which.

    I've done the opposite: added a sample delay to all non-VEP DAW channels INCLUDING the clicktrack with the same ms that is displayed in the VEP plugin windows. Works fine.

    The VEP Plugin reports round trip latency 3072 (3 x 1024). I can confirm that on example on my video above, with a sample delay of just 1024 samples the sync is perfect.

    ....and update: on the same project as the video above I inserted a VE instrument plugin, added a synth on the server, reported latency for this one was 2048. At this moment I had to set all the sample delays in the project to 3072. So Logic does it's job.

    ....and sync is gone. After adding several inserts on the innitially empty master chain, the server reports in lower right 730 samples compensation, the VEP in Logic Pro increased from 3072 to 3802. It's really a pain in the rear to adjust   all the channels' sample delay in a serious project. I make dance music so I deal with a max of 60 tracks but still...


  • At this point I think I can say the most often the following problem arises: The actual signal coming back to the DAW through Vienna Ensemble Pro Instruments (innitially sent via the Audio Input Plugin) is "coming back earlier".

    Explanation: I've sent audio from an instrument via audio plugin and back to daw with VEP Instrument. I can clearly hear sound happening before daw's needle reaches the beginning of the midi region. So it's like the daw is compensating all the tracks to a higher introduced latency but not the VEP instrument track itself.

    If I place a sample delay on this track, it seems like the problem goes away. I still have my doubts that the sync is perfect though.

    VEP Instrument w. 2 buffers reports 17807 samples latency. Apparently the daw compensates for the buffers so 17807- 2*1024 = 13.711 = 1024 * 13 + 399

    I've inserted on VE Instrument channel a total sample delay of 6 * 1024 + 399 to keep the project in sync.

    But if insert some plugins in the server side which will change latency, the whole thing falls apart. And this is without the aspect of Server not compensating properly for some plugins (it compensates with the plugin on but fails to compensate when the plugin is bypassed). Let's say I could live with this and pick only plugs that work or plugs that can stay on with Dry/Wet set to Dry. But this game of cat & mouse with the latency is killing me.

    I hope this is the final edit: I've noticed that bypassed inserts in a VEP Instance will do a total mess up in terms of  delay compensation. Using only active inserts looks like a big improvement. Will do more research.


  • Ok i've got what you mean, while there are no issues with delay compensation if you put the audio in directly on the channel and then return back on an instrument, there are lot of problems if you want to use VEP like an effect using a bus and aux like you did on your video, by the way i've found a workaround to keep the sync but there are some rules to keep in mind and require the use of Voxengo Latency delay (free)

    Basically it's not possible to come out from a channel and keep the dry signal in sync with its return from Audio routings in VEP, no chances, at least i've found no ways when you include busses and auxes on the chain.

    I've found a way to let it work, let's say i want to create an FX Rack instance in VEP using 4 fx.

    My logic is with 1024 samples buffer, if you want to replicate this use the same buffer, you'll be able to lower it later.

    1-Create a 5 channel mixer istance in VEP server like the image below

    https://postimg.org/image/e5xqer2nh/

    you are going to use 10 in and 10 out on the same istance, assigning like the image. The first channel will be the DRY return and the others are the 4 effect i want to use.

    2 -create a multitimbral instrument in logic and create 5 auxes, i'll use aux 1-5 and bus1-5 where aux1 and bus1 will be the DRY return, see image.

    Assign FXRACK Istance to The multitimbral and add 4 more channels, set 1 buffer, put the I/O only on the first channel instrument.

    https://postimg.org/image/ppnop4wsp/

    On the auxes Put I/O on every channel and assign VEP audio input sequentially 1-2, 3-4 5-6 and so on..

    Now create a normal instrument channel, i'm going to use exs24 and a kick like you did in your video, now the tricky part. if you don't need to use fx from VEP just leave it as is so "stereo out" as output.

    In order to use fx from VEP the out will become bus1, assign bus2-3-4-5 on busses in order to send audio to fx in vep. Basically also the dry signal will go throu VEP, this is the only way i've found for now to keep things as easier as possible.

    Everything will play out of sync compared to logic's metronome, and here comes voxengo latency delay to help us. insert it on the kick channel and give it the value using this formula (VEP FXRACK instance delay + (logic buffer*2)), in this case will be 2048 + (1024*2) = 4096

    https://postimg.org/image/f94496nz1/

    everything will play pefectly now :)

    If you insert latency inducing plug-in on any logic channel the sync will be kept, at least i've found no issues, you do not have to handle it. there's only 1 rule, THE DRY CHANNEL RETURN MUST BE FLAT, NO PLUG-INS, in my example is bus1 aux1 in1-2/out1-2 from VEP (named aux2 in screenshot sorry). Don't know why honestly but it looks that latency compensation is managed fine on the other multitimbral returns while it does not work if you insert stuff on the first one.

    Instead if you insert latency plug-ins in VEP you have to check the latency in FXRACK and adjust voxengo using the formula above (latency + 2048 in my case)

    The nice thing you can even route an instrument from vep to itself, basically you just have to add voxengo and out to bus1, like you just did on the exs24 channel, so it works for instruments coming from vep pro too.

    This is a bit tricky but also once you get used i think it's not too bad, there are some cases where it could be useful, for example if you want to group some loops and use a compressor in VEP or an heavy fx chain that logic can't handle, but for the majority of the times i think i'll just avoid using bus and auxes in conjunction with VEP audio in, with no bus it works just fine and you can also manage dry/wet using vep mixer (make 2 bus with same input and same output and keep the first one flat).

    EDIT: the (easier) alternative method i've just said is like the image below, audio in directly on the instrument, then return back to vep plug-in, same issue here the return channel must be kept flat, if you need to insert stuff just out to a bus and insert plgs on the aux. it looks it handles also latency added by fx inserted in VEP if you respect the flat rule above :)

    https://postimg.org/image/ol1c1u7eb/

    any improvement is welcome :)


  • Thanks a lot, I'll take notes and give it a try. Right now I'm in the middle of a project, I managed to basically use the server as a summing mixer - sending 16 stereo VE Audio Input to server and receiving only a stereo pre-master mix. It works.

    I started to watch carefully which plugs may introduce higher latencies in order to avoid them and the connection works on a manageable manner.

    Living some frustrating days here between VEP's moods and a new purchased synth which is literally taking GPU like a video game :)

    Edit: So, I tested your exposed method from A to Z, it works. Gets frustrating for latencies over 400ms as there's no connection anymore between DAW's needle position and what I hear. For the moment it is a compromise that I'm willing to accept.

    On the other hand, on my Mac, the formula was 3072 + VSL round-trip latency. To avoid the math I just inserted two sample delays, one with a fixed 3072 and the other one with whatever the r-t latency was reported. Now I only need to find a way to sync the settings for more plugins at the same time: either using a global midi mapping through smart controls (key B in logic) or some sort of midi mapping. For the moment I'm doing tests, but I'm looking into making a set of standard FX racks. Easier for me to remember what they actually do, and also trying to keep the latency lowest possible.

    Thank you once again for your effort, hope this thread is going to be useful for future VSL purchasers.