A technical support community for Apple Logic Pro users.

 
RedBaron
Topic Author
Posts: 345
Joined: Mon Feb 13, 2012 6:49 am
Location: little britain

Disadvantages of Large Process Buffer Range

Wed Feb 27, 2013 4:16 pm

Are there any disadvantages to permanently setting the Process Buffer Range to Large (2048 samples) ??

I mean 40 ms (approx. for 44.1k-48k) is still a pretty short amount of time, and due to Logic's hybrid engine, the I/O Buffers take care of "live" audio with much lower latency than the Process (mix) Buffer.

Once Logic has started playing pre-recorded material via the Process Buffer, surely all that matters is that everything stays in sync??

Some thoughts would be appreciated.

: D
Logic X 10.2.4 / v9, Mini i7 2 GHz, El Cap 10.11.6
RME Digiface ..<<..>>..Converters x 24 / 3..>>..Summing..>>..2 Bus

Clicks at +100 samples: 44.1k / 48k (wav)
 
RedBaron
Topic Author
Posts: 345
Joined: Mon Feb 13, 2012 6:49 am
Location: little britain

Re: Disadvantages of Large Process Buffer Range

Thu Feb 28, 2013 5:44 am

Obviously as subject close to people's hearts :)

Anyone?

: D
Logic X 10.2.4 / v9, Mini i7 2 GHz, El Cap 10.11.6
RME Digiface ..<<..>>..Converters x 24 / 3..>>..Summing..>>..2 Bus

Clicks at +100 samples: 44.1k / 48k (wav)
 
User avatar
Matt Mayfield
Posts: 1744
Joined: Mon Feb 12, 2007 11:31 am
Location: St. Paul, MN, USA
Contact:

Re: Disadvantages of Large Process Buffer Range

Thu Feb 28, 2013 9:21 am

I don't know much about exactly what this affects, but I ran into a problem with timing using the DMXIS USB->DMX light controller when I had the process buffer set to large.

Are you running into performance issues? If not, I suggest leaving it on the default setting, just to reduce the possibility that it will case some random subtle problem to crop up in 10 months, after you've forgotten that you changed it, and drive you nuts trying to find the cause.

Not that I've ever experienced that or anything.... :roll:
MacBook Pro with Logic 9.1.8 and 10.2, OS X 10.10 / Home-built i7 PC with various audio software, BSD UNIX-based OS
Audio Fundamentals Course on YouTube
Help stop the Loudness War - sign our petition!
 
User avatar
Eric Cardenas
Moderator
Posts: 22735
Joined: Sat May 07, 2005 1:47 pm
Location: Uppsala, Sweden

Re: Disadvantages of Large Process Buffer Range

Thu Feb 28, 2013 9:50 am

I remember that UAD used to recommend setting the Process Buffer size = I/O Buffer.
I also remember this thread where Logic chased better with a small PBS.

Mod Wheel RBA not chasing
Eric Bradley Cardenas
EC Making Sound
Mac mini 2.6 GHz 16GB RAM Areca⚡RAID | MacBook Pro 2.3 GHz 16GB RAM | Os 10.14.5
Logic Pro 10.4.5 | RME Fireface UFX | Adam A7 + Sub8 | Spectrasonics | Softube
 
RedBaron
Topic Author
Posts: 345
Joined: Mon Feb 13, 2012 6:49 am
Location: little britain

Re: Disadvantages of Large Process Buffer Range

Fri Mar 01, 2013 8:17 am

OK, so far I'm not affected by these particular problems.

I've read ski referring to higher buffer sizes affecting MIDI timing. Is this just "live" MIDI input and the I/O Buffers?

Or does the Process Buffer affect MIDI timing too?

Thanks,

: D
Logic X 10.2.4 / v9, Mini i7 2 GHz, El Cap 10.11.6
RME Digiface ..<<..>>..Converters x 24 / 3..>>..Summing..>>..2 Bus

