Understanding DSP load

Though powerful for its size, like all other grooveboxes and workstations, your Woovebox does has a finite amount of Digital Signal Processing (DSP) resources for simultaneous real-time synthesis, effects and sample playback. Please note that rendering a song or its individual stems to a WAV file via Wooveconnect, is not subject to any DSP resource limitations.

In general you should be able to play moderately complex sounds and effects on Track Cd through to A5 simultaneously without running into serious limitations. As such, you should not need to worry for even moderately complex songs. To use more tracks simultaneously however, it is important to understand DSP resource management.


DSP usage and warnings

Pushing the device, for example by having complex sounds playing on auxilliary tracks A6, A7 and A8 as well as on all the other tracks simultaneously, may approach saturation of the DSP resources.

When this happens, the LEDs and screen will increase in brightness, as if your Woovebox is "heating up".

In mild DSP saturation cases, the device lowers calculation precision slightly for a few milliseconds so that it could catch up with demand. The effect of this on the audio quality is imperceptible in most cases.In more severe cases, however, the device will do its very best, but may no longer guarantee audio throughput and that popping/crackling artifacts may start occurring.

Note that transitions in Live mode or Song mode where certain tracks are toggled off and others are toggled on will be the most at risk of DSP overload; the toggled-off tracks may still be playing their sound's decay or release stage, while the new tracks are already sounding their attack. This temporary overlap of playing voices will cause the DSP to work extra hard.


Configuring DSP load info

The DSP load info and warnings are customizable to help troubleshoot DSP saturation scenarios.

By default your Woovebox will let you know when you are about to run out of DSP resources through increasingly brightening the screen and LEDs as if it is "heating up". However, this behavior can be customized using the context menu (Hold write, short press value repeatedly to cycle through options) in Song mode's Global page and selecting "dSP InFo".

Your Woovebox provides five options for showing you its real-time DSP load;

  • 'HEAt LEv2'; this default setting will only subtly brighten the screen in more severe overloading conditions that are on the verge of being audible.
  • 'HEAt ALL'; this default setting will give a more granular view of when the DSP is increasingly being taxed. A brightening of the screen and LEDs will indicate a temporary (few millisecond) quality drop was necessary to maintain audio throughput. A higher level of brightening indicates that the overloading persisted and that further measures were taken to reduce DSP load, most typically still inaudible. The brightest level indicates a severe overloading condition, and last-ditch efforts (sometimes audible) are being made to keep the audio stream intact in order to prevent crackling and popping artifacts.
  • 'Pct USgE'; this setting will show DSP load as a percentage of total capacity during playback.
  • 'SpecQual'; this setting will show the amount of voices currently playing at reduced spectral resolution. The number underneath 50 shows the percentage of playing voices that were assigned 50% spectral resolution, while the number underneath 25 shows the percentage of playing voices that were assigned 25% spectral resolution. 'AL' means "all" (e.g. 100%). Voices playing at lower spectral resolution are less taxing on DSP resources.
  • 'JIT CMPL'; this setting shows how many just-in-time code re-compilations are being performed per second by the synthesis engine.


AI DSP resource allocation optimizer

A learning-based algorithm is used to fine-tune DSP throughput. It learns from DSP usage spike events and attempts to better allocate DSP cycles and cache memory in order to predict and prevent them. Once trained on your song or patterns, the optimizer can reduce DSP loads by ~10% in typical cases.

The AI works in the background and training data is saved along with your song. However, the optimizations that the AI can make, are highly dependent the song as well as real-time hardware conditions that may vary between sessions, boot-ups and firmware revisions. Training data may be reset between some firmware updates, or when importing songs that saved on older firmware. Playing your song or patterns at least once after loading, will start the re-training process to optimize the performance by more intelligently allocating DSP cycles and cache memory.

Please also note that turning off Bluetooth, or using shorter delay times for delay 1, frees up more cache memory for the optimizer to allocate, and can further improve DSP throughput if DSP spikes are an issue.


Spectral resolution optimizer

