Files
ableton-mcp-ai/docs/SENDS_ROUTING_GUIDE.md

5.3 KiB

Sends Routing Guide

Guia de Routing de Sends y Buses

Sprint: Granular v0.1.40
Tareas: T101-T106
Modulos: server.py, bus_routing_fix.py


Resumen Ejecutivo

El sistema de routing RCA (Return Channel Architecture) organiza los tracks en buses logicos para mezcla profesional. Esta guia describe la configuracion de sends, buses y routing implementado.


Arquitectura RCA

Buses Principales

Bus Indice Color LUFS Target Funcion
Drums 1 10 (Rojo) -8 dB Kick, clap, hats, percussion
Bass 2 30 (Azul) -10 dB Bass y sub-bass
Music 3 45 (Verde) -12 dB Synth, pads, leads
Vocal 4 60 (Amarillo) -12 dB Vocals, vocal shots
FX 5 75 (Morado) -14 dB Atmos, FX, risers

Master Bus

Master Indice Color LUFS Target
Master 0 0 -8 (club) / -14 (streaming)

Configuracion de Sends

Cada Send Tiene:

SEND_CONFIG = {
    "drums_send": {
        "index": 0,
        "devices": ["Heat", "Glue Compressor"],
        "dry_wet": {"heat": 1.0, "glue": 0.3}
    },
    "music_send": {
        "index": 1,
        "devices": ["Hybrid Reverb", "Echo"],
        "dry_wet": {"reverb": 0.5, "echo": 0.4}
    }
}

Sends por Defecto

Send Dispositivos Funcion
Drums Send Heat, Glue Compressor Saturacion y glue
Music Send Hybrid Reverb, Echo Space y delay
Vocal Send Hybrid Reverb, Echo Space y delay
FX Send Hybrid Reverb Space atmosferico

Routing por Rol

Rol -> Bus Mapping

ROLE_TO_BUS_MAP = {
    # Drums bus (index 1)
    "kick": 1,
    "clap": 1,"hat": 1,
    "hat_open": 1,
    "snare": 1,
    "perc_main": 1,
    "perc_alt": 1,"top_loop": 1,
    
    # Bass bus (index 2)
    "bass": 2,
    "sub_bass": 2,
    
    # Music bus (index 3)
    "synth": 3,
    "pad": 3,
    "lead": 3,"atmos": 3,
    
    # Vocal bus (index 4)
    "vocal": 4,
    "vocal_shot": 4,
    
    # FX bus (index 5)
    "fx": 5,
    "riser": 5,
    "atmos_fx": 5,"fill_fx": 5
}

Configuracion de Gain Staging

Targets por Bus

BUS_GAIN_TARGETS = {
    "drums": {"gain_db": 0.0, "pan": 0.0},
    "bass": {"gain_db": -0.5, "pan": 0.0},
    "music": {"gain_db": -2.0, "pan": 0.0},
    "vocal": {"gain_db": -3.0, "pan": 0.0},
    "fx": {"gain_db": -4.0, "pan": 0.0}
}

LUFS Targets

Target LUFS Uso
Club -8 dB Reproduccion en vivo
Streaming -14 dB Spotify, Apple Music
Demo -12 dB Preview separado

Sidechain Configuration

Sidechain por Defecto

SIDECHAIN_CONFIG = {
    "destination": "kick",
    "threshold_db": -30,
    "attack_ms": 3,
    "release_ms": 50,
    "ratio": "4:1"
}

Tracks con Sidechain

  • Bass: sidechain al kick
  • Synth: sidechain al kick (opcional)
  • Music: sidechain al kick (opcional)---

Validacion de Routing

T102: Diagnostico de Problemas

defdiagnose_bus_routing() -> Dict[str, Any]:
    """
    Detecta:
    - Tracks en bus incorrecto
    - Sends excesivos en kicks/bass
    - FX bypassing master
    """

Problemas Comunes

Problema Sintoma Solucion
Track en bus incorrecto Balance roto Reasignar rol
Sin sidechain en bass Kick ahogado Configurar sidechain
Send excesivo Mezcla sucia Reducir send level
FX sin master Niveles inconsistentes Enrutar a master

Ejemplos de Uso

Configurar Bus Routing

# Obtener bus para un rol
bus_index = get_bus_for_role("bass")# Retorna 2

# Configurar send
set_track_send(
    track_index=3,
    send_index=0,
    value=0.7
)

Validar Routing

# Diagnostico completo
issues = diagnose_bus_routing()

# Validacion por track
validate_set_detailed(
    check_routing=True,
    check_gain=True,
    check_clips=True
)

Flujo de Señal

Track Individual
      |
      v
   [Gain Staging]
      |
      v
  [Bus Routing] --> Drums Bus --> [Heat + Glue]
      |                               |
      v                               v
   [Sends] --> Music Bus --> [Reverb + Echo]
      |                               |
      v                               v
   [Master] <-------------------------+
      |
      v
[Master Processing]
      |
      v
   [Output]

Limitaciones

  1. Solo returns configurados: No se crean grupos adicionales
  2. Sidechain manual: El sidechain debe configurarse por track
  3. Sends limitados: Maximo 8 sends disponibles

Troubleshooting

Sin Sonido en Bus

  1. Verificar que el bus existe
  2. Comprobar que el send no esta en 0
  3. Validar que eltrack esta ruteado al bus

Niveles Muy Bajos

  1. Revisar gain staging por bus
  2. Comprobar LUFS del master
  3. Verificar que no hay compresores excesivos

Niveles Muy Altos

  1. Reducir gain del bus
  2. Comprobar sidechain threshold
  3. Verificar true peak del master

Tests

python -m pytest "tests/test_bus_routing.py" -v

##Roadmap

  • T107: Automatic sidechain setup
  • T108: Dynamic EQ routing
  • T109: Parallel compression sends

Maintained by: AbletonMCP-AI Team
Last updated: 2026-04-05