Help Contact

In order to serve you better, this website makes use of Cookies. By clicking "I agree" or by continuing to use this website, you agree to the placing of these cookies.



CPU & Latency section

Settings that affect global CPU usage and latency.

Low latency monitoring panel


Processing resources panel


Resource usage panel


Application panel


Resource allocation panel


Processing panel


Graphical User Interface panel


Webserver panel


I/O panel


CPU and latency panel

Settings that affect global CPU load and latency.

  • CPU usage

  • Processing thread distribution

  • Number of CPU cores

  • Assign threads to preferred CPU cores

  • Process priority
    Give Stereo Tool's processing priority over other running programs.

    Normally, all programs get a share of the available CPU resources. Which means that if you run a lot of heavy programs, Stereo Tool might not get enough CPU time to process everything in time and it might start to hiccup. Setting a higher priority here helps against that, but it may also cause other programs to be slowed down more.

    If you use Stereo Tool for background listening, you should probably leave this turned off. If the audio is 'mission critical', this should be set to a high level.

  • Realtime priority will be requested at next start

  • Processing latency
    Controls audio output delay.

    This setting controls how much audio Stereo Tool gets to work with. If it can work on bigger blocks of audio, the resulting output quality is usually better. But if you are talking through a microphone and listening to yourself on a headphone, too much delay can be annoying.

    For the best quality, and definitely in all cases where the delay does not matter, use the maximum setting (4096 samples, around 93 ms, depending on the sample rate). A good compromise between latency and quality is setting 1024 (23 ms), which gives a total latency of about 28 ms (this includes sound card delays and the time needed to process the audio).

    Each reduction of the latency by half makes the artifacts caused at lower latencies 4 times as loud. Which means that the step from 4096 to 1024 is smaller than that from 1024 to 512! At latency 512 (12 ms, 17 ms total latency) the audio quality really suffers.

    The stand alone version of Stereo Tool has an extra Low Latency monitoring (lower quality) monitoring output which offers a total latency of 11 ms.

    Note: The quality is also very strongly affected by the Protection threshold setting, especially at lower latencies.

  • Audio quality
    Determines the audio quality and CPU usage.

    At lower quality settings, the audio sounds less good, but the CPU usage is much lower. This setting mainly affects bass, and it has more effect with aggressive processing and steep filters. At low levels, a low setting can cause "chopper-like" sounds in the bass.

    The effect on the audio is determined by the combination of this setting and Controls audio output delay.

    This setting controls how much audio Stereo Tool gets to work with. If it can work on bigger blocks of audio, the resulting output quality is usually better. But if you are talking through a microphone and listening to yourself on a headphone, too much delay can be annoying.

    For the best quality, and definitely in all cases where the delay does not matter, use the maximum setting (4096 samples, around 93 ms, depending on the sample rate). A good compromise between latency and quality is setting 1024 (23 ms), which gives a total latency of about 28 ms (this includes sound card delays and the time needed to process the audio).

    Each reduction of the latency by half makes the artifacts caused at lower latencies 4 times as loud. Which means that the step from 4096 to 1024 is smaller than that from 1024 to 512! At latency 512 (12 ms, 17 ms total latency) the audio quality really suffers.

    The stand alone version of Stereo Tool has an extra Low Latency monitoring (lower quality) monitoring output which offers a total latency of 11 ms.

    Note: The quality is also very strongly affected by the Protection threshold setting, especially at lower latencies. . For low Controls audio output delay.

    This setting controls how much audio Stereo Tool gets to work with. If it can work on bigger blocks of audio, the resulting output quality is usually better. But if you are talking through a microphone and listening to yourself on a headphone, too much delay can be annoying.

    For the best quality, and definitely in all cases where the delay does not matter, use the maximum setting (4096 samples, around 93 ms, depending on the sample rate). A good compromise between latency and quality is setting 1024 (23 ms), which gives a total latency of about 28 ms (this includes sound card delays and the time needed to process the audio).

    Each reduction of the latency by half makes the artifacts caused at lower latencies 4 times as loud. Which means that the step from 4096 to 1024 is smaller than that from 1024 to 512! At latency 512 (12 ms, 17 ms total latency) the audio quality really suffers.

    The stand alone version of Stereo Tool has an extra Low Latency monitoring (lower quality) monitoring output which offers a total latency of 11 ms.

    Note: The quality is also very strongly affected by the Protection threshold setting, especially at lower latencies. settings, the Quality slider must be set as high as possible to keep the quality acceptable. In Stereo Tool, the maximum setting is 100%, which is why the minimum latency (which already sounds pretty bad) is 512. In Omnia SST, Quality can be increased upto 150% which allows for lower latencies (the minimum available is 128 samples, less than 3 ms processing latency).

  • Limit CPU

  • Don't process high frequencies above lowpass filter
    Throws high frequencies away to reduce CPU load.

    Doing this for FM or for streaming has no effect on the audio quality if the Frequency is set higher than the Lowpass filter. One exception is that for Stokkemask, a minimum frequency of 19200 must be set. The CPU load reduction can be upto 30%, depending on the settings. Using this setting does increase the latency a bit (also upto 30%).

  • Automatic frequency
    Automatically determine The frequency above which tones are ignored.

    .

  • Frequency
    The frequency above which tones are ignored.

