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 interface. 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 Audio Options with the ASIO4ALL 'ASIO' driver selected (your card may have native ASIO drivers, if so use them), above right the less efficient 'Primary Sound Driver',
standard Windows driver.
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 interface is any device that makes the sound you hear from your PC speakers.
Audio Interface Driver: The driver is the software
interface between the Windows operating system and the audio interface hardware. The driver tells Windows, and so FL Studio, what inputs/outputs the interface has and what sample rates it can support.
Primary Sound Driver drivers place a layer of 'middle-man' software handling communications between the audio application (FL Studio for example) and the audio interface hardware while ASIO drivers
allow direct communication between the audio application and the audio interface. This is why ASIO drivers are faster and more efficient than Primary Sound Driver drivers.
NOTE: The default FL Studio installation selects the Windows Primary Sound Driver (DirectSound) to ensure maximum compatibility. Frankly, the 'Primary Sound Driver' sucks the life from your CPU, so switch to your audio interfaces native ASIO driver, ASIO4ALL or FL Studio ASIO.
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.
- Audio Interface Driver - is a drop-down menu used to select the audio interface (output/input device) to be used by FL Studio. The list will show installed audio interface drivers, both the 'Primary Sound' and ASIO driver standards are supported. If you have more than one audio interface installed, the Output menu can be used to switch between them (press F10 to open the settings panel). If you want to use more than one audio interface simultaneously then select ASIO4ALL and see the ASIO4ALL Advanced Settings section.
The audio interface 'driver' is a program that connects Windows (and therefore FL Studio) to your audio interface. The driver tells Windows what the audio interface is called, what it can do and how many inputs/outputs it has, for example. Select an ASIO driver if possible. Usually identified by the word 'ASIO' in the name. ASIO (Audio Stream Input Output) drivers allow the audio interface to communicate with the host computer with lower latency and CPU load when compared to standard audio drivers (e.g. the 'Primary Sound Driver'). Notice the list is sorted by driver type.
- Status - Shows the status of the selected audio interface driver's inputs and outputs. The reported output latency is the total output latency including plugins.
- Auto close - When selected, allows other applications to share the audio interface when FL Studio loses focus (FL Studio is minimized or another application is selected). If you are having trouble with
other devices taking control of the audio interface and tying up inputs/outputs in ASIO4ALL then turn this off, close all other programs (VOIP, Skype, Media players etc) and restart FL Studio. The FL Studio ASIO driver is multi-client so will allow you to hear audio from multiple applications simultaneously. NOTE: When plugins are bridged they will steal audio focus and this can stop playback. Turn off 'Auto close' or use FL Studio ASIO.
- Sample Rate - Sets the sample play-back rate used by the mixer. Where possible use the default sample rate of 44100Hz. Many
older audio interfaces (the Creative Audigy series for example) have a minimum sample rate of 48000Hz. In this case, please be aware that some (early plugins) may not perform correctly
(usually tuning related issues) although the vast majority of plugins available today are multi-rate compatible.
- Bit depth (16, 24) - Both audio input and output bit depth is set from the Windows or ASIO device manager. Right-click your volume control icon on the Windows task-bar, select
'Recording devices' or 'Playback devices' and select the audio interface then 'Set as default' then select 'Properties', then 'Advanced' and select a 24 bit 44100 Hz option if available OR 16 bit 44100 Hz
if not. If you have an custom ASIO driver for your device the Bit depth settings may also be adjustable from there.
Visible only when using ASIO driver.
If your audio interface 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 interfaces, your experience may be different. ASIO4ALL allows you to select inputs and outputs from different audio interfaces/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 interface. 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 interfaces 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 interface 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 interfaces 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 interface.
Primary Sound Driver Properties
Visible only when using Standard drivers (Primary Sound, WDM, Primary, etc).
- Buffer Length - This slider controls the audio buffer length. The buffer stores audio data before it's sent to your audio interface. 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.
Audio Mixing 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 interface 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 VSTi/DXi 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.
- Playback tracking source:
- Driver - The audio driver is used for playback position (default).
- 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. Should be avoided but can work acceptably when the buffer latency is 10ms (441 samples) or less to solve audio/video timing problems
with some audio interfaces.
- Offset - Move the play position used by FL Studio. If the audio interface driver does not report its position correctly recorded notes & audio won't be placed where they should be. IF you are sure it's not input quantizing caused by a Global Snap setting, the Mixer menu > Disk recording> Latency compensation setting changing with the location of recorded audio OR if visuals don't align with the audio, use the slider to add positive or negative offset to realign the Play & record position.
NOTE: These options replace the 'Use Mixer as Playback Position' switch used in previous FL Studio versions.
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 - May reduce CPU load and improve the performance of certain 3rd Party plugins that assume aligned tick lengths. 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). Issues
with plugins? Try on.
- 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 3rd party 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.