The Spectral Quality ('Qlty') parameter (5/Ki button on a track's Global/"GLob" page) controls a novel signal processing feature that further optimizes DSP usage.

In order to save DSP resources, your Woovebox can analyse the precise spectral resolution a sound requires during real-time synthesis of a voice. In cases where a lower spectral resolution can be used without impacting the fidelity of the sound, your Woovebox can automatically do so to free up DSP resources. You can also manually force any track to render at a lower resolution, either to save DSP resources or for creative effects.

When automatically determined ('auto') by your Woovebox, the loss in resolution is not (or barely) audible - a little bit like how MP3s trade storage space for audio fidelity. Any resolution reduction determined by 'auto' will only kick in when DSP usage exceeds 70%.

  • 'auto'; lets your Woovebox decide the required spectral resolution to faithfully reproduce the track's patch, saving DSP resources where it can. Tracks with 'auto' set will always render at full ('FuLL') quality spectral resolution when exported via Wooveconnect. Any resolution reduction determined by 'auto' will only kick in when DSP usage exceeds 70%.
  • 'FuLL'; forces full spectral resolution allocation for the track, preventing loss of resolution at all times.
  • '50'; forces 50% spectral resolution allocation for the track. Depending on the patch, the effect may be noticeable in the high frequencies, as well as when applying filters and saturation. In that case, this mode can also be used as a creative effect. Tracks with '50' set will render precisely as audible (e.g. with reduced spectral resolution allocated) when exported to .WAV via Wooveconnect.
  • '25'; forces 25% spectral resolution allocation for the track. Depending on the patch the effect may be noticeable in the high and mid frequencies, as well as when applying filters and saturation. In that case, this mode can also be used as a "lo-fi" creative effect. Tracks with '25' set will render precisely as audible (e.g. with reduced spectral resolution allocated) when exported to .WAV via Wooveconnect.

Good candidates for aggressive manual spectral quality optimization are usually patches and sounds with little to no high frequencies playing, such as basses and bass drums.


Optimizing your song manually

To avoid running into DSP overload conditions, there are some manual optimizations you can make to your song. These are as follows;

  • Use fewer sounds simultaneously (e.g. reduce polyphony requirements), for example by using multi-instrument mode on tracks.
  • If feasible, force a track to use 50% ("50") or 25% ("25") spectral resolution (5/Ki button on a track's Global/"GLob" page) and if needed, tweak your patch so it sounds close enough to the original full spectral resolution. The "Auto" setting will always err on the side of caution.
  • Reduce decay and release times for the AEGs and FEG for patches, so that your Woovebox is "done" quicker with sounding a voice.
  • Rely on decay-only AEGs and FEGs for patches rather than having release stages.
  • Turn off Bluetooth.
  • Avoid using delay2 completely across your entire song.
  • Avoid using distortion for a patch.
  • Avoid using saturation for a patch.
  • Turn off filtering for a patch.
  • Set any unused oscillator's level to 0 for a patch.
  • Consider internal re-sampling of complex synthesized sounds and triggering them as samples on a single oscillator.
  • Use more sampled sounds in your song, instead of synthesized sounds.
  • For chords, consider using track bs through A8 paraphonically instead of using the Cd track, while muting the Cd track and using it only to play/"convey" the chord information/notes (but not the sound). Paraphonic voices only count as a single playing voice, while the Cd track will play up to 4 voices.
  • Play through the song, or part of the song that is showing DSP overload conditions to help the AI resource allocator better understand your song.
  • Please note that the sample kit's algorithm defaults to "Warp", allowing for real-time pitch shifting and time stretching. This algorithm consumes more DSP resources than using the simpler subtractive algorithm. If you don't need the Warp algorithm, consider changing the track's algorithm (3/Ld/Algo on the track's GLob page) to subtractive ('Subt') instead.

Again, please note that rendering a song or its individual stems to a WAV file via Wooveconnect, is not subject to any DSP resource limitations.


Start making more music with less

Woovebox
Pocket Animal Audio Pty. Ltd.
vasb@jbbirobk.pbz

ABN 42 671 534 526
Woovebox is a US registered trademark of SiliconFields
All product, company, and standard names are trademarks or registered trademarks of their respective holders