Clicks at +100 samples: 44.1k / 48k (wav)
 
User avatar
balancedcreativity
Posts: 58
Joined: Sun Aug 26, 2007 4:23 pm
Location: Toronto ON Canada

Re: Disadvantages of Large Process Buffer Range

Fri Mar 01, 2013 1:56 pm

I think the issue is when you start using other non-Logic software plugs... not all of them seem to be compensated correctly, which makes for an unpredictable usage scenario. Hit & miss ain't fun for laying down tracks...!
Logic Pro 9.1.8 - Mac Pro 2.4 GHz 8-Core Intel Xeon - OS 10.8.5 - 48 GB RAM - RME Multiface
Mac Mini server 2GHz Intel i7 x2 - OS 10.8.5 - 16 GB RAM (connected via Vienna Ensemble server)
 
User avatar
ski
Site Contributor
Posts: 16602
Joined: Thu Dec 15, 2005 5:12 pm
Location: Los Angeles

Re: Disadvantages of Large Process Buffer Range

Fri Mar 01, 2013 4:31 pm

RedBaron wrote:
I've read ski referring to higher buffer sizes affecting MIDI timing. Is this just "live" MIDI input and the I/O Buffers?

Or does the Process Buffer affect MIDI timing too?


My writings on I/O buffer size and how different settings affect MIDI timing go back a while (maybe even a few years). I haven't investigated lately whether this is still the case with more recent versions of Logic (i.e., Logic 9). And I don't recall if process buffer settings influenced that at all.

Larger I/O buffer settings definitely negatively influence how quickly virtual instruments appear to respond. High settings = high latency. My gut instinct is to say that it's not the response of the instrument itself that's being delayed... rather, the audio they produce in response to MIDI is delayed. That my guess.

If you're playing external MIDI instruments and monitoring using the external instrument I/O and software monitoring in Logic, then higher I/O buffer sizes will delay when you hear the audio they produce. But again, I don't know if the Process Buffer has any influence.

On the process buffer itself, I used to have it set to "small". But as I changed my system over time, including use of Vienna Ensemble Pro and setting the number of Threads in Logic to 16, I had to set my process buffer to "medium". No other setting works at all.

Back to the I/O buffer, I've found that on numerous occasions when I'm mixing, the higher the I/O buffer size, the better the sound. More clarity, more definition. Even if a project seems to run fine at 128 or 256, the sound quality improves at 512 and 1024.

FWIW...
MacPro 8 Core 2.4 GHz Xeon | 32G RAM | Sierra | LPX10.4 | Creator of ARTzID and SkiSwitcher Articulation Switching Systems for Logic Pro X, author of tutorials on The Score Editor, Enhancing Realism in Orchestral Mockups, and others.
 
RedBaron
Topic Author
Posts: 345
Joined: Mon Feb 13, 2012 6:49 am
Location: little britain

Re: Disadvantages of Large Process Buffer Range

Sun Mar 03, 2013 7:00 am

ski wrote:
Larger I/O buffer settings definitely negatively influence how quickly virtual instruments appear to respond. High settings = high latency. My gut instinct is to say that it's not the response of the instrument itself that's being delayed... rather, the audio they produce in response to MIDI is delayed. That my guess..


So are you saying that there is no delay once the virtual instrument receives a MIDI note on. In other words, the VI spits out audio the instant it receives a note on, but it's the incoming MIDI message that's jittering.

Or are you saying the incoming MIDI note on is received with relative timing intact, the VI generates it's audio instantly, but that audio sits in a jittery output buffer(s)?

Thanks for the great info by the way.

: D
Logic X 10.2.4 / v9, Mini i7 2 GHz, El Cap 10.11.6
RME Digiface ..<<..>>..Converters x 24 / 3..>>..Summing..>>..2 Bus

Clicks at +100 samples: 44.1k / 48k (wav)
 