Screen updates panel


  • Framerate

  • Display refresh speed (CPU load)
    Controls how often the display is refreshed.

    Lowering the refresh rate slightly lowers the CPU load (more so if the window is very big), and it also helps a lot when using a remote connection to a pc running Stereo Tool.

  • Auto
    Automatically lowers Display refresh speed (CPU load) when the CPU load is high.

  • Hide CPU heavy monitoring
    Enables the RF spectrum display. Uses a lot of CPU power!

  • Safe drawing for extreme low latency

  • Lock to ASIO

  • Drawing speed

  • Avoid screen tearing (can cause hiccups on lowest latencies)

I/O - CPU core selection panel

Locks each thread to one or more CPU cores.

This can be used to tightly control the CPU usage of Stereo Tool. This has several benefits, among others allocating a separate CPU core for each thread can make the behavior more predictable (without setting affinities Windows will dynamically put each thread somewhere). More predictable scheduling of tasks means that the time the calculations take is more constant, which is beneficial if you want to achieve minimum latency.

Core 0 is typically used by Windows to handle driver events, and they take precedence over Stereo Tool. So, it's best to put tasks that are less time sensitive (GUI updates, web server) on core 0.

If your CPU supports Hyperthreading, typically cores 0/1, 2/3, 4/5 etc. are combined. This means that if core 2 is working, and core 3 is also working, each core only runs at about 65% of its normal speed. If there are enough cores in the system, try to avoid using Hyperthreaded cores.

