Change Sample rate and buffer size on iOS

Hi,

I’m connected via iRig HD 2 interface to my iPhone and could not manage to change the sample rate setting and the buffer via the MIDI Guitar 2 app. I did manage to open the window that display in audio interface setting in the app but I could not change the setting. Currently it is defined as 48Khz and 250.

Is it possible?

thanks,
Guy

Hi Guy,
no, the iOS app is locked to 256 buffersize.

Best,
Paul
Jam Origin

thanks :cry:
so I guess this is the reason for the latency I have.

is it the same on an iPad?

What is the reason for that? Stability issues?

thanks,
Guy

Latency is not only governed by our app’s buffersize. If you run other synths, check the buffersettings there too. But the biggest latency is the conversion itself.

can I assume that iPad Air (2019) which has A12 Bio vs my iPhone 8 which has A11 bio the latency will be better/smaller? Do you have any performance results or anything else which compare between the two?
I’m asking since I’m thinking of buying an iPad Air for using Midi Guitar app.

thanks !
Guy

The conversion speed is not related to the speed of the CPU: it is related to the wavelength of the notes involved. A newer cpu will allow you to load bigger synths because there is more CPU power, it wil however not change the conversion time.

Is it possible to set the buffer lower if I first open something like Audiobus v3 and set the buffer to, say, 128? Or will MG keep using 256?

MG will adapt to the IAA setting, yes
That means that when MG is invoked as an IAA fx, it will be running at the buffersize of the host, in this case Audiobus.

how do we get Midi Guitar to work with Audiobus?

MG can run as an IAA fx in Audiobus.

The problem is I just dont see it listed, anywhere within Audio Bus.

Just looked it up: seems like Audiobus dropped IAA support (IAA is about to be phased out by Apple, superseeded by AUv3).
IAA is not that usefull anyway for use with Audiobus. It is a nice way to get the audio from MG to garageband, but it doesn’t store settings in the host like AUv3 does. You can not store IAA settings in an Audiobus patch.
Running MG standalone with virtual midi enabled will get you the midi into Audiobus easily.

That’s interesting Paul…
I assume this means that higher notes will convert faster than lower notes? However, it doesn’t seem noticeable to me, so it must be a very small effect. Can you be more specific? For example, how much faster will C5 convert than C3?

BUFFER SIZE
I’ve noted that MG2 defaults to a buffer of 256, but also found that it can be reduced to 128 in a couple of ways:

  1. if you open AUM and set the buffer there to 128, then add MG2 (included in the inter-app audio list) in the chain after system audio. There is no need to set any output slot. MG2 will now be set to a buffer of 128. You can either play inside MG2 with this setting, or outside synths. They will be set to the same buffer size. You can even close AUM and the 128 buffer setting will be retained in MG2.

  2. Open Audiobus and set the buffer size to 128. First open a synth in Audiobus, then open MG2. MG2 will be set with a buffer of 128. On my iPad I can have a couple of synths open in Audiobus with this setting before getting any crackling - but just one is safest.

Getting the buffer size down reduces latency to the minimum and makes your playing experience far more satisfying, so for me it’s worth sacrificing having lots of synths/apps open to be able to use it. Maybe on a more modern iPad with more powerful CPU (mine is a 2016 iPad Mini 5) you could have more synths open with a 128 buffer setting, I’m not sure.

We locked it at 256 in the standalone basically to have a smooth user experience over a wide range of iOS devices.
The % amount of latency improvement of buffer reduction is not that much midiwise: I personally allways use buffer 256 on desktop, originally because the videorecorder software doesn’t allow me to go lower CPU wise, but lateron I didn’t even care anymore.
The IAA option will vanish during from iOS quickly this year, since apple has deprecated it. We’ll see if we can manage a AUv3 version.

Hi, just had the same question re fixed buffer size, thanks for answer Paul.

The usual issue is popping and clicking. I’m using an iPad mini 3, with MG2 going through Audiokit’s Synth One.

In addition to adjusting the buffer size in Synth One, I’ve found the CPU meter in MG2 very helpful in troubleshooting.

Also, I’ve noticed that, when using a Midi Machine in MIDI Output, if I stop it displaying the bottom half of the screen (mainly the scrolling MIDI info) almost all my popping and clicking goes away.

Also, with any apps used being set to continue whilst not displayed, one can close the screen display entirely which presumably also helps.

It would be nice to be able to alter the buffer size though, especially as it becomes an issue when using midi machines, which we pay extra for.

Thanks again for a truly wonderful app!

We locked it at 256 in the standalone basically to have a smooth user experience over a wide range of iOS devices.

It’s makes little sense to have the same buffer on an A7 and M1 device. It should be an option. You could put it under an “Advanced” section and/or warn users about changing it. Being hardcoded to a lowest-common-denominator setting sucks on a fast device.

I discovered after delivery of an $800 iPad Pro M1 and interface that I bought to integrate MIDI GUITAR into my live rig. I’m stymied by something that isn’t even a technical limitation, but is instead artificially imposed by the UI.

The % amount of latency improvement of buffer reduction is not that much midiwise

