Drivers are something that most of us seem to glance over. We install them once and then move on, forgetting how important they actually are. Well for those of you who don't know what they actually do, this is the article for you!
Drivers are pieces of software that allow the computer to communicate with peripherals connected to your computer. Taking data from a device and processing it so that the computer can use it or vice versa. As a computer's Central Processor Unit (CPU) only has a finite amount of processing power, drivers will work with the Operating system to help cue jobs up ready to be processed by the processor when there's a free slot in the CPU’s time. This could be a mouse moving a pointer on screen or a computer sending a document to a printer.
However, here at Audient, the drivers we care about most are Audio Drivers as this allows us to send and receive audio from our Audient interfaces to our computers for recording, processing and mixing.
Audio drivers are somewhat different to the examples above as it is time sensitive data. If a document being sent to the printer isn’t processed by the drivers quite on time then you are very unlikely to notice this. However, if audio drivers don’t process the audio quickly enough then you’re left which a chunk of silence which depending on the severity of the chunks can be heard as crackles or pops.
Buffer = Biscuits
To add a degree of protection against these dropouts, audio drivers utilize something called a buffer. This is essentially a ‘queue’ of audio samples which wait to be processed. You could imagine these buffers as biscuits getting put into boxes.
The Biscuits come through the production line at a fixed pace and fall into a box to be packaged. For the sake of this example, let's say there is normally a biscuit every second.
Each box has room for a certain number of biscuits and the box will wait the right amount of time for the biscuits to fill the box. As the biscuits are produced 1 per second, a box of 50 biscuits would wait 50 seconds before the package is sealed up and shipped off and a new biscuit box is started.
If something in the biscuit production line blocks the conveyor belt then biscuit rate will be slower and a biscuit box may leave with not enough bisThe larger the biscuit box, the longer the workers will have to notice the problem and get the biscuits into the box before it’s sealed up and shipped out.
In this case the box of biscuits is your sample buffer, the stream of biscuits is your audio and the workers are the processor of your computer. The biscuits being shipped off can be thought of as the audio being sent to your interface. And of course, computers operate much quicker than biscuit factories.
The bigger the buffer size, the more likely your CPU will keep up.
Having a smaller biscuit box or a smaller buffer means that if there is anything that interrupts the audio stream being processed, such as the computer needing to process the calculations for a plug-in or simply handling things that keep the computer running, this can cause the buffer to leave before its full and this will cause a small drop out.
The smaller the buffer size the more likely dropouts will occur.
Having a larger buffer means that there's more time for the audio to be processed before it leaves for the interface, even if there's a small interruption there is still some time for the audio to be processed.
To control this entire process, the drivers need to have some systems in place and these systems will take some time to complete, such as a quality control station in a biscuit factory.
The more efficient this stage is, the quicker the biscuits can be shipped or in audio terms, the less delay between the audio being processed and being heard… also known as our old friend latency.