User avatar
Ashermusic
Posts: 3378
Joined: Sat Oct 22, 2005 11:51 am
Location: Lake Balboa, CA
Contact:

Re: Disadvantages of Large Process Buffer Range

Sun Mar 03, 2013 7:13 am

ski wrote:
Back to the I/O buffer, I've found that on numerous occasions when I'm mixing, the higher the I/O buffer size, the better the sound. More clarity, more definition. Even if a project seems to run fine at 128 or 256, the sound quality improves at 512 and 1024.

FWIW...


Are you sure this is not psychoacoustics, Ski? I have never noticed this and considering what the I/O buffer size actually does, which is buffering incoming and outgoing data data to protect against clicks, pops, and dropouts, I cannot think of a logical reason why it would be so.

Holger, if you are out there, I would like your take on this.
Mac mini 3.2 Six Core i7 w/ OSX 10.14

Composer, Logic Pro X Certified Trainer
Author of "Jumpstart Logic Pro X 10.5", "Going Pro with Logic Pro 9" & "Scoring with Logic Pro"
http://www.jayasher.com
 
User avatar
ski
Site Contributor
Posts: 16602
Joined: Thu Dec 15, 2005 5:12 pm
Location: Los Angeles

Re: Disadvantages of Large Process Buffer Range

Sun Mar 03, 2013 10:46 am

@ RedBaron, I'm suggesting that the VI reacts as soon as it sees a MIDI Note On, but that we hear the audio late due to buffer latency. The buffer is part of the audio system. OTOH, MIDI has nothing to do with audio. MIDI notes only trigger the onset of sound.

@ Ashermusic, I'm sure it has nothing to do with psychoacoustics. It's a phenomenon I've noticed for years. My ears don't lie. I hear things other people don't hear ("I hear dead people") :lol: It's both a blessing and curse. While Holger might be able to offer a technical explanation, he's not going to be able to refute my experience. Really, Jay, you can take my word for it. Or not :lol:
MacPro 8 Core 2.4 GHz Xeon | 32G RAM | Sierra | LPX10.4 | Creator of ARTzID and SkiSwitcher Articulation Switching Systems for Logic Pro X, author of tutorials on The Score Editor, Enhancing Realism in Orchestral Mockups, and others.
 
sonther
Posts: 5
Joined: Tue Aug 01, 2006 11:40 pm

Re: Disadvantages of Large Process Buffer Range

Sun Mar 03, 2013 8:12 pm

ski wrote:
@ RedBaron, I'm suggesting that the VI reacts as soon as it sees a MIDI Note On, but that we hear the audio late due to buffer latency. The buffer is part of the audio system. OTOH, MIDI has nothing to do with audio. MIDI notes only trigger the onset of sound.

@ Ashermusic, I'm sure it has nothing to do with psychoacoustics. It's a phenomenon I've noticed for years. My ears don't lie. I hear things other people don't hear ("I hear dead people") :lol: It's both a blessing and curse. While Holger might be able to offer a technical explanation, he's not going to be able to refute my experience. Really, Jay, you can take my word for it. Or not :lol:



Hey Ski, yes, we had those (and many more very deep) discussions 6 or 7 years ago on that "other" forum. The suggestion that MIDI has nothing to do with audio, and that we hear audio late due to buffer latency stands correct in my opinion as well.

Furthermore, I can confirm your "blessing and curse" experience first hand, hearing it daily and since many years as well! Maybe "clicks, pops and dropouts" are just part of an underlying spoof about a newly invented style of music we have not experienced yet.
 
User avatar
ski
Site Contributor
Posts: 16602
Joined: Thu Dec 15, 2005 5:12 pm
Location: Los Angeles

Re: Disadvantages of Large Process Buffer Range

Sun Mar 03, 2013 9:33 pm

OMG!! Sonther! OMG!! How the heck are you? (PM to follow)

