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.
NOTE: On some systems you may need to select the actual Output using the drop-down menu if the [Default output] setting does not work.
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 for 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.
- System audio settings - From the Finder, search 'Utilities'. Open the Utilities folder and then the application 'Audio MIDI Setup'. From here you can make adjustments to the Audio settings for your Mac. The Built-in Output and Built-in Microphone are the default macOS Output and Input respectively.
NOTE: While most Audio Interfaces when used with Macs don't need any extra drivers or software installed to work, many professional level Audio Interfaces do have additional software that will either significantly improve the functionality of your device, or at least make it less problematic if you are experiencing issues. Look for this software on the manufacturers website.
- Aggregate audio devices - This procedure is known to significantly improve the reliability of audio devices when used with FL Studio. It will also allow you to use more than one audio device at the same time within FL Studio. See: Aggregate audio devices.
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. If this happens during live playback, 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.
- Underruns are only a problem if you hear glitches and clicks during live-playback. The total count does not matter if you don't hear them. You will see the count increase loading projects and plugins, this is normal and does not indicate a problem!
- If you hear glitches in rendered audio this is not an underrun, it's likely a plugin behaving badly.
- Some options and some audio-driver related underruns, can bypass the underrun counter. It's possible to can hear clicks and glitches in live audio, without the count increasing, and it is still an underrun. Although it could also be a plugin behaving badly, something to check.
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.
Changing the source for the Playback tracking can solve jittery/incorrect playback position indicators OR solve audio recording alignment problems with the Playlist. NOTES: Low Buffer Length settings can also improve positional accuracy. The Playhead position is very sensitive to the timing information provided by the Audio Driver. If this information is inaccurate or the Playhead jumps about, it indicates an issue with your Audio Driver. Always make sure you are updated to the latest Audio Drivers for your hardware.
- Playback tracking source:
- Driver - The audio driver is used for playback position. NOTE: If your audio interface has a manufacturer-supplied driver, you should select it in the Device menu and use 'Driver' mode for optimal performance.
- Hybrid - Driver/Mixer hybrid position. This option can be effective to fix visual jitter of the playhead or timing errors to solve audio/video timing problems that can happen with some audio devices.
- Mixer (default) - The Mixer position is used. This 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. NOTE: If you are using a 3rd party Audio Interface, prefer 'Driver' mode.
- Offset - Use this to correct the location of recorded notes or to correct the position of FL Studio's Playhead (the vertical green line in the Playlist and Piano roll). This may be necessary if the audio device driver does not report its position correctly. Before using this control make 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.
Using external hardware - If timing errors come from loop back or MIDI Out recording, where there is a real-world delay as audio or MIDI exits your computer and comes back after being processed by external music effects or synthesizers, use Audio Input delay compensation . This is available to make changes to individual audio INPUTs.
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 a good setting when you are trying to minimize CPU usage.
- 64, 128, 256, 512-point sinc - 24-point sinc is the default. Higher numbers increasingly provide the highest quality interpolation. NOTE: Normally you should not use 128-point sinc and higher for realtime playback. It will consume large amounts of CPU when samples are transposed.
NOTE: Normally you would leave the live interpolation set to 24-point sinc and only adjust it if you notice aliasing when pitching samples AND it's an issue.
- Metronome track - Selects the mixer track that will receive the Metronome. By default, the Master Mixer track is used for preview (default '---' to send to the Master Track).
- Preview track - Selects the mixer track that will receive 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.