DSP Engine: Convolution

MUSE - Precision Audio Control: Convolution

Introduction

Convolution is part of Roon's MUSE suite. For more information on accessing MUSE, see here.

Convolution is not included in MUSE for ARC

Convolution is a powerful signal processing technique commonly used for room correction, headphone listening, or surround processing.

When using convolution in Roon, the first step is to design a convolution filter. This is done using an external piece of software. Some examples of software that can generate convolution filters are Room EQ Wizard, Acourate, Audiolense, DRC, Rephase, FIR Creator, and EQuilibrium.

Loading a filter into Roon

Convolution filters are loaded using the Browse button:


Note that Roon does not yet support loading convolution filters from mobile devices. This must be done on a Mac or Windows computer.

Depending on the exact type of filter you have, the next steps vary slightly:

If you have a single impulse response file, typically in `.WAV` format:
  1. Browse to the .zip file and select it in Roon 
  2. Enjoy the music

If you have a set of impulse response files, one per sample rate or channel layout:
  1. Place all of the impulse response files in the same directory
  2. Create a `.zip` file from that directory
  3. Browse to the `.zip` file and select it in Roon
  4.  Enjoy the music
 If you use convolver-style `.cfg` files:
  1. Place all of the impulse response files and `.cfg` files in the same directory
  2. Open up each `.cfg` file and make sure that the filter paths inside are relative to the location of the `.cfg` file (see "Convolver text configuration support" for more details)
  3. Remove any `.cfg` files that simply contain a list of other `.cfg` files. Roon does not support these
  4. Create a `.zip` file from that directory
  5. Browse to the `.zip` file and select it in Roon
  6. Enjoy the music

 Technical Notes

Handling of Monaural impulse responses

If you provide a monaural impulse response file, it will apply to channels of the source material. If you provide an impulse response file with multiple channels, then they will be mapped onto the channels in the source material appropriately.

Sample rate and channel layout switching

If multiple impulse response files, or multiple `.cfg` files, are provided in the same `.zip` archive, then Roon will choose the closest match based on the channel layout and sample rate source material being played.

Filter resampling

If no filter is available that exactly matches the playback sample rate, Roon will resample the provided impulse response file to match.

You can avoid filter resampling by providing a separate filter for each sample rate. This can improve performance--both CPU performance and sonic performance--so you should try to provide a filter for each rate when possible.

You can also avoid filter resampling by configuring Roon to resample all content to the rate that matches your filter using Sample Rate Conversion

Impulse Response File Formats

Roon supports the following impulse response file types:
  1. .flac
  2. .m4a (ALAC only)
  3. .aiff
  4. .wav
  5. .pcm (raw float 32 samples)
  6. .dbl (raw float64 samples)
Filters may use 16, 24, 32, or 64-bit samples. 64-bit samples are only supported for `.wav` and `.dbl` formats.

Implementation Details

Filters are applied using FFT Convolution and the overlap-add method. Like all of MUSE, Roon's Convolution engine uses 64-bit floating-point processing throughout. 

Convolver text configuration support

Roon supports the convolver text configuration format. Examples.

When using .cfg files with Roon, you must first place them in a .zip file along with the impulse response files that they reference, as described above. Roon does not support .cfg files that simply list out other .cfg files. If you have files that look like this, please do not include them in the .zip file:



Note that unlike convolver, Roon requires that you use relative paths when referring to impulse response files. This may require you to edit the files like this:



If you run into issues loading your filter files please stop by our Community and let us know.


    • Related Articles

    • MUSE - Precision Audio Control

      MUSE - Precision Audio Control (DSP) gives you tools that can potentially create loud or damaging sounds. Begin by experimenting at low volume levels until you are confident that your settings produce the desired effect. If you experience unwanted ...
    • MUSE - Precision Audio Control: Accessing the MUSE suite

      There are several ways to access the MUSE - Precision Audio Control suite. In Roon From your volume controls: By right-clicking or long-pressing the current zone icon: From Signal Path: Using a keyboard shortcut: Windows: Ctrl-/ Mac: Command-/ In ARC ...
    • MUSE - Precision Audio Control: Headroom Management

      Introduction Headroom Management is part of the MUSE suite. For more information on accessing MUSE, see here. Digital signal processing can result in "clipping", or audio samples that exceed the allowed range. These samples are "clipped" to a maximum ...
    • MUSE - Precision Audio Control: Procedural Equalizer

      The Procedural Equalizer is part of Roon's MUSE Suite. For more information on accessing MUSE, see here. Procedural EQ is not included in MUSE for ARC The procedural equalizer is used for advanced audio control configurations like digital crossovers, ...
    • MUSE - Precision Audio Control: Speaker Setup

      Speaker Setup is part of Roon's MUSE suite. For more information on accessing MUSE, see here. Speaker Setup is not included in MUSE for ARC. Speaker setup helps correct inconsistencies in speaker placement or sensitivity. For example, if the speakers ...
    Visit the Roon Community!
    Need help? Thousands of Roon subscribers and audio enthusiasts are chatting over on our community site right now, join them! You don't even need a Roon subscription to sign up.