Back to Mix
SURROUNDMIX7.1 SETUP GUIDE

This guide walks you through running SurroundMix 7.1, exporting presets compatible with the LADSPA mbeq_1197 plugin, and registering a virtual audio sink visible in pavucontrol on openSUSE Tumbleweed.

1. Running the App

The app runs in any modern browser. Visit the published URL or run locally:

npm install && npm run dev

To install as a standalone desktop app (PWA), click the "Install Desktop App" prompt in the bottom-right corner. This works on Linux/Gnome desktops.

No browser plugin required — uses HTML5 Canvas & Web APIs only.
2. Using the EQ & Channels
  • 15-band EQ: Drag vertical sliders (±12 dB) across 20 Hz–24 kHz. The curve updates live on canvas.
  • 7.1 channels: Adjust each channel fader, mute (M), or solo (S) via the room diagram.
  • Auto-Gain: Toggle in the master bar to normalize perceived loudness to your target.
  • Gain meters: Per-channel input/output bars with peak-hold + clipping indicators.
3. Saving Presets
  • Cloud: Type a name in the preset sidebar and click SAVE — stored in the Base44 database.
  • LADSPA export: Hover any saved preset and click the terminal icon to export a .preset file (mbeq_1197 format).
4. LADSPA mbeq_1197 Setup

Step 1 — Install the LADSPA modules:

sudo zypper install pulseaudio-modules-bad ladspa

Step 2 — Load the EQ sink (copy this into your terminal). Adjust EQ in the app, then use the live command in the preset sidebar for real values:

pactl load-module module-ladspa-sink plugin=mbeq_1197 label=ladspa_eq eq_0=1.000000 eq_1=1.000000 eq_2=1.000000 eq_3=1.000000 eq_4=1.000000 eq_5=1.000000 eq_6=1.000000 eq_7=1.000000 eq_8=1.000000 eq_9=1.000000

Step 3 — Place exported preset files in the presets directory:

sudo cp my_preset.preset /usr/share/pulse-equalizer-ladspa/presets/

Step 4 — To reload after changes, unload then re-load:

pactl unload-module module-ladspa-sink
4b. Live Control (Local Bridge)

To make the app change audio live as it plays through the LADSPA sink, run the local bridge daemon — it listens on 127.0.0.1:8765 and drives pactl for you:

python3 scripts/surroundmix-bridge.py

Then open the app locally via the desktop launcher (or npm run dev) and toggle LIVE LADSPA in the master bar. Drag any EQ slider or channel fader and the sound updates instantly:

  • Channel & master volume: applied gapless via pactl set-sink-volume.
  • EQ bands: reload the LADSPA sink (a tiny gap on each change).
  • Status dot: green = bridge connected, amber = enabled but not found.

Live control only works on the local instance. Browsers block http calls from the published https app (mixed content), so the published site shows the bridge as disconnected.

5. Virtual Sink & pavucontrol

The LADSPA sink above already appears in pavucontrol. For a plain virtual sink (no EQ):

pactl load-module module-null-sink sink_name=surroundmix \ sink_properties=device.description="SurroundMix 7.1"

To persist across reboots, add the line to your PulseAudio config:

echo 'load-module module-null-sink sink_name=surroundmix sink_properties=device.description="SurroundMix 7.1"' >> ~/.config/pulse/default.pa
In pavucontrol → Playback tab, route your app's audio to the new sink.

Note: A web app cannot register PulseAudio sinks itself — these terminal commands are required. The app only generates the commands and preset files for you to apply.

6. Preset File Format

Each exported .preset file contains 10 linear gain values (one per line), mapped from your 15-band dB EQ:

# my_preset.preset (mbeq_1197) 1.000000 1.122018 0.891251 1.258925 1.000000 0.944061 1.059254 1.148154 0.891251 1.000000

Values are linear multipliers (1.0 = no change, 2.0 = +6 dB, 0.5 = −6 dB).

7. Compatibility Notes
  • Works on openSUSE Tumbleweed (any desktop browser).
  • PipeWire (Tumbleweed default) also supports module-ladspa-sink.
  • LADSPA plugin loading requires terminal access — browsers are sandboxed.
  • Writing to /usr/share/... requires sudo.
SURROUNDMIX 7.1 — SETUP GUIDE
base44
Edit with Base44