sonther wrote:
Furthermore, I can confirm your "blessing and curse" experience first hand, hearing it daily and since many years as well! Maybe "clicks, pops and dropouts" are just part of an underlying spoof about a newly invented style of music we have not experienced yet.


ROFL! Brilliant as ever.
MacPro 8 Core 2.4 GHz Xeon | 32G RAM | Sierra | LPX10.4 | Creator of ARTzID and SkiSwitcher Articulation Switching Systems for Logic Pro X, author of tutorials on The Score Editor, Enhancing Realism in Orchestral Mockups, and others.
 
User avatar
Ashermusic
Posts: 3378
Joined: Sat Oct 22, 2005 11:51 am
Location: Lake Balboa, CA
Contact:

Re: Disadvantages of Large Process Buffer Range

Sun Mar 03, 2013 10:15 pm

ski wrote:
@ Ashermusic, I'm sure it has nothing to do with psychoacoustics. It's a phenomenon I've noticed for years. My ears don't lie. I hear things other people don't hear ("I hear dead people") :lol: It's both a blessing and curse. While Holger might be able to offer a technical explanation, he's not going to be able to refute my experience. Really, Jay, you can take my word for it. Or not :lol:


I hear you, and when someone that I respect's experience disagrees with science (and I am not saying it will in this case) then I can only turn to my own experience the tie breaker.
Mac mini 3.2 Six Core i7 w/ OSX 10.14

Composer, Logic Pro X Certified Trainer
Author of "Jumpstart Logic Pro X 10.5", "Going Pro with Logic Pro 9" & "Scoring with Logic Pro"
http://www.jayasher.com
 
RedBaron
Topic Author
Posts: 345
Joined: Mon Feb 13, 2012 6:49 am
Location: little britain

Re: Disadvantages of Large Process Buffer Range

Mon Mar 04, 2013 7:34 am

ski wrote:
... MIDI has nothing to do with audio. MIDI notes only trigger the onset of sound.


This is something I have a problem with. In my system, I regard MIDI as having a very close relationship to my Audio. My MIDI events need to occur at precise timing points relative to sample-accurate Audio. I think I should be given the option to relate/lock/quantize MIDI events to the sample/word clock coming from my ADAT master clock.

The following article has some interesting points regarding Logic's "live" MIDI input buffer. Apparently, Logic always has a MIDI frame-offset of 0, suggesting the MIDI input itself is badly buffered (jittery):

MIDI jitter might be ruining your live performance
Logic X 10.2.4 / v9, Mini i7 2 GHz, El Cap 10.11.6
RME Digiface ..<<..>>..Converters x 24 / 3..>>..Summing..>>..2 Bus

Clicks at +100 samples: 44.1k / 48k (wav)
 
User avatar
ski
Site Contributor
Posts: 16602
Joined: Thu Dec 15, 2005 5:12 pm
Location: Los Angeles

Re: Disadvantages of Large Process Buffer Range

Mon Mar 04, 2013 1:21 pm

Hi Red Baron,

You say you have a problem with my statement that MIDI has nothing to do with Audio, but what I wrote is accurate. And you can bank on it. :mrgreen:

MIDI messages are simply digital messages that are produced in response to each action you perform on a controller. When you play a note, a Note-On message is generated saying which note you played and how hard you played it. Included in that message is the MIDI channel. Once that Note Message is done (and it lasts approx 1 ms) the sound propagates on its own from the instrument itself until you release the key. Then, a Note-Off message is generated for that note. When that's received by the instrument, the sound will stop at a rate determined by the properties of the instrument itself (specifically its release time).

(Some of the above is paraphrased from my video tutorial on MIDI available at MacProVideo.com.)

My MIDI events need to occur at precise timing points relative to sample-accurate Audio.


But again, MIDI has nothing to do with audio or sample rates.

