# Audio channel router

- Human page: https://happytails.ai/en/media-tools/audio-channel-router/
- Markdown: https://happytails.ai/en/media-tools/audio-channel-router.md
- Structured JSON: https://happytails.ai/agents/en/media-tools/audio-channel-router/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `audio-channel-router` |
| Category | media-tools |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Use the visible action or interactive controls. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

Runs locally in your browser. Routes up to 8 channels of one recording up to 10 minutes; routing lines are used in matrix mode only.

### Inputs and settings

Text input: Routing (matrix mode).

Example or placeholder shown in the interface (not a validated fixture):

```text
out1 = in2
```

One output per line, for example out2 = 0.5*in1 + 0.5*in2. Up to 10,000 characters. Review the settings before running.

Accepted browser files: `.wav,.mp3,.m4a,.aac,.flac,.ogg,.oga,.opus,.webm,audio/*`. Choose one file.

Browser file-input limit: 268435456 bytes in total. HTTP limits can differ.

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `mode` | Mode | select | "matrix" | Allowed: matrix, split, swap, duplicate |
| `encoding` | WAV sample format | select | "match" | Allowed: match, pcm16, pcm24, float32 |

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

One recording up to 256 MiB, 10 minutes and 8 channels; routing text up to 10,000 characters and 8 output lines. WAV is read with every sample intact; other formats are decoded by your browser at 48 kHz. Everything is processed on your device and nothing is uploaded. Download: WAV, or a ZIP of mono WAV files in split mode, and a JSON report.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "audio-channel-router",
  "category": "media-tools",
  "built": true,
  "requirements": "One recording up to 256 MiB, 10 minutes and 8 channels; routing text up to 10,000 characters and 8 output lines. WAV is read with every sample intact; other formats are decoded by your browser at 48 kHz. Everything is processed on your device and nothing is uploaded. Download: WAV, or a ZIP of mono WAV files in split mode, and a JSON report.",
  "implementation": {
    "fields": [
      {
        "key": "mode",
        "label": "Mode",
        "value": "matrix",
        "type": "select",
        "values": [
          "matrix",
          "split",
          "swap",
          "duplicate"
        ]
      },
      {
        "key": "encoding",
        "label": "WAV sample format",
        "value": "match",
        "type": "select",
        "values": [
          "match",
          "pcm16",
          "pcm24",
          "float32"
        ],
        "labels": {
          "match": "Match source sample format"
        }
      }
    ],
    "registrationFamily": "audio-dsp-edit",
    "presentation": "metrics",
    "files": true,
    "accept": ".wav,.mp3,.m4a,.aac,.flac,.ogg,.oga,.opus,.webm,audio/*",
    "maxFileBytes": 268435456,
    "inputMaxLength": 10000,
    "inputErrorCode": "AUDIO_DSP_EDIT_TOO_LONG_ROUTING",
    "note": "Runs locally in your browser. Routes up to 8 channels of one recording up to 10 minutes; routing lines are used in matrix mode only.",
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 10000,
      "inputMode": "text",
      "label": "Routing (matrix mode)",
      "placeholder": "out1 = in2",
      "help": "One output per line, for example out2 = 0.5*in1 + 0.5*in2. Up to 10,000 characters. Review the settings before running.",
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}
```

## Page guide

Remap, swap, duplicate or split the channels of a recording, using simple routing lines such as out1 = in2.

### How to use Audio channel router

1. Choose the recording whose channels you want to change.
2. Pick a mode: matrix, split, swap or duplicate.
3. In matrix mode, write one routing line per output channel, such as out2 = 0.5\*in1 + 0.5\*in2.
4. Route the channels and download the WAV, or the ZIP of single-channel files in split mode.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

## Useful next steps

- [Stereo to mono downmixer](https://happytails.ai/en/media-tools/stereo-to-mono-downmixer/) ([Markdown](https://happytails.ai/en/media-tools/stereo-to-mono-downmixer.md))

- [Merge audio](https://happytails.ai/en/media-tools/merge-audio/) ([Markdown](https://happytails.ai/en/media-tools/merge-audio.md))

- [MP3 to WAV](https://happytails.ai/en/media-tools/mp3-to-wav/) ([Markdown](https://happytails.ai/en/media-tools/mp3-to-wav.md))

## Routing lines

Each line defines one output channel, numbered from 1 in order: out1 = in2 copies input channel 2 to output 1. Terms can be added or subtracted and scaled by a number up to 4, as in out3 = 0.5\*in1 - 0.5\*in2. Lines starting with # are ignored. At most 8 output channels.

### Other modes

Split writes each channel as its own mono WAV inside a ZIP file. Swap exchanges left and right of a stereo file. Duplicate turns a mono file into stereo with the same signal on both sides. Routing lines are only read in matrix mode.

### Exact copies

A channel that is copied without scaling keeps every sample. With the sample format set to match, a 16-bit or 24-bit source is written in its own format, so copied channels are bit for bit identical. Mixed channels can go above full scale and are then clipped in 16-bit and 24-bit files, so keep the sizes of the coefficients on each line adding up to 1 or less.
