# Delay Downmix Matrix

### What the Downmix Matrix Does

The Downmix Matrix routes signals from **main beams** to **fill and LF beams**.

It allows you to:

* send the same signal used by your main beams to fill or LF beams
* apply **gain and delay per routing point (crosspoint)**

This routing is **required** if your project contains Fill or LF Function Groups. Without Downmix routing, fill and LF beams will not receive signal from the mains.

The Downmix Matrix is organised as follows:

* **Rows** represent **Main Function Groups** (signal sources)
* **Columns** represent **Fill and LF Function Groups** (signal destinations)

Each intersection between a row and a column is a **crosspoint**.

Routing is always created from **mains to fills or LF** by enabling a crosspoint at the intersection between them.

{% hint style="info" %}
The Downmix Matrix is must be used in conjunction with **Function Groups**.
{% endhint %}

Before using the Downmix Matrix:

* Main beams must be assigned to a **Main Function Group** (all beams are auto-added to Main Function Groups unless explicitly marked as fills).
* Fill beams must be assigned to **Fill Function Groups**
* Low‑frequency beams must be assigned to **LF Function Groups**

If no Fill or LF Function Groups exist, all beams remain in the Main Function Group and the Downmix Matrix will only show mains.

***

### Creating Downmix Routing

When Fill or LF Function Groups exist, the Downmix Matrix is initially **empty**.

No routing is created automatically. You must explicitly define routing by enabling crosspoints.

To create routing:

1. Open the **Downmix Matrix**
2. Locate the desired **Main Function Group** row
3. Locate the target **Fill or LF Function Group** column
4. Enable the crosspoint at their intersection

Using Function Groups allows you to create routing relationships quickly without working beam by beam.

***

### Gain and Delay at Crosspoints

Each crosspoint in the Downmix Matrix supports:

* **Gain**
* **Delay**

These values are used to control the system‑level relationship between mains and fills or LF beams.

{% hint style="info" %}

## Editing gains and delays

In **Plan**, you can edit:

* Downmix routing (crosspoints)
* Crosspoint gain and delay
* System beam gains and delays

These system‑level values are exported and brought into Control.

In **Control**, you can edit:

* **User‑level beam gains and delays**

System values defined in Plan and user values edited in Control are separate and serve different purposes.
{% endhint %}

***

### Push and Pull Gain and Delay

The Downmix Matrix includes a **push / pull** mechanism that allows you to control where gain and delay are applied in the signal chain.

For each beam, open the **three‑dot menu** to access the following options:

* Push gains/delays to the matrix
* Pull gains/delays from the matrix

When using push or pull:

* Pulling gain or delay from the matrix to the beam level only has a meaningful effect when multiple crosspoints contain values.
* This effectively **normalises the relationship**, allowing common gain or delay offsets to live at the beam/matrix level while preserving relative differences between values.

This allows you to shift gain and delay between beam‑level and matrix‑level.

***

### Export and Persistence

Downmix routing is exported with the **.holoplot** file.

Downmix Matrix configuration persists when moving projects between **Plan and Control**, ensuring routing and system‑level tuning remain intact across environments.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.holoplot.com/holoplot-plan/working-with-beams/routing-beams/delay-downmix-matrix.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
