Getting, Installing, and using ConvoProxy

Step-by-step instructions for all supported platforms, plus a detailed guide to every feature in the web interface.

Note: The Docker-based installers download and install several hundred megabytes of supporting software into a shielded container environment. The initial install can take over 10 minutes. The native installers are significantly faster.

Installation

Installing on Synology DSM 6.x and 7.x

ConvoProxy needs the 3rd party package FFmpeg. To install it, add the SynoCommunity package source to your Package Center. (Please refer to SynoCommunity installation guide). Then search for and install FFmpeg version 7.

Then - still in the package center - select Any publisher as the Trust Level (required due to digital signature limitations).

Finally, click Manual Install, select the downloaded file in SPK format, and proceed from there.

After installation, ConvoProxy appears among the installed packages. Click the icon to verify it is running — if not, start it from the Action menu.

Installing on QNAP

On QNAP, ConvoProxy runs as a "Container" in the Container Station app. Please refer to the QNAP documentation for general instructions on setting up and managing containers.

You need to install Container Station before installing ConvoProxy.

Then install the downloaded QPKG file using "manual install" in the QTS App Center. This creates a ConvoProxy container in Container Station. Please refer to QNAP manual install guide for details.

Please note that the initial ConvoProxy install may take up to 10 minutes. This is because it downloads and installs several hundred megabytes of supporting software into the container.

ConvoPi customized install image

ConvoPi is a Linux image customized for running ConvoConfig/ConvoProxy/Minim server on Raspberry Pi models 4/CM4/5/CM5 (and possibly Pi3, hasn’t been tested).

ConvoConfig is a user-friendly web interface for installing and maintaining ConvoProxy and other packages. running the ConvoPi image. ConvoPi comes with ConvoConfig preinstalled. This means that users will not have to master Linux SSH connections / command line utilities. One should unpack the ConvoPi ZIP-archive and write the downloaded image file to a storage card and mount it in the Raspberry Pi. After powering it up, ConvoConfig can be accessed at http://convoproxy.local . Now, you're about three clicks away from running the latest ConvoProxy build on your Pi.

Also, please update ConvoConfig to the latest version. Download it from the same place as ConvoPi, and install it from the "Burger" menu of the ConvoConfig web interface. (The menu in the top right corner).

ConvoConfig also allows you to install and maintain other packages, such as Minimserver or Gmediarender (for sending music to an attached USB DAC).

Installing on Linux

The following assumes a 64-bit Debian-based Linux distribution (this includes Ubuntu and DietPi). Other flavours will likely also work provided you install the ffmpeg curl zip flac wget sudo bzip2 packages.

Unpack ConvoProxy into a directory of your choice, e.g./home (not /root), and use your own non-superuser account:

tar -xzf ConvoProxy_3-xxx-Linux-combined.tar.gz
cd ConvoProxy-3

Install dependencies and start:

./set-up-linux-boot.sh

ConvoProxy should now be running.

Configuration

After installation, open your browser and navigate to:

http://<your-device-ip-or-name:8996

If you are running ConvoProxy on your local machine, this could be as simple as http://localhost:8996.

Then click Setup functions. If you run your media server on the same machine, ConvoProxy detects it automatically. Otherwise, use the dropdown to select it manually. A button is available to disable media server scanning entirely if you use streaming services only.

For non-Linn streamers or to use an UPnP control app with your Linn/Lumin, select the target streamer in the ConvoStreamer dropdown.

FIR filters

To enable convolving, go to Filter maintenance, create a filter bank (WAV-type for Audiolense/Acourate/Focus Fidelity filters, or native CamillaDSP), upload your filters, and enable convolving on the main page. The filters have be WAV files in stereo format, and you need to generate/upload filters for every sample rate, you want to do convolving for. If ConvoProxy during play-back cannot find a relevant filter, it will fall back to non-convolving.

Tip: on Windows, use Ctrl+click to select multiple filter files at once when uploading.

Native CamillaDSP filters

As an alternative to WAV filters, ConvoProxy supports native CamillaDSP filter specifications entered directly in the web interface. When you create a CamillaDSP-type bank, text fields for left and right channel appear. Example:

notch_37:
  type: Biquad
  parameters:
    type: Peaking
    freq: 37
    gain: -30
    q: 9

Please refer to the CamillaDSP documentation for full syntax details.

The web interface in detail

Performing a streamer/media server rescan

ConvoProxy scans your network for streamers and media servers at startup — make sure all devices are powered on when you start ConvoProxy. You can trigger an additional rescan at any time from the Setup functions page.

Features

Stored streamer preferences with ConvoStreamer

ConvoProxy can store preferences for individual streamers, allowing you to have different setups for different devices. For example, you could have a filter bank with a strong bass boost that is only applied when you play to your headphones, while the same music is played without convolution when you stream to your living room system.

Please start with selecting a target streamer in the ConvoStreamer section of the Setup functions page. Then configure the preferences for that streamer and go to the Setup functions page to save them. The preferences are applied whenever you play music to that streamer. Continue to set up preferences for other streamers as needed.

To change stored preferences for a streamer, go to the Setup functions page and select that streamer. Then click to load the stored preferences, make your changes, and save again.

Stored music preferences

When using music stored on your UPnP music server, ConvoProxy reads preference files, allowing per-folder or per-streamer overrides of the web interface settings. Preference files can be named:

Valid settings in preference files:

locoencoding = bank name / disabled
msencode     = n / y
drc = DRC / NoDRC
phase        = normal / inverted / reverse
nondrcatt    = number
predrcatt    = number
resample_to  = number
drcbank      = bank name
wav_mode     = wav / wav32_int / wav32_float

Comment out a line with #. Settings are resolved from the music root folder down to the played file, with more specific entries winning. The valid preference file names for your setup are shown in the Misc section of the web interface.

Squeezelite / Use with Roon

ConvoProxy includes a special build of Squeezelite, enabling use as a Roon endpoint. Enable Squeezelite mode from the Setup functions page.

ConvoStreamer

ConvoStreamer makes ConvoProxy announce itself on the network as a UPnP or OpenHome streamer, proxying traffic to a physical device of your choice. This allows using standard UPnP control apps, even with Linn or Lumin streamers, without needing to use the manufacturer's app. Enable it by selecting a target streamer in the Setup functions page.

M/S encoding

ConvoProxy supports Mid/Side encoding of the stereo signal, which can be advantageous in certain room correction scenarios. Please note that you need specialized hardware in your analogue play-back chain to decode M/S-encoded audio.

LoCo encoding

Localisation Correction (LoCo) applies per-sample-rate correction filters independently from the main FIR convolution chain. Create a LoCo bank and upload .dbl filter files for each sample rate you want to correct.

Dynamic Range (DR) analysis

ConvoProxy can analyze the dynamic range (DR) of music tracks while they are played. The results are displayed in the messages bar at the top of the web interface. Clipping warnings are also shown here when digital clipping occurs during convolution or encoding.

Bufhrt

Bufhrt is an optional extension based on code by frankl (from "frankl's stereo utilities") that enhances playback quality through strict output timing. Five modes are available: disabled, standard Bufhrt, Bufhrt with process isolation, remote Bufhrt, and Bufhrt-service-only.