MIDI is not time-stamped when you generate it. And as it is, every time you play a note, there is going to be a minimum delay of one millisecond because that's the length of a MIDI Note-On message (and one that's not generated under "running status"). Besides, MIDI is a serial protocol, so even when you think you're playing simultaneous events (like a chord), the result is actually an extremely fast arpeggio of MIDI messages for each note.

And because it's a serial and asychronous protocol, it's impossible not to have jitter in MIDI messages from the source (your controller).

Thus...

I think I should be given the option to relate/lock/quantize MIDI events to the sample/word clock coming from my ADAT master clock.


Need more coffee to address that one.

The following article has some interesting points regarding Logic's "live" MIDI input buffer. Apparently, Logic always has a MIDI frame-offset of 0, suggesting the MIDI input itself is badly buffered (jittery):

MIDI jitter might be ruining your live performance


I'll have a look and get back to you on that too.
MacPro 8 Core 2.4 GHz Xeon | 32G RAM | Sierra | LPX10.4 | Creator of ARTzID and SkiSwitcher Articulation Switching Systems for Logic Pro X, author of tutorials on The Score Editor, Enhancing Realism in Orchestral Mockups, and others.
 
RedBaron
Topic Author
Posts: 345
Joined: Mon Feb 13, 2012 6:49 am
Location: little britain

Re: Disadvantages of Large Process Buffer Range

Mon Mar 04, 2013 2:02 pm

Wow, that really didn't come across the way it was intended :mrgreen: :mrgreen:

I wasn't criticizing your statement. From what I understand, it's how Core Audio works.

ski wrote:
My MIDI events need to occur at precise timing points relative to sample-accurate Audio.


But again, MIDI has nothing to do with audio or sample rates.

...

MIDI is not time-stamped when you generate it.

...
I think I should be given the option to relate/lock/quantize MIDI events to the sample/word clock coming from my ADAT master clock.



My point is that my external MIDI (synths) are using software monitoring on input audio channels, and that audio is being mixed with audio generated inside Logic (soft synths). Every time a MIDI note triggers a sound in an external MIDI synth, that audio is mixed inside Logic with this other (internal) audio. I want both sets of audio to stay in sync/time. For me they share a relationship because their audio is being mixed inside Logic in some musical way.

Now you can tell me to take a running ski-jump...

: D
Logic X 10.2.4 / v9, Mini i7 2 GHz, El Cap 10.11.6
RME Digiface ..<<..>>..Converters x 24 / 3..>>..Summing..>>..2 Bus

Clicks at +100 samples: 44.1k / 48k (wav)
 
User avatar
ski
Site Contributor
Posts: 16602
Joined: Thu Dec 15, 2005 5:12 pm
Location: Los Angeles

Re: Disadvantages of Large Process Buffer Range

Mon Mar 04, 2013 2:27 pm

Oh, I didn't take what you wrote as criticism at all. So no worries :D I tired to indicate that with my "mr greeny" smiley. It's all good.