Very small improvements make a huge difference in this realm.

I personally allways use buffer 256 on desktop

You’re extremely latency tolerant. I play jazz/funk/fusion and need better timing than that or I make the ensemble sound bad. MIDI GUITAR 2 is at the edge of acceptable on the desktop (~4ms from plucking a string to synth/sampler output through the speakers), running 48 samples. Fishman TriplePlay’s tracking is even faster, but the hardware/software surrounding their core algorithm is terrible. MIDI GUITAR 2 is such a clean solution, especially if I can run it on an iOS device. It’s very close, except for this limitation.

Please consider fixing it! It’s not even a bug. You could even market as a new feature (“Faster tracking on newer devices!”) Thanks.

Hello Eric, welcome to this forum :slightly_smiling_face:

Most musicians I know (professional or amateur) including me are comfortable playing with this latency (256s/44,1kHz).
In fact, on stage, with traditional analog equipment, the monitors are usually 2 meters in front, or even 3 meters, which represents a delay from 5,8 ms to more than 10 ms.
If you focus on the latency, you can definitely feel it, but when you play you worry only about your music and the brain does the rest of the work to compensate.
It’s the same principle as a subliminal image that you can only see by focusing on it, but to the detriment of the rest of your overall visual perception.

Personally, I choose a latency of 128s/44.1 kHz because my equipment is sufficiently optimised for live audio applications, using MG2 in a plugin host including between 10 and 30 other plugins (amps, cabs, fx, synths, etc). But playing at 256 samples is not a problem for me, using in-ears from time to time or not.

Most musicians I know (professional or amateur) including me are comfortable playing with this latency (256s/44,1kHz).

None of the musicians I know (professional or amateur) are comfortable playing with this latency. Do our anecdotes cancel out? :wink:

There has been decades of expensive engineering effort across this industry in pursuit of ultra low latency. Obvious that exists because people care, a lot. Jam Origin knows this, too. It’s one of the primary selling points of this software:

In fact, on stage, with traditional analog equipment, the monitors are usually 2 meters in front, or even 3 meters, which represents a delay from 5,8 ms to more than 10 ms.

Yes and that latency remains. Digital processing adds even more latency to that, via ADC/DAC, via buffering, and via processing to convert audio to MIDI. This is cumulative. There’s a threshold – lower for me, obviously much higher for you – where it becomes unpleasant to play. You have to aggressively reduce latency at every step to keep it below that threshold.

In this case, we have superfluous latency that’s trivially removed by unlocking something in a UI – no new technology required. It’s just a setting that is adjustable in most audio software, including the desktop build of this software.

The reason given for locking it is to ensure it works on slower iOS devices, but the power of these devices now spans several orders of magnitude. Forcing a 2500+ GFLOP machine to use the same buffer settings as a 15 GFLOP machine doesn’t make sense.

All I’m saying is: unlock it. Let the user decide. This is technical software with a lot of options. This should be one of them. If you want to charge me another $20 to unlock this one option, I’ll pay it.

GUITAR MIDI 2 is amazing software. Don’t Fisher-Price it into being less impressive than it deserves to be.

1 Like

I’m sorry you’re experiencing these latency issues, I can’t discuss it as I don’t know iOS, being on Windows.

I can hear the difference of playing with 128s. or 256s. latency, and feel the discomfort it can represent, but I can easily adapt to this difference if it’s unavoidable, as it happened to me often on quite big stages with wedges sometimes more than 4 meters in front of me for scenography reasons, but I repeat, the brain compensates for this when you are fully involved in the music you are playing, in the same way as sometimes you can hear each other very well. but the show must go on. :grimacing:

Speaking of anecdotes, listen to Trey Gunn (King Crimson musician) explain that he doesn’t feel any lag when playing with a latency of about 180 samples. And I don’t think he’d really mind an extra 1.5 millisecond.
Trey Gunn on Gig Performer at 3’50"
And if you come to the Gig Performer forum, you will of course find conversations about this latency problem which is still recurrent and where everyone expresses their own sensitivity and difference as here or on other forums. :wink:

No offense, but that you’re OK with high latencies is simply not relevant my request. An analogy: I buy a car and discover that the electronic seat adjustment is locked, so I can’t move the seat back. I’m 6’5", so my legs are cramped. I request that the seat controls be unlocked. You respond, “I’m 5’2” and the seat position works great for me!" That doesn’t help me. It’s not relevant.

You’ve repeated stuff I’ve addressed and said more I disagree with, but I don’t want to engage with you, because it’s moot. The app is capable of lower latency, but the control is locked. I’m just asking that the option be unlocked (and I’m willing to pay for it), so that we can treat 2500 and 15 GFLOP machines differently, as well we should.

The first thing on Jam Origin’s home page is Paul Bielatowicz using MIDI GUITAR exactly as I want to. But I don’t want to have to setup a laptop on stage, I want something integrated into my pedal board. iOS devices to the rescue: incredible size-to-power ratios, extremely stable OS, with great audio/MIDI subsystems. Perfect for this task, except that the iOS version is hobbled right where it counts most.

1 Like