How to Fix Blips, Pops, Clicks, and Crackling in FL Studio
Blips, pops, clicks, and crackling are the terrorists of the music production world. They lay hidden and silent in the mix, striking with explosive and unexpected fury to decimate the eardrums of anyone unfortunate enough to hear them. As irritating as they are though, you will not need to invade a country to fix them. They’re relatively easy to understand and fix in FL Studio, and this quick tutorial will show you how.
What Causes Crackling and Popping?
Blips, pops, clicks, and crackles are caused by two things that are overloading your computers processor:
- An extremely fast change in the value of an active parameter in FL Studio. They are commonly (but not always) due to poorly edited samples or poorly designed automation clips and plugin envelopes.
- Using too small of a buffer
If it’s caused by a very fast change somewhere in your mix, you can pinpoint where the problem is by simply playing your track and looking for samples, automation clips, or plugin envelopes at those points in time at which you’re hearing the glitch.
If it’s caused by the buffer underrun situation, it’s pretty easy to identify. It sounds like Megatron dumping Rice Krispies into a jet engine, and it can happen throughout the entire track if the buffer is set very low, or just for the parts that have a lot going on if the buffer size is decent, but just not enough.
Once you determine which one it is, you can remedy the problem accordingly.
With samples, you will experience this glitch when the sample volume starts at a non-zero value and goes from zero to non-zero instantaneously. This creates a slope of infinity in the volume parameter and gives your computer’s processor a brain freeze, resulting in a pop, blip, click, or crackle at that point in time.
For this example, I took a stock FL Studio SFX sample called FX Blackhole and edited it in Edison so that it no longer starts at zero volume. Here is what it sounds like:
We can hear the blood-curdling pop at the beginning as a result of the poor editing I did. Now lets see what it actually looks like in Edison.
At this level of zoom, everything looks normal and fine. Now lets zoom in very close on the beginning of the sample waveform and see what’s going on.
We can see at the very beginning, on the left-hand side, the sample starts at a non-zero value in the middle of a peak in the waveform. This results in an infinite slope and some crackling. To fix this, we need to declick the sample, which just means we’ll make our sample start at zero volume.
How to Declick a Sample
First, go to your Mixer, select a random Mixer track, and add Edison to the processor chain.
Once you have Edison open, navigate to your Channel rack or Playlist and click and drag the faulty sample into Edison. In Edison, zoom in close to the beginning, select a few cycles of the sample waveform, and then hit the “Fade in/declick in” button on the top toolbar in your Edison window. It looks like a ramp, labeled “1” below.
We can see the sample starts at zero now and gradually slopes up. It’s important that we don’t declick too much of the sample. This will end up making it sound too different from the original. We want to slope just enough to get rid of the clicking without excessively modifying the attack time. Usually 5 or 6 waveform cycles will do. Here’s what the declicked FX Blackhole sample sounds like:
Now we need to replace the old sample with the declicked one. Deselect your declicked sample clip by double-clicking anywhere in the Edison window. You can either click and drag the “Drag/copy sample/selection” button to your Channel rack, or just click the “Send to playlist as audio clip/to channel” button to send it to the Playlist as audio. Both of these are labeled “2” above. All that’s left to do now is to replace all of the instances of your old sample with the declicked one in either your Playlist or Step sequencer/Piano roll.
Bad Automation Clip & Envelope Design
The same concept of infinite slope applies for automation clips and plugin envelopes. The instantaneous step change confuses the processor very briefly, and you hear a crackle.
I programmed a Sytrus saw synth pattern to play a few notes along with automation clips that control the synth mixer track volume and the mix level of a low-pass filter in the signal processor chain.
Looking at the clip and pattern arrangement in the Playlist, we can see the sharp vertical changes in clip levels at the end of each saw tooth. You can hear the resulting bruxism-inducing pops below:
There are a few ways to fix this type of problem, but we’ll cover the quick and easy one for now. Again, we just need to smooth out the automation clip transitions so the clip level changes aren’t as abrupt. Just click the automation clip channel in the Channel rack, and then the wrench on the left side of the new window. Then click “Smooth up abrupt changes” in the menu.
I did this for both automation clips. We can see there is now a slight slope at the beginning of each saw tooth and the blips have been reduced significantly. Not perfect, but OK for a quick simple fix. I’ll cover the more complex techniques in a later post.
The crackling and popping issue caused by buffer size is slightly different. A buffer in computing is like a bin where data collects while in transit between two places in a computer. For us, data is being sent from FL Studio to our CPU for processing. After being processed, it collects in a buffer, and the sound card/audio interface pulls from the buffer and converts the data to an analog signal for your speakers to use.
Buffering is useful for handling large spikes in data processing demand from FL Studio. If the processor can’t process and feed data to the buffer fast enough, it’s got some “backup” information waiting in the buffer for the sound card to continue to pull from while it’s hashing out the 50+ different things you’ve got going on in your song. If the buffer size is too small, it empties too quickly under high CPU load and the sound card flips out. This is called a buffer underrun, and it’s what causes our snaps, crackles, and pops. So to fix that, we increase the buffer size.
Adjusting Buffer Length
First, navigate to Audio settings located under the Options tab at the top left of your FL Studio user interface.
Once there, you will either see a slider labeled Buffer length or a button displaying the current buffer length setting and “Go to ASIO panel” if you are using an ASIO driver.
If you’ve got the slider, play your track and increase the buffer length until your buffer underruns counter stops increasing. You may want to go a little further just to be safe.
If you’re using an ASIO driver, just click the “Go to ASIO panel” and adjust the buffer size from there. You may need to access the ASIO panel by clicking one of the small icons in your Windows toolbar. It may take a couple rounds of trial and error to set the proper buffer size for your specific hardware setup.
Worth adding to this is a word or two about latency. Latency is the time it takes for all of the above to take place from FL Studio to your monitors. A larger buffer size will increase the latency. You’ll notice that as you increase the buffer size, you’ll experience a lag that’s very noticeable in your user interface graphics and audio. The rule of thumb is to keep your latency less than 12 -15 ms. If you’re serious about producing and you can’t get your latency below 12 ms without causing buffer underruns, it may be time for a hardware (CPU) upgrade.