I hear what you're saying about wanting everything to be sync'd, especially to word clock. But there are tons of technical limitations that prevent things from being the way you described. :(

When it comes to any audio that you're monitoring through Logic, it's all eventually sync'd to word clock. So in effect, your internal and external sound sources are merged and are played back under the same clock. It's true, for MIDI devices that don't have a wordclock input, that audio is going to be generated independently from Logic's – until such time as it's analog-to-digitally converted; then it's as in-sync with all of your other audio. But this isn't really a problem. An external synth's analog audio output is no different from that of a live musician or vocalist (and their audio output wouldn't be locked to word clock LOL!) But the sampling that takes place at your A/D converter is driven by the wordclock, so at that point the analog, "free running" audio is converted to following-word-clock samples.

I hope that makes sense.
MacPro 8 Core 2.4 GHz Xeon | 32G RAM | Sierra | LPX10.4 | Creator of ARTzID and SkiSwitcher Articulation Switching Systems for Logic Pro X, author of tutorials on The Score Editor, Enhancing Realism in Orchestral Mockups, and others.
 
Idsz
Posts: 3
Joined: Mon Feb 13, 2012 9:53 am

Re: Disadvantages of Large Process Buffer Range

Wed May 08, 2013 7:20 am

Sorry for opening this thread again, but in my experience the buffer size has a tremendous impact on midi timing. I've set it to small after I tried to work for way too long with a large buffer range and was struggling with staccato's and percussion. One percussion-loop I made (with East West samples) was actually "limping" on this setting. Glad that nightmare is over...
 
RedBaron
Topic Author
Posts: 345
Joined: Mon Feb 13, 2012 6:49 am
Location: little britain

Re: Disadvantages of Large Process Buffer Range

Wed May 08, 2013 7:43 am

Interesting.

Are you talking about MIDI going to Software Instruments (internal).

Or External MIDI going to stand-alone plugins, or external MIDI devices?

dD
Logic X 10.2.4 / v9, Mini i7 2 GHz, El Cap 10.11.6
RME Digiface ..<<..>>..Converters x 24 / 3..>>..Summing..>>..2 Bus

Clicks at +100 samples: 44.1k / 48k (wav)
 
User avatar
Mark R
Posts: 392
Joined: Thu Jan 26, 2006 9:50 am
Location: Tumwater, WA

Re: Disadvantages of Large Process Buffer Range

Thu May 09, 2013 10:54 am

Idsz wrote:
...in my experience the buffer size has a tremendous impact on midi timing.


RedBaron wrote:
The following article has some interesting points regarding Logic's "live" MIDI input buffer. Apparently, Logic always has a MIDI frame-offset of 0, suggesting the MIDI input itself is badly buffered (jittery):

MIDI jitter might be ruining your live performance



I can verify that when using Direct MIDI Input (such as a live keyboard) software instruments in Logic 9 will exhibit the "MIDI quantization by duration of the sample buffer size errors" discussed in the above eigenzone.org MIDI Jitter link.

The same channel strip driven by a Recorded MIDI Region will play back fine however. (Perhaps in this more leisurely mode, Logic is programmed to take more care with exact MIDI timing while calculating the instruments audio output.)

This unpleasant MIDI Jitter can easily be verified by sending, for example; a semi-ridiculously fast arpeggio from an external MIDI keyboard feeding a software instrument in "Live Mode". Notice the differences in timing as you try out various I/O Buffer sizes, from the largest to the smallest. At larger settings the timing can audibly "limp" as it strobes against the buffer's audio latency. The "Jitter" clears up quite well at 32 samples. (I've also found this setting will remarkably tighten up even dense "Virtual MIDI Output" from a plugin such as the Kirnu Cream arpeggiator.)

To recap:
This section from the eigenzone.org MIDI Jitter article explains what's going on.

The timing of the MIDI data is completely unrelated to the audio stream, it’s up to the host to correlate them. MIDI events merely arrive as reliably as possible at the host who subsequently has to pass them on to the audio plugin. Again, the host uses an internal buffer to store the MIDI data that arrived while the plugin was calculating a batch of samples. When it’s time to calculate the next batch, the host simply passes the buffer of MIDI data to the software plugin so that it can calculate the corresponding audio.

It’s here that additional MIDI jitter can set in. If the host doesn’t remember when the MIDI events arrived while storing them in a buffer, the software plugin can only assume that they started at the beginning of the sample buffer it’s generating and that they followed each-other, one by one, without any delays in between. Since everything is snapped to the beginning of a sample buffer, this effectively applies a quantization effect to the MIDI events with the duration of the sample buffer size. For a buffer of 512 samples at 44.1kHz, the audio is then quantized at intervals of 11.6ms.
Logic 10.5.1 | Mojave | retina iMac 4GHz i7 32GB
Logic 10.4.8 | High Sierra | MacMini 2.3GHz, i7 16GB