Using Camilladsp with moOde 7 – Part 2

In part I I explained how you can get CamillaDSP working with moOde 7. In the upcoming release moOde 7.1.0, we have improved the integration a lot. No need anymore for any dirty command line work. Configuration files can edited with a web interface.

Features

The features are:

  • Dedicated CamillaDSP configuration page
  • Quick access to the CamillaDSP configuration page from the moOde configuration menu.
  • Management of CamilllaDSP configuration files.
  • Management of impules response files for the convolution filters.
  • Uses the alsa_cdsp module in config_cdsp mode, which passes the samplerate and capture format to camilladsp.
  • Patching the alsa_cdsp configuration with the correct camilladsp configuration file.
  • Automatic patching of the configuration files with the correct output device, capture device and sample format. Of course it can also be disabled.
  • Custom mode where the alsa_cdsp and camilla configuration are not managed by moOde. For example when using multiple output devices.
  • Quick convolution mode.
  • While playing music you can switch live between camilladsp configurations.
  • Start Camillas own very nice web gui from moOde to edit configuration files.
  • Wave convolution file converter to raw included. Also split stereo wave files.
  • Software versions are bumped to the latest repo commits just before the 7.1 release.

Before you start your CamillaDSP adventure, make sure moOde functions correct and is able to play music.

And to do some expectation management; moOde doesn’t included measured tooling for creating room/device/speaker responses it self. Luckily there is al lot of tooling available, for example the good old REW. For headphone corrections there a lot of responses measurements/settings available out there waiting to be downloaded by you.

moOde CamillaDSP configuration page

The easiest way to access the CamillaDSP functionality is using the CamillaDSP button from the general configuration screen.

This will open the moOde CamillaDSP configuration page:

General

In the configuration selection box you can select a configuration to use. There are three special ones:

  • Off – you already guessed it; turns off CamillaDSP
  • Custom – When chosen alsa_cdsp and camilladsp and related are not managed by moOde. This makes it possible to create a setup different that the default moOde provided. Use only if you know what you are doing.
  • Quick convolution filter – instead of providing you own camilla configuration file, there is a template for quick setup of a convolution filter. For example perfect for AutoEq headphone corrections.

All other choices are the available configuration files. In the section Pipeline configuration those can be managed, I would suggest to keep the flat configuration. This makes it easy to toggle between the several CamillaDSP configurations files and use the flat one as an ‘off’ mode.

When the Default Device option is active, from the active CamillaDSP configuration the used capture and playback device are patched to use the active device configured in moOde.

Quick convolution filter

Camilladsp works with configuration files. For basic convolution filter a template is present.

You only have to provide four settings to get it working.

Quick convolution filter

The left and right impulse responses can be uploaded in the section convolution file.

The pipeline configuration contains:

  • 2x master gain
  • 2 convolution filter

Below is the graphical form of it:

quick convolution filter configuration

For headphone users among us, the project AutoEQ provide parametric eq and convolutions files for equalization you headphone.

Pipeline configuration

Here you can manage the pipeline configuration files, including checking the configuration and show a graphical form of the pipeline.

pipeline configuration

A few configuration files are provided. Those are not useful for anything then to test camilladsp works correctly.

The easiest way to start building your own configuration files is to copy an existing and open the provided camillagui to create your filter pipeline.

Alternative you can upload you own premade configuration files. See the camilladsp website for the format of the configuration files.

Convolution file

Impulse response files for the convolution filters can be managed here. With the INFO button you can show some basic information about the impulse response file. See camilladsp for information about the supported file types.

impulse response coefficients information

When you upload a wave file, you will notice some red errror marks about the use of a wave file:

Wave files aren’t support. It is possible to treat a mono wave file as raw by skipping the the header (you need to know the header size) in the CamillaDSP pipeline configuration. For stereo files this isn’t possible.

To ease the pain a wave file converter is build in. You can activate it with the convert button. It will:

  • If the wave file is a stereo wave file split it in to mono files.
  • Convert the mono files to raw
  • Add the channel, samplerate and bitdepth (currently always convert to 24bits) to file name.
  • Remove the original wave file

Pipeline editor

The pipeline editor is the web interface provides by the camilladsp project it self.

The status shows if the gui is already running or not. If not it can be started by toggling the button.

The expert mode show some settings you only need to change or check when use custom config alsa_cdsp or custom output device(s).

camillagui is started as a systemd service called camillagui.

On start the camillagui will load the active configuration file. On apply the changed configuration will be activated and saved.

camillagui

At the left side the clipped number of samples are shown. If that is the case you can reduce the input with a gain filter at the front of your pipeline.

At the filter section self there is a plot button which provide the gain an phase response:

Some example configurations

Remember that CamillaDSP is much more then only convolution filters.
Parametric EQ or graphical EQ are also easy to implement.

For example below is an Linkwitz crossfeed filter implemented based on the available IIR filters:

Or you can of course go wild with convolution filters like the implementation of spatial room response based on ASH IR Data:

Keep in mind that you need IR files for every sample rate you want to support.

Despite the fact that moOde with CamillaDSP is a fantastic solution, the Pi is limited in the available hardware resources. Be realistic about what is required and what the device can do.

Behind the scenes

For the ones who wonder how everything behind scenes works, below a small illustration about the involved and the relations between those:

More information

For more info about CamillaDSP visit the homepage or follow the nice thread at diyaudio CamillaDSP – Cross-platform IIR and FIR engine for crossovers, room correction etc.

One Reply to “Using Camilladsp with moOde 7 – Part 2”

  1. Probably you can just remove bs2b library in moode to get rid of one more dependency — its behavior can be well emulated by camilladsp.

    hint: based on https://github.com/DeaDBeeF-Player/bs2b/blob/master/libbs2b-3.1.0/src/bs2b.c#L158 , the shelf gain and the minus gain applied to LPF can be easily calculated as :

    GB_lo = level * -5.0 / 6.0 – 3.0;
    GB_hi = level / 6.0 – 3.0;

    Example: Chu Moy’s setting in bs2b is 700 Hz, 6 dB. So GB_lo = -8 and GB_hi = -2.
    (The GB_lo and GB_hi in your Linkwitz example is -5 and -2)

Leave a Reply

Your email address will not be published.