Mix Multi‑Channel Sound into Stereo — User Guide

Fold down mono, stereo, 5.1/7.1, or arbitrary N‑channel signals into a two‑channel mix with control over routing, coefficients, normalization, and phase.

Author: Shai Cohen Affiliation: Department of Music, Bar‑Ilan University, Israel Version: 0.1 (2025) Praat
Contents:

What this does

This tool mixes any selected Sound with N≥1 channels into stereo L/R. It supports common cinema/music layouts (mono, stereo, 5.1, 7.1) and arbitrary input by means of a configurable routing matrix. Optional normalization, bass/LFE handling, phase‑safe summing, and dB‑based coefficients are provided.

Output: A two‑channel Sound named name_stereo is created alongside the original.

Quick start

  1. In Praat, select a multi‑channel Sound.
  2. Run script…mix_selected_multi_channel_into_stereo.praat.
  3. Choose a preset (e.g., “5.1 → Stereo (Film)”).
  4. Optionally adjust center, surround, and LFE trims.
  5. Enable normalize if desired and set target (e.g., 0.99).
  6. Press OK. The stereo mix appears as a new object.

Channel Order & Routing

Common orders are shown below. If your input differs, use Manual Matrix.

LayoutOrder (indices)Notes
MonoC (0)Duplicated to L/R with trim
StereoL (0), R (1)Pass‑through or rebalanced
3.0 (LCR)L (0), R (1), C (2)C trimmed into L/R
5.1L (0), R (1), C (2), LFE (3), Ls (4), Rs (5)Film order
7.1L (0), R (1), C (2), LFE (3), Ls (4), Rs (5), Lrs (6), Rrs (7)Surround & rears folded

Recommended Downmix Coefficients

The following trims are typical starting points for music/film fold‑downs. Adjust to taste.

SourceTo LTo RComment
L+0 dBDirect
R+0 dBDirect
C-3 to -6 dB-3 to -6 dBShared to both sides
Ls-3 dBDecorrelated; sometimes -4.5 dB
Rs-3 dBDecorrelated; sometimes -4.5 dB
Lrs-4.5 dBRear to same side
Rrs-4.5 dBRear to same side
LFE-10 dB-10 dBOptional; low‑passed
Mono (C only)-3 dB-3 dBDuplicate then trim
Why trims? Summing multiple coherent sources increases level; trims avoid overload and maintain spectral balance.

Parameters & Options

ParameterTypeDefaultDescription
presetoptionAutoAuto, Stereo pass‑through, 3.0→st, 5.1→st (Music/Film), 7.1→st
center_trim_dbreal (dB)-3Level for C when split to L/R
surround_trim_dbreal (dB)-3Level for Ls/Rs
rear_trim_dbreal (dB)-4.5Level for rear surrounds
lfe_trim_dbreal (dB)-10Contribution of LFE to L/R
lfe_lowpass_hzreal120Low‑pass cutoff for LFE feed
matrix_manualtext""CSV of N×2 gains (linear). Overrides trims.
normalizebooleanyesNormalize output peak to norm_target
norm_targetreal0.99Peak amplitude target
protect_monobooleanyesReduce opposite‑side bleed to mitigate cancellations
phase_safe_sumbooleanyesEnergy‑sum approximation for partially correlated channels
reportbooleannoPrint effective matrix and headroom estimate

Presets

🎧 Stereo pass‑through

Leave L/R untouched; optional rebalance with small trims.

🎬 5.1 → Stereo (Film)

C = -6 dB to both, Ls/Rs = -3 dB to same side, LFE = -10 dB (optional LPF).

🎵 5.1 → Stereo (Music)

C = -3 dB to both, Ls/Rs = -3 dB, LFE muted or -10 dB low‑passed.

🏟️ 7.1 → Stereo

As above plus Lrs→L (-4.5 dB), Rrs→R (-4.5 dB).

🔧 Manual Matrix

Provide CSV rows (one per input channel): gainL,gainR (linear). Example for 3.0 LCR: 1,0 | 0,1 | 0.707,0.707.

Tips & Pitfalls

Watch out: Incorrect channel order is the #1 cause of odd balances. If the result sounds shifted or hollow, verify the input order and routing matrix.

Math

Matrix Form

Let x ∈ ℝ^{N×T} be channels stacked by rows, and G ∈ ℝ^{N×2} gains.
Stereo y ∈ ℝ^{2×T}: y = Gᵀ x ⇒ y_L = Σ g_{iL} x_i; y_R = Σ g_{iR} x_i.

Coefficient Conversion

Linear gain from dB: g = 10^{(dB/20)}.
Example: -6 dB ⇒ 0.501; -3 dB ⇒ 0.708; -10 dB ⇒ 0.316.

Energy‑Preserving Approximation

When channels are partially correlated, approximate power sum:
y ≈ √( Σ (g_i x_i)^2 ). In practice, we apply a small safety factor to reduce overload risk.