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.
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.
- Automatic layout detection for common orders, with manual override.
- Downmix laws (center/surround/LFE trims) aligned with common practice.
- Arbitrary N×2 matrix routing when channels are unconventional.
- Normalize to target peak, and protect mono to reduce cancellations.
name_stereo is created alongside the original.Quick start
- In Praat, select a multi‑channel Sound.
- Run script… →
mix_selected_multi_channel_into_stereo.praat. - Choose a preset (e.g., “5.1 → Stereo (Film)”).
- Optionally adjust center, surround, and LFE trims.
- Enable normalize if desired and set target (e.g., 0.99).
- 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.
| Layout | Order (indices) | Notes |
|---|---|---|
| Mono | C (0) | Duplicated to L/R with trim |
| Stereo | L (0), R (1) | Pass‑through or rebalanced |
| 3.0 (LCR) | L (0), R (1), C (2) | C trimmed into L/R |
| 5.1 | L (0), R (1), C (2), LFE (3), Ls (4), Rs (5) | Film order |
| 7.1 | L (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.
| Source | To L | To R | Comment |
|---|---|---|---|
| L | +0 dB | — | Direct |
| R | — | +0 dB | Direct |
| C | -3 to -6 dB | -3 to -6 dB | Shared to both sides |
| Ls | -3 dB | — | Decorrelated; sometimes -4.5 dB |
| Rs | — | -3 dB | Decorrelated; sometimes -4.5 dB |
| Lrs | -4.5 dB | — | Rear to same side |
| Rrs | — | -4.5 dB | Rear to same side |
| LFE | -10 dB | -10 dB | Optional; low‑passed |
| Mono (C only) | -3 dB | -3 dB | Duplicate then trim |
Parameters & Options
| Parameter | Type | Default | Description |
|---|---|---|---|
| preset | option | Auto | Auto, Stereo pass‑through, 3.0→st, 5.1→st (Music/Film), 7.1→st |
| center_trim_db | real (dB) | -3 | Level for C when split to L/R |
| surround_trim_db | real (dB) | -3 | Level for Ls/Rs |
| rear_trim_db | real (dB) | -4.5 | Level for rear surrounds |
| lfe_trim_db | real (dB) | -10 | Contribution of LFE to L/R |
| lfe_lowpass_hz | real | 120 | Low‑pass cutoff for LFE feed |
| matrix_manual | text | "" | CSV of N×2 gains (linear). Overrides trims. |
| normalize | boolean | yes | Normalize output peak to norm_target |
| norm_target | real | 0.99 | Peak amplitude target |
| protect_mono | boolean | yes | Reduce opposite‑side bleed to mitigate cancellations |
| phase_safe_sum | boolean | yes | Energy‑sum approximation for partially correlated channels |
| report | boolean | no | Print 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
- Headroom: When summing coherent signals (e.g., C), trims of -3 to -6 dB avoid overload.
- LFE: In music, consider muting or filtering LFE; in film, keep it low‑passed and at -10 dB.
- Phase: Decorrelated surrounds add width; if cancellations occur in mono, reduce opposite‑side feed.
- Normalization: Normalize after downmixing, not before.
- Verification: Always check mono fold‑down and correlation meters for translation.
Math
Matrix Form
Stereo y ∈ ℝ^{2×T}: y = Gᵀ x ⇒ y_L = Σ g_{iL} x_i; y_R = Σ g_{iR} x_i.
Coefficient Conversion
Example: -6 dB ⇒ 0.501; -3 dB ⇒ 0.708; -10 dB ⇒ 0.316.
Energy‑Preserving Approximation
y ≈ √( Σ (g_i x_i)^2 ). In practice, we apply a small safety factor to reduce overload risk.