On a 4-core CPU with Hyperthreading (such as most Intel i7 CPU's), Parallel threads (adds latency) set to 2, Use subthread per channel enabled, the following settings will work well:
GUI and Server on code 1, Input on core 2, Recombine on core 3, Main 1 on core 4, 2nd 1 on core 7, Main 2 on core 6, 2nd 2 on core 5. As long as the CPU load on each core is below 50%, using cores 4+7 and 6+5 for the main processing won't interfere with each other (since 4+7 will be finished before 6+5 starts working and vice versa), but if for some reason they do become active at the same time they won't completely halt each other and each will still run at 65% of its normal speed, until one of the two finishes.

See also Parallel threads (adds latency) and Use subthread per channel.

  • Forced

  • Low latency recombination thread CPU core

GUI - CPU core selection panel

Locks the GUI threads to one or more CPU cores.

See I/O - CPU core selection.

  • GUI Thread CPU core
    GUI core affinity.

    This core handles the Stereo Tool GUI display, which is non-critical. Make sure that it doesn't interfere with processing.

  • Server thread CPU core
    HTTP server core affinity.

    This core handles the Stereo Tool Web interface, at least the internal part. Non-critical, you should normally just set this to the same core as the GUI Thread CPU core.

Processing - CPU core selection panel

Controls the CPU core affinities.

Setting the CPU core affinities is useful for low latency processing, because it makes the behavior predictable. Beside that, it is also usable when you run a lot of different Stereo Tool instances or other software on one pc, in that case you can give each instance its own core or cores.

By default, if these settings are left to Any, the OS (Windows, Linux, Mac OS X) will control what runs on which core.

For optimal performance and low latencies, use these guidelines:
  • Try to avoid Core 0. Core 0 is used by drivers, which means that when using core 0 at very low latencies, you run a risk of getting hiccups.
  • When using a system that has Hyperthreading, assign Link error '3005' and Link error '3006' to virtual cores that don't share the same physical cores. On most systems, that means that you should avoid combining core 0 with 1, core 2 with 3, core 4 with 5 etc. Also note that the fact that drivers use core 0 might also makes the core 1 performance less constant.
So, if you have a system with 4 cores with Hyperthreading, then Windows will see 8 cores, and you should normally select for example cores 2 and 4 for Link error '3005' and Link error '3006', and core 0 for Link error '3007' and Link error '3008' things that are non-critical.

  • Parallel threads (adds latency)
    Sets the number of threads (which usually each uses a CPU core) for processing.

    Setting this higher spreads the load over more CPU cores, which means that on slower systems more or higher Audio quality processing can be used. In plugin versions of Stereo Tool, it adds latency, so if low latency is a goal and you're using Stereo Tool as a plugin in another program, it's better to keep this value as low as possible (ideally, 1). Also, if multiple Stereo Tool instances are running on the same system, they could get in each others way, and in that situation it's also better to use a low number of threads, and give each Stereo Tool instance its own CPU core to work on.

    See also Use subthread per channel.

  • Use subthread per channel
    Enables using a separate thread (which usually uses a CPU core) for each channel.

    Where Parallel threads (adds latency) adds latency, this setting can actually slightly reduce latency because the calculations finish faster.

    This should always be enabled, unless you really need to let Stereo Tool use only one core. By using multiple cores, about 70% more audio can be processed in the same amount of time.

    This option has no effect on a PC with only one CPU core (and no hyperthreading), or (on Windows) if the environment flag NUMBER_OF_PROCESSORS is set to 1.

    See also Parallel threads (adds latency).

  • Main thread CPU core

  • Second thread CPU core

Threads and CPU core selection panel


CPU usage panel


Percentage of time in processing panel

How much of the available time is spent for processing.

This is not the same as the overall system CPU load. What it shows is how much of the time Stereo Tool is busy with processing in each processing thread - it could also be waiting.

If this bar is nearly full (around 90% or higher) you can expect performance problems such as hiccups in the audio.

Please note that overhead such as resampling (used when enabling Synchronize input to output sound cards or Synchronize FM transmitters) is not displayed in this graph, but does take extra time.

  • Thread 1

  • Thread 2

  • Thread 3

  • Thread 4

  • Thread 5

  • Thread 6

  • Thread 7

  • CPU usage

Percentage of time in GUI display panel

Shows time spent to display the GUI.

See Percentage of time in processing. This graph is less useful because it doesn't show actual CPU usage - in fact, since the GUI thread runs at a lower priority a lot of the time that's displayed might be spent waiting for other programs.

If only Stereo Tool is running on a system which has enough CPU cores available it will show something that's close to the actual CPU usage of the GUI.

  • CPU usage (GUI)

LQLL number of threads panel

Controls the number of processing threads to use for Low Latency monitoring (lower quality).

  • Low latency CPU core thread 1

  • Low latency CPU core thread 2

  • Low latency CPU core thread 3