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 soundcard. 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 & Soundcard 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 soundcard is any device that makes the sound you hear from your PC speakers.
Soundcard Driver: The soundcard driver is the software
interface between the Windows operating system and the soundcard hardware. The driver tells Windows, and so FL Studio, what inputs/outputs the soundcard 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 soundcard hardware while ASIO drivers
allow direct communication between the audio application and the soundcard. 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 soundcards native ASIO
driver, if that does not exist then try ASIO4ALL.
Input / Output
- Soundcard Driver - is a drop-down menu used to select the soundcard (output/input device) to be used by FL Studio. The list will show installed soundcard drivers, both the 'Primary Sound' and ASIO driver
standards are supported. If you have more than one soundcard 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 soundcard
simultaneously then select ASIO4ALL and see the ASIO4ALL Advanced Settings section.
The soundcard 'driver' is a program that connects Windows (and therefore FL Studio) to your soundcard. The driver tells Windows what the soundcard 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 soundcard 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 Soundcard Driver's inputs and outputs. The reported output latency is the total output latency including plugins.
- Auto close device - When selected, allows other applications to share the soundcard 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 soundcard and tying up inputs/outputs in ASIO4ALL then turn this off, close all other programs (VOIP, Skype, Media players etc) and restart FL Studio.
- Sample Rate - Sets the sample play-back rate used by the mixer. Where possible use the default sample rate of 44100Hz. Many
older soundcards (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 soundcard does not natively support ASIO, the FL Studio install includes a 3rd party driver ASIO4ALL.
NOTE: that ASIO4ALL is a generic ASIO driver that works with most soundcards, your experience may be different. ASIO4ALL allows you to select inputs and outputs from different soundcards/audio-devices. The help section on
ASIO4ALL advanced settings covers the options.
- Buffer Length - Shows the buffer latency for the ASIO driver. To change the buffer length, click on the 'Show ASIO panel' button below this readout. The delay between playing a MIDI
keyboard or tweaking a control in FL Studio and hearing the result 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 below).
- 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 soundcards 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 soundcard 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 Soundcard 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.
Primary Sound Driver Properties
Visible only when using Standard drivers (Primary Sound, WDM, Primary, etc).
- Buffer Length - This slider controls the audio buffer latency. The delay between playing a MIDI keyboard or tweaking a control in FL Studio and hearing the result 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 below).
Setting between 5-10 ms without underruns are 'cutting edge', 11-20 ms are excellent and 21-50 ms are good. 20 ms (882 samples) is a good target.
- 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 soundcard 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 help smooth jittery or incorrect Playlist/Piano roll/Event Editor playback position indicators.
- 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 soundcards.
- Offset - Offset to the play position expected by FL Studio and the soundcard driver. This is needed when the soundcard driver does not report its position correctly.
The symptoms can be recorded notes that don't end up where they should be. IF you are sure it's not input quantizing caused by a Global Snap setting
OR if visuals don't sync with the audio, use the slider to add positive or negative offsets to the play position.
NOTE: These options replace the 'Use Mixer as Playback Position' switch used in previous FL Studio versions.
- 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 sounds. This video covers the concepts of
aliasing and Interpolation in more detail.
There are two independent locations where interpolation method
can be set. Here in the Audio Settings the interpolation method affects the 'live' audio quality (and CPU load if your project contains transposed Sampler and Audio Clip Channels). The other interpolation setting is found on the export dialog
and affects audio file quality (and render time). The options are the same for both locations, they are:
- Linear interpolation provides the lowest CPU hit with basic linear averaging between samples, however this may result in aliasing (high frequency noises) when samples are transposed far from their original pitch.
We recommend linear settings for most live mixing situations.
- 6-point hermite is the fastest interpolation method and so is suitable for 'real-time' playback, providing superior quality to 'linear' interpolation. If you have a fast PC, you should be able to use 64-point sinc for critical
- 64, 128, 256, 512-point sinc interpolation methods provide, increasingly, the highest quality interpolation, at the expense of CPU load. Anything above 6-point Hermite is not suitable for
live-playback (perhaps one day when we have 32-core 10 GHz CPUs). So why are these methods available? So that if someone requires the highest quality live interpolation they can have it...don't believe us?,
turn on 512-point sync and watch your PC grind to a stuttering halt next time you transpose a sample...don't say we didn't warn you!
As noted above, a separate interpolation setting has been provided for the render dialog. This allows you to use the highest quality interpolation when rendering independent of the
- 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. Uncheck for faster, less glitchy
response when changing song position.
- Play truncated notes - On transport relocation play notes truncated by the new playback location.
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. Issues with plugins? See plugins behaving badly.
- Multithreaded mixer processing - Spreads effect & mixer load over CPU multiple cores. 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.