Matrix
The Matrix process provides flexible audio routing and mixing capabilities, allowing you to route any input to any output with individual gain control. It’s essential for complex spatialization setups and multi-channel audio routing.
Overview
The Matrix acts as a configurable audio router with:
- Any number of inputs and outputs
- Individual gain control for each connection
- Real-time automation capabilities
- Integration with spatialization algorithms
- Support for large-scale audio systems
Inputs
Port | Type | Description |
---|---|---|
Audio Inputs | Audio Array | Multiple audio sources |
Coefficients | Float Array | Routing coefficients |
Control | Object | Automation control data |
Outputs
Port | Type | Description |
---|---|---|
Audio Outputs | Audio Array | Routed audio channels |
Monitoring | Float Array | Current routing state |
Parameters
Parameter | Widget | Description | Default | Range |
---|---|---|---|---|
Input Count | Integer | Number of inputs | 2 | 1-128 |
Output Count | Integer | Number of outputs | 2 | 1-128 |
Mode | Dropdown | Routing mode | “Additive” | Additive, Replace, Multiply |
Interpolation | Dropdown | Coefficient smoothing | “Linear” | None, Linear, Exponential |
Fade Time | Float | Transition time (ms) | 10 | 0-1000 |
Matrix Configuration
Visual Interface
The Matrix provides a grid interface where:
- Rows represent inputs
- Columns represent outputs
- Intersections show routing gains
- Click and drag to adjust values
Coefficient Array
The coefficient array is organized as a flat array:
[in1→out1, in1→out2, ..., in2→out1, in2→out2, ...]
For a 2x2 matrix:
[0.0, 1.0, // Input 1: silent to output 1, full to output 2
1.0, 0.0] // Input 2: full to output 1, silent to output 2
Usage Examples
Basic Stereo Routing
Simple stereo crossfade:
[Left Channel] → [Matrix 2x2] → [Left Output]
[Right Channel] → → [Right Output]
Spatialization Integration
Use with GBAP or DBAP for speaker routing:
[Audio Source] → [Matrix] → [Speaker 1]
↑ → [Speaker 2]
[GBAP Gains] → [Speaker 3]
→ [Speaker 4]
Multi-Source Mixing
Mix multiple sources to multiple destinations:
[Source 1] → [Matrix 4x8] → [Output Bus 1-8]
[Source 2] →
[Source 3] →
[Source 4] →
Automation
Coefficient Control
Automate individual matrix points:
[LFO] → [Scale 0-1] → [Matrix.coeff[5]]
Pattern Sequencing
Create routing patterns:
[Step Sequencer] → [Coefficient Array] → [Matrix]
Dynamic Routing
Change routing based on analysis:
[Audio Analysis] → [Threshold] → [Matrix Preset]
Presets and Scenes
Saving Configurations
- Set up desired routing
- Right-click → “Save as Preset”
- Name the configuration
Preset Interpolation
Smoothly transition between routing configurations:
[Preset A] → [Interpolator] → [Matrix]
[Preset B] → ↑
[Fade Control]
Advanced Techniques
Feedback Matrix
Create feedback networks (use with caution):
[Input] → [Matrix] → [Effect] → [Output]
↑ ↓
←──────────┘
Parallel Processing
Split signals for parallel effects:
[Input] → [Matrix 1x4] → [Effect 1] → [Matrix 4x1] → [Output]
→ [Effect 2] →
→ [Effect 3] →
→ [Dry Path] →
Surround Upmixing
Convert stereo to surround:
[L/R Input] → [Matrix 2x6] → [5.1 Output]
↑
[Upmix Coefficients]
Integration Examples
With Spatialization
Complete spatialization chain:
[Sources] → [Matrix] → [Speakers]
↑
[DBAP] + [GBAP]
↑ ↑
[Position] [Grid Control]
Live Performance Setup
Flexible routing for live shows:
[Instruments] → [Matrix] → [FOH]
→ [Monitors]
→ [Recording]
→ [Effects Send]
Performance Considerations
CPU Usage
- Increases with matrix size
- Interpolation adds overhead
- Use sparse matrices when possible
Latency
- Near-zero latency for routing
- Interpolation adds minimal delay
- Consider fade time settings
Memory
- Scales with input × output count
- Coefficient storage is efficient
- Preset storage considerations
Best Practices
- Start Small: Begin with minimal routing needs
- Document Routing: Label inputs/outputs clearly
- Use Presets: Save common configurations
- Monitor Levels: Watch for gain buildup
- Test Thoroughly: Verify all routing paths
Common Patterns
Cross-fade Matrix
[1.0, 0.0] // A to Left
[0.0, 1.0] // B to Right
Distribution Matrix
[0.5, 0.5] // Equal to both
[0.5, 0.5]
Isolation Matrix
[1.0, 0.0, 0.0] // Channel isolation
[0.0, 1.0, 0.0]
[0.0, 0.0, 1.0]
Troubleshooting
No Audio Output
- Check coefficient values
- Verify input signals
- Confirm output connections
Distortion
- Reduce coefficient sum per output
- Check input levels
- Enable normalization if needed
Clicking/Popping
- Increase fade time
- Use interpolation
- Avoid instant large changes
Related Processes
- GBAP - Grid-based panning
- DBAP - Distance-based panning
- Audio Mixer - Simple mixing
- Mapping - Parameter control