System Settings - Audio
To open the Audio Settings choose 'Options > Audio settings' from the main menu or press the F10 function key on your keyboard. The Audio Settings page contains options and settings for your audio device. The settings chosen here can have a big impact on CPU load, so it is worth taking the time to
learn what options are available. Note that some options change depending on whether an ASIO or Direct Sound driver is selected in the Output selector. If this is your first time to adjust the Audio Settings you may
like to view the audio setup pages from the 'Getting Started' section.
Above left shows the Windows Audio Options with the FL Studio ASIO 'ASIO' driver selected, above right the macOS Core Audio 'Built-in Output' driver. If your Audio Interface has its own ASIO/Core Audio drivers, use them.
A word about Soundcards, Audio Interfaces & Drivers
Soundcard: The term 'soundcard' is used rather loosely, you may have a soundcard in your PC, a
chip on your motherboard or it may be an external device connected by USB/FireWire/Bluetooth. The term Audio Interface is better used. An audio device is any device that makes the sound you hear from your PC speakers. Audio Interface Driver: The driver is the software interface between the operating system (OS) and the audio device hardware. The driver tells the OS, and so FL Studio, what inputs/outputs the interface has and what sample rates it can support. In the case of Windows, ASIO drivers are faster and more efficient than Primary Sound Driver drivers.
Audio Input / Output
The options selected here will determine what audio INPUTS and OUTPUTS are available to be used by FL Studio. Select the audio inputs and outputs from the Mixer IN/OUT menus.
Windows: Audio Properties
If your audio device does not natively support ASIO, the FL Studio install includes FL Studio ASIO (see below) and 3rd party driver ASIO4ALL.
NOTE: that ASIO4ALL is a generic ASIO driver that works with most audio devices, your experience may be different. ASIO4ALL allows you to select inputs and outputs from different audio devices/audio-devices. The help section on ASIO4ALL advanced settings covers the options.
- Buffer Length - To change the buffer length, click on the 'Show ASIO panel' button below this readout. The buffer stores audio data before it's sent to your audio device. This allows FL Studio to even out momentary spikes in CPU load when processing that can be slower than 'real-time'. Longer buffers lower CPU load and reduce audio glitches. However with longer buffers the delay between playing a MIDI keyboard or tweaking a control in FL Studio and hearing it is at least equal to this setting (in ms). The ideal buffer is the smallest your computer can manage without causing the buffer underrun count to increase (techniques for optimizing the buffer are described here). A good target with ASIO drivers is 10 to 20 ms (440 to 880 samples).
- Clock Source - Some audio cards provide external clock source which can fix sync/output problems. However, most cards work properly with the default "Internal" source selected.
- Show ASIO Panel - Opens the ASIO driver settings panel, use this to change latency settings. Settings between 1-4 ms without underruns are 'cutting edge', 5-10 ms are excellent and 11-20 ms are good. 10 ms (441 samples) is a good target.
- Mix in buffer switch - Output audio is mixed in ASIO's 'buffer switch'. The option allows some audio devices to reach lower latencies. NOTE: When used the underrun counter is bypassed and buffer underruns
may be more audible.
- Triple buffer - Can reduce audible underruns when close to 100% CPU load with some ASIO drivers. Triple buffering is most useful when mixing under high CPU load and with some audio device drivers known to crash when they receive too many buffer underruns (e.g. Tascam US122). NOTE: Triple buffering doubles the latency compared to what is set in the ASIO driver (see the 'Status' information just below the Device Driver menu). Good drivers trigger the buffer at the start of the latency period, and so FL Studio has the whole buffer latency period available to process audio. Poorly written drivers may trigger the buffer late in the period and so effectively lower the buffer time available, leading to underruns. The triple buffer option works one buffer unit behind, and prepares audio for the next buffer period at each cycle. This doubles the latency, but that ensures that there will be enough time to process each buffer unit.
FL Studio ASIO
FL Studio ASIO has the advantage of being fully multi-client on most machines. This will allow you to hear the audio from FL Studio and other applications (such as YouTube, SoundCloud etc) at the same time.
- Input / Output - Select a single input and output from the audio devices installed on your computer. If you need to aggregate multiple inputs or outputs from multiple audio devices use ASIO4ALL.
- Hard-clip output at 0dB (otherwise limiting will be applied) - When selected the audio will distort when it goes over 0 dB. When deselected a limiter will be applied to prevent distortion. NOTE: With limiting applied you can no longer hear clipping distortion from FL Studio's main output. This means you will need to pay attention to your peak meters (make sure the Master does not go over 0 dB), otherwise your rendered tracks will sound distorted even tho your live audio doesn't. Traps for young players! All this happens external to FL Studio, so the switch has no effect on the internal processing, it's all post-FL Studio audio handling.
NOTE: While your experience may vary, in situations where low latency performance is critical, we recommend you preference drivers in this order - Native ASIO driver > ASIO4ALLv2 > FL Studio ASIO. A Native ASIO driver is one that comes from the manufacturer of your audio device.
Primary Sound Driver Properties
Visible only when using Standard drivers (Primary Sound, WDM, Primary, etc). We strongly recommend using FL Studio ASIO unless it does not work form some reason. Then...
- Buffer Length - This slider controls the audio buffer length. The buffer stores audio data before it's sent to your audio device. This allows FL Studio to even out momentary spikes in CPU load when processing that can be slower than 'real-time'. Longer buffers lower CPU load and reduce audio glitches. However with longer buffers the delay between playing a MIDI keyboard or tweaking a control in FL Studio and hearing it is at least equal to this setting (in ms). The ideal buffer is the smallest your computer can manage without causing the buffer underrun count to increase (techniques for optimizing the buffer are described here). A good target with Primary sound drivers is 20-50 ms (880 to 2205 ms).
- Offset - This option can improve driver performance under Windows Vista. The default 0% option is off.
- Use Polling - Polling is a technique for managing Primary Sound Driver's audio buffer, which usually allows much smaller buffer without
underruns. On some PC-s, however, it can have the opposite effect.
- Use Hardware Buffer - Uses the hardware audio buffer of 'Primary Sound Driver' enabled sound cards.
- Use 32-Bit Buffer - Uses a 32-Bit floating-point buffer. Only works with Windows XP or above.
macOS: Audio Properties
macOS uses 'Core Audio'. The default driver is 'Built-in Audio'. 3rd party audio devices will also show here, they also use Core Audio.
- Buffer Length - This slider controls the audio buffer length. The buffer stores audio data before it's sent to your audio device. This allows FL Studio to even out momentary spikes in CPU load when processing that can be slower than 'real-time'. Longer buffers lower CPU load and reduce audio glitches. However with longer buffers the delay between playing a MIDI keyboard or tweaking a control in FL Studio and hearing it is at least equal to this setting (in ms). A good target with 'Built-in Audio' is 10 ms (441 samples) if you are playing a MIDI controller and 20 ms (880 samples) if you are not.
Audio Processing Thread
- Priority - Sets the priority of the audio mixing thread. Higher = more CPU devoted to the audio mixing thread, but increases the risk
of lockups/freezing when CPU demands become high. Lower = greater risk of buffer underruns. Adjust this (in combination with the buffer settings) if
you have problems with lockups and/or buffer underruns.
- Safe overloads - Off: The audio mixing thread is given a very high priority, so that the user interface doesn't cause hiccups in the audio engine. When the audio mixing
thread is using all the CPU, it may leave nothing to the Graphical User Interface (GUI), which will then appear frozen. On (default): 'Safe overloads' adapts the
mixer priority when CPU overloads occur, leaving a little CPU to run the GUI, so that you can sill interact with FL and minimize the CPU usage.
- Underruns - This counter shows the total number of underruns detected. An underrun is counted when the buffer that feeds audio to your audio device runs out of audio data. When this happens you will usually hear clicking, popping or crackling sounds. It means your computer's CPU couldn't keep up with the real-time playback demands of the project (song). There is a section on reducing underruns described here.
NOTES: 1. Underruns are a live-playback problem, they don't happen in rendered audio as your CPU can take as long as required to generate the sound. 2. Some options bypass the underrun counter so if you hear clicks and pops without the count increasing AND your
CPU usage is high (80% or more) it's still likely to be an underrun. Sometimes however, clicks and pops are caused by plugins behaving badly.
Visible only when using FL Studio with the VST connection plugin or as a ReWire client.
- Slave Tempo - On: FL Studio will synchronize with the tempo of the host.
- Record Automation - When turned on, remote control messages (MIDI) from the host will be recorded during recording sessions.
Can solve jittery/incorrect playback position indicators OR solve Audio recording alignment problems with the Playlist. NOTE: Low Buffer Length settings can also improve positional accuracy.
- Playback tracking source:
- Driver - The audio driver is used for playback position. If you have a high quality audio device (with native ASIO drivers, on Windows), select this mode.
- Hybrid - Driver/Mixer hybrid position. This option is most effective when fixing visual jitter under the 'Primary Sound Driver' drivers.
- Mixer - The Mixer position is used (default). Works acceptably when the buffer latency is around 10ms (441 samples) or less to solve audio/video timing problems that can happen with some audio devices.
- Offset - Moves the calculated play-head position used by FL Studio. If the audio device driver does not report its position correctly, recorded notes & audio won't be placed where they should be. If you are sure positional errors are NOT caused by:
OR if the playhead position and other visuals don't align with the audio, use the slider to add positive or negative offset to realign the Play & record position. This is a global change to all tracks. If you need to make changes to individual audio INPUTs, use the Mixer Track Audio Input Delay Control to shift the audio for that specific audio input.
These options are intended to reduce CPU load and maximize FL Studio performance on your PC.
- Multithreaded generator processing - Spreads generator (instrument) load over multiple CPU cores. See Multicore CPU Processing for information on optimizing multi-core performance. Issues with plugins? See plugins behaving badly.
- Multithreaded mixer processing - Spreads effect & mixer load over CPU multiple cores. See Multicore CPU Processing for information on optimizing multi-core performance. Issues with plugins? See plugins behaving badly.
- Smart disable - Globally disables both instruments and effects, when inactive, to reduce CPU load. NOTE: This option works in conjunction with each plugin's Wrapper
Smart disable switch setting. It ONLY works on wrappers that have their 'Smart Disable' settings switched ON. The purpose is
to globally enable/disable all plugins Smart Disable behavior. To apply Smart disable to all plugins you must first use the Tools Menu > Macros Switch smart disable for all plugins option. This turns each plugin's wrapper Smart disable on. If Smart disable causes issues with any plugins it can be disabled for those individual plugins using the same wrapper menu setting 'Smart disable'. NOTE: Smart Disable is active only during live playback, it is temporarily disabled when rendering.
- Align tick lengths - This is a troubleshooting option. May help solve problems with VST/AU plugins that include: Clicks and unexplained noises. Rendered-audio timing errors, where the plugin is out of sync with the beat. Unexpectedly high CPU load. A tick is the smallest internal unit of time used for sequencing automation & note events (PPQ counts the number of ticks (pulses) per quarter-note for example).
- For a plugin to be multithreaded there are 3 places where the option must be selected, here, the Wrapper menu 'Allow threaded processing' and
Wrapper Additional Settings Menu 'Processing > Allow threaded processing'. All three are selected by default.
- Some of these options may cause problems with VST/AU plugins. What plugins? It all depends on how closely they conform to the VST design standard, don't look at us, we are not the 'VST
police'. What sort of 'problems'? We are not prophets either, but possibly plugin-crashes, audio glitches, out-of-sync playback or CPU spikes. See plugins behaving badly.
- Resampling - is the process of smoothly creating changes in sample data when the system is called to 'invent' intermediate volume levels between any two known sample points. This is necessary when
samples are transposed from their original pitch to avoid 'quantizing' and/or 'aliasing' noise. The benefits of higher quality interpolation will only apply to transposed Sampler Channels. This video covers the concepts of aliasing and Interpolation in more detail.
There are two locations where interpolation can be set. Here in the Audio Settings the interpolation method affects the 'live' audio quality (and CPU load when Sampler or Audio Clip Channels are transposed). Interpolation is also found on the export dialog. This affects audio quality in the rendered file. Ideally your live and rendered interpolation settings should match, so what you hear live is the same as what you hear in the rendered file. In reality, this isn't always possible due to CPU limitations. The options are the same for both locations, they are:
- Linear - interpolation imposes the lowest CPU load with basic linear averaging between samples. This is likely to result in 'aliasing' (high frequency noises) when Sampler Channels / Audio Clips are transposed far from their original pitch.
- 6-point hermite - has been optimized for 'real-time' playback, providing superior quality to 'linear' interpolation and is the default setting.
- 64, 128, 256, 512-point sinc - interpolation methods provide, increasingly, the highest quality interpolation, at the expense of CPU load.
NOTE: Normally you would leave the live interpolation set to 6-point Hermite and only adjust it if you notice aliasing when pitching samples AND it's an issue.
- Preview Mixer Track - Selects the mixer track that will receive the Metronome, and audio previews from the Browser,
Wave Editor, etc. By default, the Master Mixer track is used for preview (default /"--"/ to send to the Master Track).
- Reset Plugins on Transport - Resets all plugins when using the transport functions - start/stop, moving the song position marker, etc. This ensures, as far as possible, projects sound the same each time they are played. Some plugins generate or process sound differently depending on their moment-by-moment state. Uncheck for faster, less glitchy response when changing song position. NOTE: When disabled, the differences are unlikely to be significant, but it's worth checking this function if you notice inconsistent behavior.
- Play truncated notes - On transport relocation play notes truncated by the new playback location.