Audio latency with FX apps

I guess this applies to any latency but I’m more and more frustrated with audio playback being behind what I’ve actually played live.

Some of you might already know that I rely on Loopy for my audio looping needs and I have to commend Michael for keeping the latency bugs in check. The problem arises, I notice, when an effect app is plugged in. In this particular case my attention falls on ToneStack and VoiceRackFX.

I think my staccato, percussive style of playing doesn’t help but as things stand I’m considering switching to outboard fx solution, however it pains me not to take advantage of the power of some iPad apps. As well as practicality of not having extra wires, power adapters and the likes.

At present, the only thing that’s stopping me from going hardware only is Samplr which sadly isn’t available in hardware and Loopy with its ‘on the fly’ loop length feature.

Are there any practical steps to eliminate latency build up? @j_liljedahl, @Michael @brambos @sonosaurus ?

Many thanks

«1

Comments

  • Not much except using a good audio interface, keeping buffersize low-ish (256, maybe 128), and not using effects that introduces additional delay - which would be any effect utilising lookahead (some limiters and compressors) or FFT processing. For example, all my AUFX apps have a built-in lookahead limiter that adds additional latency, but can be turned off in the settings menu.

  • I have to put a little Loopy maintenance time in shortly; let me double check all is in order there too. I assume you're talking about the recorded loop being slightly out of time, right?

  • edited June 13

    @Michael said:
    I have to put a little Loopy maintenance time in shortly; let me double check all is in order there too. I assume you're talking about the recorded loop being slightly out of time, right?

    Please check also that everything is recorded with right latency compensation when Loopy record AUM audio input with fxs though Audiobus. I’ve also the feeling there is added latency on Loopy recordings. Same thing with Audiobus routing apps like Gadget in AUM for recording in Blocswave, using link and Gadget midi sequencer, so no live playing while recording audio though AB, only playback: recordings are always behind the beat, I’ve to use Blocswave sample slip feature to adjust.

  • @j_liljedahl said:
    Not much except using a good audio interface, keeping buffersize low-ish (256, maybe 128), and not using effects that introduces additional delay - which would be any effect utilising lookahead (some limiters and compressors) or FFT processing. For example, all my AUFX apps have a built-in lookahead limiter that adds additional latency, but can be turned off in the settings menu.

    Any recommendations in terms of interfaces? I didn't realise they had such an impact.

  • @Michael said:
    I have to put a little Loopy maintenance time in shortly; let me double check all is in order there too. I assume you're talking about the recorded loop being slightly out of time, right?

    That could be an issue as well. I've noticed the lag changes depending on how long is the loop.

  • @Janosax said:
    Please check also that everything is recorded with right latency compensation when Loopy record AUM audio input with fxs though Audiobus.

    Can you ‘step by step’ me how to do it please?

  • edited June 13

    @supadom said:

    @Janosax said:
    Please check also that everything is recorded with right latency compensation when Loopy record AUM audio input with fxs though Audiobus.

    Can you ‘step by step’ me how to do it please?

    Sorry I was asking Loopy dev to check how things are recorded in that setup I described as it seems to me I’ve the same issue as you.

    @Michael said:
    I have to put a little Loopy maintenance time in shortly; let me double check all is in order there too. I assume you're talking about the recorded loop being slightly out of time, right?

  • @Janosax said:

    @supadom said:

    @Janosax said:
    Please check also that everything is recorded with right latency compensation when Loopy record AUM audio input with fxs though Audiobus.

    Can you ‘step by step’ me how to do it please?

    Sorry I was asking Loopy dev to check how things are recorded in that setup I described as it seems to me I’ve the same issue as you.

    @Michael said:
    I have to put a little Loopy maintenance time in shortly; let me double check all is in order there too. I assume you're talking about the recorded loop being slightly out of time, right?

    Ok, no worries. Thinking of it this might actually be the problem but I will investigate across the three interfaces I own whether there is a discerneable difference in latency.

    Having said that, when I bypass ToneStack the latency does improve considerably. The usual iOS mystery.

  • edited June 13

    I'd pay good money for an app that clearly laid out latency (MIDI and audio) through the entire iOS system and interface (maybe incorporating a test stage where you route the interface cables back into itself?), wishful thinking though probably... too complicated?

  • (FWIW) I find the timing using Loopy 'standalone' MIDI synced to my PC DAW really solid. (Amazing basically...)
    I'm able to record a variety of MIDI clocked hardware with only the tiniest amount of audible latency when recordings are played back alongside the live audio.
    This is using an RME multiface soundcard @ 64 samples on the PC and a Roland Duo Capture @ 128 samples for the iPad, so the slight deviation is probably only due to the couple of ms difference in latency.
    Not totally on topic I know but I would therefore assume that the FX in the chain are causing the timing issues.

  • edited June 14

    I wouldn't expect much difference between interfaces because most are based on the same standard driver scheme with the same set of buffer sizes to choose from.
    How low you can actually get depends on your specific system load, which is influenced by the apps you use and their communication path (AU/IAA).

    There is no general rule and for that reason no single app can act in the sense of an audio system supervisor (as suggested above).

    I remember using Multitrack DAW (as the only app running) for raw tracking with no processing worked at the lowest 1.4 ms buffer size, but only 2.8ms guaranteed a 100% glitchfree result. The lowest setting sometimes had single events every 1-3 minute.
    (unfortunately I don't remember if networking was switched off)
    With demanding apps like Bias in the live processing chain 5.6ms was the most reliable.

    This aspect of latency only applies to monitoring convenience for the performer.

    In regard to mixing you (ideally) want it accurate down to the single sample.
    Some 5 or 12 samples displacement is not audible in the sense of early/late, but can have a big influence on the sound of (say) a kick or hi-hat that's layered or processed in multiple channels.

    May read like counting peas, but if you compare a system with precise compensation of different audio streams to the standard IOS mode, you may notice a huge difference in mixes.
    (it depends on source type... pure acoustic tracks are less influenced than complex electronic/pop mixes)
    In IOS no such features exist, but you may have had the experience that your final mixdown strangely didn't match the monitoring memory.
    In AUM there's at least an attenpt to include latency compensation in the IAA tab, but I never got this to work.
    (I tried to abuse it for external channels with a dummy IAA insertion)

  • I've been looping some live djembe and noticed increased latency. I've bypassed aum's limiter and gain and it improved things considerably. A lot of trial and error I forsee.

  • @supadom said:

    @j_liljedahl said:
    Not much except using a good audio interface, keeping buffersize low-ish (256, maybe 128), and not using effects that introduces additional delay - which would be any effect utilising lookahead (some limiters and compressors) or FFT processing. For example, all my AUFX apps have a built-in lookahead limiter that adds additional latency, but can be turned off in the settings menu.

    Any recommendations in terms of interfaces? I didn't realise they had such an impact.

    Novation AudioHub is simple and yet does basics really good.

    I had and got rid of other iConnect stuff because they have an app involved.

    Audiohub independent.

    Also heard discontinued so get quick

    I am gonna grab a 2nd for future

  • @RUST( i )K said:

    @supadom said:

    @j_liljedahl said:
    Not much except using a good audio interface, keeping buffersize low-ish (256, maybe 128), and not using effects that introduces additional delay - which would be any effect utilising lookahead (some limiters and compressors) or FFT processing. For example, all my AUFX apps have a built-in lookahead limiter that adds additional latency, but can be turned off in the settings menu.

    Any recommendations in terms of interfaces? I didn't realise they had such an impact.

    Novation AudioHub is simple and yet does basics really good.

    I had and got rid of other iConnect stuff because they have an app involved.

    Audiohub independent.

    Also heard discontinued so get quick

    I am gonna grab a 2nd for future

    And of course we all know you are a Novation freak!

  • If it had 4 mic preamps I'd be all over it. As is Akai EIE still rocks my boat.

  • edited June 22

    @Michael

    Here are some screenshots for illustration.

    Usually I record my sax from AUM/microphone to Loopy using Audiobus 3. Here is an example using Blocswave instead of audio sax. First loop is imported from AudioShare in Loopy and perfectly on the beat. Second one is Blocs wave loop hosted in Audiobus routed/recorded to Loopy. Third one is same Blocs wave loop hosted in AUM hosted in Audiobus routed/recorded to Loopy. There are no effects processing, and both loops are offset, there is some software latency. This should be really nice to be fixed: with latency compensation for AB/AUM/Loopy setups. Those apps are the best for iOS live setup, and as I will not use Loopy alone and need some AB/AUM routing, I think this fix/feature update is really need.

    And here for comparison is Loopy recording Loopy by internal iPhone mic: first loop imported, second loop speaker recorded by mic. Timing is perfect. Should be the same with AB/AUM routing.

    EDIT: when monitoring myself with sax or voice, even using AB/AUM routing with or without fxs the timing is good because I do some compensation when hearing latency in headphones. Without monitoring, recordings are offset. I know Ableton Live do some compensation when software monitoring is off, and don’t compensate anything when monitoring is on because musician will do by its playing. So I don’t want something which works with monitored audio recording to be broken, this latency compensation should be an option like in Ableton or even AUM.

    @supadom do you use software monitoring? I use VoiceRack FX a lot with my sax, and some presets have huge latency. But by anticipate my playing timing and hearing myself in headphones my loopy recordings are tight on the beat. If using acoustic instruments, using IEM’S like Shure 215 helps a lot to hear only software monitoring and adapt your timing. I also think you will need at least 128 frames for proper playing. IRig Pro IO works well here.

  • @Janosax Oh hey, is this working better for you since 3.1.3? I made some modifications to the audio pipeline which should make it handle latency more accurately.

  • I use a focusrite scarlet 2i2 interface and get really good results, only one stereotype input, but the 4i4 has two and they are very affordable and we'll praised

  • @Janosax said:
    @Michael

    Here are some screenshots for illustration.

    Usually I record my sax from AUM/microphone to Loopy using Audiobus 3. Here is an example using Blocswave instead of audio sax. First loop is imported from AudioShare in Loopy and perfectly on the beat. Second one is Blocs wave loop hosted in Audiobus routed/recorded to Loopy. Third one is same Blocs wave loop hosted in AUM hosted in Audiobus routed/recorded to Loopy. There are no effects processing, and both loops are offset, there is some software latency. This should be really nice to be fixed: with latency compensation for AB/AUM/Loopy setups. Those apps are the best for iOS live setup, and as I will not use Loopy alone and need some AB/AUM routing, I think this fix/feature update is really need.

    And here for comparison is Loopy recording Loopy by internal iPhone mic: first loop imported, second loop speaker recorded by mic. Timing is perfect. Should be the same with AB/AUM routing.

    EDIT: when monitoring myself with sax or voice, even using AB/AUM routing with or without fxs the timing is good because I do some compensation when hearing latency in headphones. Without monitoring, recordings are offset. I know Ableton Live do some compensation when software monitoring is off, and don’t compensate anything when monitoring is on because musician will do by its playing. So I don’t want something which works with monitored audio recording to be broken, this latency compensation should be an option like in Ableton or even AUM.

    @supadom do you use software monitoring? I use VoiceRack FX a lot with my sax, and some presets have huge latency. But by anticipate my playing timing and hearing myself in headphones my loopy recordings are tight on the beat. If using acoustic instruments, using IEM’S like Shure 215 helps a lot to hear only software monitoring and adapt your timing. I also think you will need at least 128 frames for proper playing. IRig Pro IO works well here.

    Hey @Janosax sorry I’ve missed your comment, but I’m going to answer it now since @Michael has dug it up. :)

    I tend to use software monitoring as I often find that direct monitoring sound is a bit dull and doesn’t cut through the mix.

    I actually oscillate between 128 and 256 frames but notice that the number often isn’t a true representation of what I hear and actual latency will vary depending on the app you’re using. So if Audiobus latency is at 128 two different channels with two different effect will have different perceived latencies.

    Yes, you’re right, some pitch effects in VoiceRack have more latency, especially the pitch shifting ones but that seems to be the case with most fx apps, more processing.

    I’ve contacted TC Helicon last week and they’re apparently working on making voicerack fully compliant with AU midi standard etc. They might tweak the latency too, who knows? ETA: couple of months.

    I hope that hosts will start implementing AU preset switching via midi.

  • @supadom said:
    I hope that hosts will start implementing AU preset switching via midi.

    Working on that as we speak =)

  • @supadom said:

    @j_liljedahl said:
    Not much except using a good audio interface, keeping buffersize low-ish (256, maybe 128), and not using effects that introduces additional delay - which would be any effect utilising lookahead (some limiters and compressors) or FFT processing. For example, all my AUFX apps have a built-in lookahead limiter that adds additional latency, but can be turned off in the settings menu.

    Any recommendations in terms of interfaces? I didn't realise they had such an impact.

    With an iCA4+ I can play with a MIDI keyboard at 512 and latency is un-noticeable (I was very surprised at that). If I unplug the device from the interface, there is a clearly audiable delay.

    With a guitar it would need to be less to be un-noticed, but it really surprised me how big the different between interface and no interface was.

  • The problem with real time audio fx is that you need to use low buffer size to get rid of latency(also might want to check anything with lookahead as mentioned), but the loweribg of buffer requires a lot of cpu power, which means that you need an ipad pro to use many fxs. Air2 can only handle a few, that is if they are not really high cpu using fxs

  • edited September 16

    @supadom for a compact set not too expensive, I'd go for this:
    https://www.musictribe.com/Categories/Behringer/Computer-Audio/Interfaces/UMC404HD/p/P0BK1
    For 4 audio in... Never tested myself, but seems very good for the price.

    Next level, and I'd recommend this one to get best audio possible in that range of price, ( and ADAT to get more inputs if needed later)
    https://focusrite.com/usb-c-audio-interface/clarett-usb/clarett-4pre-usb

    Then the latest ipad pro 12 to get the lowest possible latency. (I'm running at 256 with the first gen iPad Pro 12, with lots of effects but I can't go to 128 actually with these...)

    As far as I remember you're making live looping, I'd not recommend ICA4+, which is great for studio, but not stable enugh (to me) in live situation.

  • A guitar signal (if processed) passes input AND output buffers, so it's natural that midi input is perceived more directly than specs suggest.
    The internal latency of many audio plugins can be much higher than the buffer latency and may vary a lot - as mentioned above.

  • @crony said:
    @supadom for a compact set not too expensive, I'd go for this:
    https://www.musictribe.com/Categories/Behringer/Computer-Audio/Interfaces/UMC404HD/p/P0BK1
    For 4 audio in... Never tested myself, but seems very good for the price.

    Next level, and I'd recommend this one to get best audio possible in that range of price, ( and ADAT to get more inputs if needed later)
    https://focusrite.com/usb-c-audio-interface/clarett-usb/clarett-4pre-usb

    Then the latest ipad pro 12 to get the lowest possible latency. (I'm running at 256 with the first gen iPad Pro 12, with lots of effects but I can't go to 128 actually with these...)

    As far as I remember you're making live looping, I'd not recommend ICA4+, which is great for studio, but not stable enugh (to me) in live situation.

    I've had them all and I'm still using Akai EIE Pro and zoom u24 when I don't need as many inputs.

    I had the Behringer for one day before I sent it back. When plugged in at times it wouldn't make a sound, not ideal if you rely on it to play live. Maybe sorted now via firmware but I ain't getting it any time soon.

    I'm on Pro 10.5 so for now latest and greatest. Audiobus tweakery Michael has been doing lately is making a world of a difference.

    Onwards and upwards ;)

  • @Michael said:
    @Janosax Oh hey, is this working better for you since 3.1.3? I made some modifications to the audio pipeline which should make it handle latency more accurately.

    It’s a bit better but still there. I will try with dry signal too. All AU should inform AB about latency and helps for compensation, it seems to me you have said not all AU do that and it’s the issue. When playing with a timing slightly before the beat this helps to compensate even if it’s not perfect.

  • @supadom You did test the Clarett (not Scarlett) and prefer the Akai ? Really ?... And very weird for the Behringer...
    The 10'5 pro does not get 4 Gb RAM, right ?

  • @crony said:
    @supadom You did test the Clarett (not Scarlett) and prefer the Akai ? Really ?... And very weird for the Behringer...
    The 10'5 pro does not get 4 Gb RAM, right ?

    I have a behringer 1820 and it is not very reliable when connecting first time to devices. I wouldn’t trust it for live performance. I’m happy for what it does though.

  • @crony said:
    @supadom You did test the Clarett (not Scarlett) and prefer the Akai ? Really ?... And very weird for the Behringer...
    The 10'5 pro does not get 4 Gb RAM, right ?

    Claret's our of my budget unfortunately, so is Arturia audiofuze. I like Akai because it is solid and has 3 usb inputs on the back. For live use 16bit is alright, no complaints. I’ve been using it for the last 5 years and never had any problems.

    10.5 indeed has 4Gb ram but that doesn’t unfortunately mean you can pile up double everything than air 2. Having said that, when using all the proper apps (Turnado, Loopy etc) things are stable and it is a pleasure to work with.

    As with all iOS versions it is at the very end of the cycle that the dust settles and music can finally be made. I hope I’m not going to be swayed to update to 12 too soon.

  • @supadom you might want to give a try to a second hand RME Baby Face...The BabyFace Pro has a better latency, but is much more expensive.
    RME is famous for having a buffer 64 latency stable.

    Clarett second hand might do the trick, but has the same latency of Scarlett 2nd generation. (Clarett got better preamps "only")
    So Scarlett 18/8 2nd gen, second hand is around 200 € got 4 preamps.
    I think that's the minimum to see some improvements in your set.

    But if you want a 10 years solid interface, with best latency possible, I'd go for a Baby Face Pro second hand.
    You'll ear the difference on everything for sure.

Sign In or Register to comment.