# Skill: Producción Senior de Audio en Ableton Live

## Descripción
Flujo profesional completo para producción de pistas de audio en Ableton Live usando inyección automática en Arrangement View con selección inteligente de samples.

## Casos de Uso
- Producción de beats reggaetón con samples de librería
- Creación de drum patterns (kick, snare, hi-hat, perc)
- Layering de múltiples tracks de audio
- Composición timeline-based sin Session View

## Flujo de Producción Automático

### Paso 1: Verificar Sistema
```python
# Health check antes de empezar
ableton-live-mcp_health_check
# Resultado esperado: 5/5 checks OK
```

### Paso 2: Escaneo de Librería (Opcional)
```python
# Escanear samples disponibles
ableton-live-mcp_scan_library
ableton-live-mcp_scan_library --subfolder reggaeton/kick
ableton-live-mcp_scan_library --subfolder reggaeton/snare
```

### Paso 3: Crear Tracks de Audio
```python
# Crear tracks específicos para cada elemento
ableton-live-mcp_create_audio_track  # Kick
ableton-live-mcp_create_audio_track  # Snare
ableton-live-mcp_create_audio_track  # Hi-Hat
ableton-live-mcp_create_audio_track  # Bass
```

### Paso 4: Inyección Senior de Audio

#### Patrón Único (1 clip)
```python
ableton-live-mcp_create_arrangement_audio_pattern(
    track_index=3,
    file_path="C:\\...\\libreria\\reggaeton\\kick\\kick 1.wav",
    positions=[0],
    name="IntroKick"
)
```

#### Patrón de 4 Tiempos (4 clips)
```python
ableton-live-mcp_create_arrangement_audio_pattern(
    track_index=3,
    file_path="C:\\...\\libreria\\reggaeton\\kick\\kick 1.wav",
    positions=[0, 4, 8, 12],
    name="KickLoop"
)
```

#### Patrón Completo (16 compases)
```python
ableton-live-mcp_create_arrangement_audio_pattern(
    track_index=3,
    file_path="C:\\...\\libreria\\reggaeton\\kick\\kick 1.wav",
    positions=[0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60],
    name="FullKick"
)
```

### Paso 5: FX y Transiciones Profesionales (T031-T040)

#### Crear Riser/Buildup (T031)
```python
# Riser de 8 compases antes del drop
ableton-live-mcp_create_riser(
    track_index=7,
    start_bar=24,      # Empezar en compás 24
    duration=8,        # 8 compases de duración
    intensity=0.8,     # Intensidad 80%
    pitch_min=36,      # C2
    pitch_max=84       # C6
)
```

#### Crear Downlifter (T032)
```python
# Downlifter post-drop
ableton-live-mcp_create_downlifter(
    track_index=7,
    start_bar=32,      # Después del drop
    duration=4,
    intensity=0.7
)
```

#### Crear Impact FX (T033)
```python
# Impact en el drop
ableton-live-mcp_create_impact(
    track_index=7,
    position=32,       # Compás 32
    intensity=1.0,
    impact_type="sub_drop"  # Options: "hit", "crash", "sub_drop", "noise"
)
```

#### Silence/Break Effect (T034)
```python
# Break de 1 compás para tensión
ableton-live-mcp_create_silence(
    track_index=0,
    start_bar=31,
    duration=1
)
```

### Paso 6: Automation Profesional (T026-T030)

#### Filter Sweep Automation (T026)
```python
# Filter sweep ascendente (build up)
ableton-live-mcp_automate_filter(
    track_index=7,
    start_bar=20,
    end_bar=24,
    start_freq=200,
    end_freq=20000
)

# Filter sweep descendente
ableton-live-mcp_automate_filter(
    track_index=7,
    start_bar=32,
    end_bar=36,
    start_freq=20000,
    end_freq=200
)
```

#### Volume Automation (via set_track_volume)
```python
# Fade in gradual
ableton-live-mcp_set_track_volume --track_index 8 --volume 0.0   # Mute
ableton-live-mcp_set_track_volume --track_index 8 --volume 0.3   # 30%
ableton-live-mcp_set_track_volume --track_index 8 --volume 0.7   # 70%

# Fade out
ableton-live-mcp_set_track_volume --track_index 8 --volume 0.5
ableton-live-mcp_set_track_volume --track_index 8 --volume 0.2
ableton-live-mcp_set_track_volume --track_index 8 --volume 0.0
```

#### Clip Manipulation Automation
```python
# Reverse clip para efecto
ableton-live-mcp_reverse_clip --track_index 7 --clip_index 0

# Pitch shift para variación
ableton-live-mcp_pitch_shift_clip --track_index 7 --clip_index 0 --semitones -2

# Time stretch
ableton-live-mcp_time_stretch_clip --track_index 7 --clip_index 0 --factor 2.0
```

### Paso 7: Mezcla Profesional (T051-T070)

#### Crear Buses y Routing (T055-T056)
```python
# Crear bus de drums
ableton-live-mcp_create_bus_track --bus_type "Drums"

# Rutear tracks al bus
ableton-live-mcp_route_track_to_bus --track_index 2 --bus_name "Drums"
ableton-live-mcp_route_track_to_bus --track_index 3 --bus_name "Drums"
ableton-live-mcp_route_track_to_bus --track_index 4 --bus_name "Drums"

# Crear bus de sintetizadores
ableton-live-mcp_create_bus_track --bus_type "Synths"
ableton-live-mcp_route_track_to_bus --track_index 7 --bus_name "Synths"
ableton-live-mcp_route_track_to_bus --track_index 8 --bus_name "Synths"
```

#### Pistas de Retorno y Envíos (T057-T058)
```python
# Crear returns
ableton-live-mcp_create_return_track --effect_type "Reverb"
ableton-live-mcp_create_return_track --effect_type "Delay"

# Configurar envíos
ableton-live-mcp_set_track_send --track_index 7 --return_index 0 --amount 0.3
ableton-live-mcp_set_track_send --track_index 8 --return_index 0 --amount 0.4
ableton-live-mcp_set_track_send --track_index 8 --return_index 1 --amount 0.2
```

#### EQ y Compresión (T060-T062)
```python
# EQ por tipo de instrumento
ableton-live-mcp_configure_eq --track_index 2 --preset "kick"
ableton-live-mcp_configure_eq --track_index 3 --preset "snare"
ableton-live-mcp_configure_eq --track_index 6 --preset "bass"
ableton-live-mcp_configure_eq --track_index 0 --preset "master"

# Compresión
ableton-live-mcp_configure_compressor \
    --track_index 2 \
    --preset "drums" \
    --threshold -20 \
    --ratio 4

ableton-live-mcp_configure_compressor \
    --track_index 6 \
    --preset "bass" \
    --threshold -15 \
    --ratio 3
```

#### Sidechain Compression (T063)
```python
# Kick ducking Bass (técnica fundamental)
ableton-live-mcp_setup_sidechain \
    --source_track 2 \
    --target_track 6 \
    --amount 0.7

# Snare ducking Melody
ableton-live-mcp_setup_sidechain \
    --source_track 3 \
    --target_track 8 \
    --amount 0.4
```

#### Gain Staging y Balance (T064-T065)
```python
# Auto gain staging
ableton-live-mcp_auto_gain_staging

# Ajustes manuales finos
ableton-live-mcp_set_track_volume --track_index 2 --volume 0.85  # Kick
ableton-live-mcp_set_track_volume --track_index 3 --volume 0.75  # Snare
ableton-live-mcp_set_track_volume --track_index 4 --volume 0.60  # HiHat
ableton-live-mcp_set_track_volume --track_index 6 --volume 0.80  # Bass
ableton-live-mcp_set_track_volume --track_index 7 --volume 0.70  # Chords
ableton-live-mcp_set_track_volume --track_index 8 --volume 0.75  # Melody

# Panoramización
ableton-live-mcp_set_track_pan --track_index 7 --pan -0.2  # Chords left
ableton-live-mcp_set_track_pan --track_index 8 --pan 0.2   # Melody right
ableton-live-mcp_set_track_pan --track_index 4 --pan 0.1   # HiHat slight right
```

#### Master Chain (T065)
```python
# Aplicar cadena de mastering
ableton-live-mcp_apply_master_chain --preset "standard"
ableton-live-mcp_apply_master_chain --preset "loud"

# Ajustar volumen master
ableton-live-mcp_set_master_volume --volume 0.9
```

#### Mezcla Profesional Completa (T070)
```python
# Aplicar mezcla completa con un solo comando
ableton-live-mcp_apply_professional_mix \
    --track_assignments '{
        "2": "kick",
        "3": "snare",
        "4": "hihat",
        "5": "perc",
        "6": "bass",
        "7": "chords",
        "8": "melody"
    }'
```

### Paso 8: Verificación y Quality Check (T071-T075)

```python
# Confirmar clips en Arrangement View
ableton-live-mcp_get_arrangement_status
ableton-live-mcp_get_arrangement_clips

# Verificación completa de calidad
ableton-live-mcp_full_quality_check

# Detectar problemas de energía
ableton-live-mcp_detect_energy_curve

# Balance automático entre secciones
ableton-live-mcp_balance_sections

# Arreglar problemas detectados
ableton-live-mcp_fix_quality_issues

# Sugerencias de mejora
ableton-live-mcp_suggest_improvements
```

### Paso 9: Export Profesional (T066-T079)

```python
# Exportar mix completo
ableton-live-mcp_export_project \
    --path "C:\\Users\\Usuario\\Music\\MiTrack_Master.wav" \
    --format "wav"

# Renderizar stems individuales
ableton-live-mcp_render_stems \
    --output_dir "C:\\Users\\Usuario\\Music\\Stems"

# Versión instrumental
ableton-live-mcp_render_instrumental \
    --output_path "C:\\Users\\Usuario\\Music\\MiTrack_Instrumental.wav"

# Radio Edit
ableton-live-mcp_create_radio_edit \
    --output_path "C:\\Users\\Usuario\\Music\\MiTrack_Radio.wav"

# DJ Edit
ableton-live-mcp_create_dj_edit \
    --output_path "C:\\Users\\Usuario\\Music\\MiTrack_DJ.wav"
```

## Arquitectura de Inyección (5 Métodos Automáticos)

El sistema intenta automáticamente los siguientes métodos en orden:

```
Método 1: track.insert_arrangement_clip()      [Live 12+ - Directo]
Método 2: track.create_audio_clip()            [Live 11+ - Directo]  
Método 3: arrangement_clips.add_new_clip()     [Live 12+ - API Arrangement]
Método 4: Session → duplicate_clip_to_arrangement  [Legacy]
Método 5: Session → Recording               [Universal Fallback]
```

**Zero configuración manual** - El sistema elige automáticamente el mejor método disponible.

## Flujo Completo de Producción Profesional

### Ejemplo: Producción de Reggaeton Completo (32 compases)

```python
# ═══════════════════════════════════════════════════════════════
# FLUJO COMPLETO: REGGAETON PROFESIONAL
# ═══════════════════════════════════════════════════════════════

# ───────────────────────────────────────────────────────────────
# 1. SETUP Y CONFIGURACIÓN
# ───────────────────────────────────────────────────────────────
ableton-live-mcp_health_check
ableton-live-mcp_set_tempo --tempo 95
ableton-live-mcp_set_time_signature --numerator 4 --denominator 4

# ───────────────────────────────────────────────────────────────
# 2. CREAR ESTRUCTURA DE TRACKS
# ───────────────────────────────────────────────────────────────
# Audio tracks para drums
ableton-live-mcp_create_audio_track  # Track 2: Kick
ableton-live-mcp_create_audio_track  # Track 3: Snare  
ableton-live-mcp_create_audio_track  # Track 4: HiHat
ableton-live-mcp_create_audio_track  # Track 5: Percussion

# MIDI tracks para instrumentos
ableton-live-mcp_create_midi_track   # Track 6: Bass
ableton-live-mcp_create_midi_track   # Track 7: Chords
ableton-live-mcp_create_midi_track   # Track 8: Melody

# FX tracks
ableton-live-mcp_create_audio_track  # Track 9: FX/Risers

# Nombrar tracks
ableton-live-mcp_set_track_name --track_index 2 --name "Kick"
ableton-live-mcp_set_track_name --track_index 3 --name "Snare"
ableton-live-mcp_set_track_name --track_index 4 --name "HiHat"
ableton-live-mcp_set_track_name --track_index 5 --name "Perc"
ableton-live-mcp_set_track_name --track_index 6 --name "Bass"
ableton-live-mcp_set_track_name --track_index 7 --name "Chords"
ableton-live-mcp_set_track_name --track_index 8 --name "Melody"

# ───────────────────────────────────────────────────────────────
# 3. INYECTAR SAMPLES EN ARRANGEMENT
# ───────────────────────────────────────────────────────────────

# KICK: Pattern de 16 compases (cada compás)
ableton-live-mcp_create_arrangement_audio_pattern \
    --track_index 2 \
    --file_path "C:\\...\\libreria\\reggaeton\\kick\\kick 1.wav" \
    --positions [0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56, 60] \
    --name "KickPattern"

# SNARE: En beats 2 y 4
ableton-live-mcp_create_arrangement_audio_pattern \
    --track_index 3 \
    --file_path "C:\\...\\libreria\\reggaeton\\snare\\snare 1.wav" \
    --positions [2, 6, 10, 14, 18, 22, 26, 30, 34, 38, 42, 46, 50, 54, 58, 62] \
    --name "SnarePattern"

# HIHAT: Cada medio compás
ableton-live-mcp_create_arrangement_audio_pattern \
    --track_index 4 \
    --file_path "C:\\...\\libreria\\reggaeton\\hi-hat\\hihat 1.wav" \
    --positions [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, \
                 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63] \
    --name "HiHatPattern"

# ───────────────────────────────────────────────────────────────
# 4. GENERAR MIDI (Bass, Chords, Melody)
# ───────────────────────────────────────────────────────────────

# Bass line
ableton-live-mcp_generate_bass_clip \
    --track_index 6 \
    --bars 16 \
    --root_notes [36, 36, 41, 41, 43, 43, 36, 36] \
    --style melodic

# Chords - Progresión i-v-vi-iv en Am
ableton-live-mcp_generate_chords_clip \
    --track_index 7 \
    --bars 16 \
    --progression i-v-vi-iv \
    --key Am

# Melody
ableton-live-mcp_generate_melody_clip \
    --track_index 8 \
    --bars 16 \
    --scale minor \
    --density medium

# Humanización
ableton-live-mcp_apply_human_feel --track_index 6 --intensity 0.3
ableton-live-mcp_apply_human_feel --track_index 7 --intensity 0.2
ableton-live-mcp_apply_human_feel --track_index 8 --intensity 0.4

# ───────────────────────────────────────────────────────────────
# 5. FX Y TRANSICIONES
# ───────────────────────────────────────────────────────────────

# Riser antes del chorus
ableton-live-mcp_create_riser \
    --track_index 9 \
    --start_bar 20 \
    --duration 4 \
    --intensity 0.8

# Impact en chorus
ableton-live-mcp_create_impact \
    --track_index 9 \
    --position 24 \
    --intensity 1.0 \
    --impact_type sub_drop

# Filter sweep
ableton-live-mcp_automate_filter \
    --track_index 7 \
    --start_bar 20 \
    --end_bar 24 \
    --start_freq 200 \
    --end_freq 20000

# Percussion fills
ableton-live-mcp_add_percussion_fills \
    --track_index 5 \
    --positions [7, 15, 23, 31]

# ───────────────────────────────────────────────────────────────
# 6. MEZCLA PROFESIONAL
# ───────────────────────────────────────────────────────────────

# Buses
ableton-live-mcp_create_bus_track --bus_type "Drums"
ableton-live-mcp_route_track_to_bus --track_index 2 --bus_name "Drums"
ableton-live-mcp_route_track_to_bus --track_index 3 --bus_name "Drums"
ableton-live-mcp_route_track_to_bus --track_index 4 --bus_name "Drums"

# Returns
ableton-live-mcp_create_return_track --effect_type "Reverb"
ableton-live-mcp_set_track_send --track_index 8 --return_index 0 --amount 0.3

# EQ
ableton-live-mcp_configure_eq --track_index 2 --preset "kick"
ableton-live-mcp_configure_eq --track_index 6 --preset "bass"

# Sidechain
ableton-live-mcp_setup_sidechain --source_track 2 --target_track 6 --amount 0.7

# Balance de niveles
ableton-live-mcp_auto_gain_staging
ableton-live-mcp_set_track_volume --track_index 2 --volume 0.85
ableton-live-mcp_set_track_volume --track_index 3 --volume 0.75
ableton-live-mcp_set_track_volume --track_index 4 --volume 0.60
ableton-live-mcp_set_track_volume --track_index 6 --volume 0.80
ableton-live-mcp_set_track_volume --track_index 7 --volume 0.70
ableton-live-mcp_set_track_volume --track_index 8 --volume 0.75

# Pan
ableton-live-mcp_set_track_pan --track_index 7 --pan -0.2
ableton-live-mcp_set_track_pan --track_index 8 --pan 0.2

# Mastering
ableton-live-mcp_apply_master_chain --preset "standard"
ableton-live-mcp_set_master_volume --volume 0.9

# ───────────────────────────────────────────────────────────────
# 7. QUALITY CHECK Y EXPORT
# ───────────────────────────────────────────────────────────────
ableton-live-mcp_full_quality_check
ableton-live-mcp_export_project \
    --path "C:\\Users\\Usuario\\Music\\MiTrack_Master.wav" \
    --format "wav"
```

## Ejemplos de Producción

### Ejemplo 1: Drum Kit Básico (Kick + Snare)
```python
# Kick en track 3
ableton-live-mcp_create_arrangement_audio_pattern \
    --track_index 3 \
    --file_path "C:\\...\\reggaeton\\kick\\kick 1.wav" \
    --positions "[0, 4, 8, 12]" \
    --name "Kick"

# Snare en track 4
ableton-live-mcp_create_arrangement_audio_pattern \
    --track_index 4 \
    --file_path "C:\\...\\reggaeton\\snare\\snare 1.wav" \
    --positions "[2, 6, 10, 14]" \
    --name "Snare"
```

### Ejemplo 2: Pattern Completo (4/4 Time)
```python
# Kick cada compás
ableton-live-mcp_create_arrangement_audio_pattern \
    --track_index 3 \
    --file_path "C:\\...\\kick\\kick 1.wav" \
    --positions "[0, 4, 8, 12, 16, 20, 24, 28]"

# Snare en 2 y 4
ableton-live-mcp_create_arrangement_audio_pattern \
    --track_index 4 \
    --file_path "C:\\...\\snare\\snare 1.wav" \
    --positions "[4, 12, 20, 28]"

# Hi-hat cada medio compás
ableton-live-mcp_create_arrangement_audio_pattern \
    --track_index 5 \
    --file_path "C:\\...\\hi-hat\\hihat 1.wav" \
    --positions "[2, 6, 10, 14, 18, 22, 26, 30]"
```

### Ejemplo 3: Variaciones de Intensidad
```python
# Intro - Kick solo
ableton-live-mcp_create_arrangement_audio_pattern \
    --track_index 3 \
    --file_path "...\\kick 1.wav" \
    --positions "[0, 4]" \
    --name "Intro"

# Verse - Full drums
ableton-live-mcp_create_arrangement_audio_pattern \
    --track_index 3 \
    --file_path "...\\kick 1.wav" \
    --positions "[8, 12, 16, 20, 24, 28, 32, 36]" \
    --name "Verse"

# Chorus - Full + extras
ableton-live-mcp_create_arrangement_audio_pattern \
    --track_index 3 \
    --file_path "...\\kick 2.wav" \
    --positions "[40, 44, 48, 52, 56, 60]" \
    --name "Chorus"
```

## Formatos de Posiciones

### Compases a Beats (Automático)
- 0 = Compás 1, beat 1
- 4 = Compás 2, beat 1
- 8 = Compás 3, beat 1
- 12 = Compás 4, beat 1

### Sincronización por Tempo
El sistema automáticamente:
1. Convierte posiciones en beats según tempo del proyecto
2. Sincroniza con grid de Ableton
3. Aplica warping si es necesario

## Resolución de Problemas

### "created_count: 0"
**Causa:** Ningún método funcionó  
**Solución:** Verificar:
- Archivo existe y es formato soportado (WAV, AIFF, MP3)
- Track index es válido
- Track es audio track (no MIDI)

### Clips muy cortos
**Causa:** Sample no tiene duración definida  
**Solución:** Usar samples WAV con duración completa, no one-shots cortos

### Posiciones incorrectas
**Causa:** Usando Método 5 (recording fallback)  
**Solución:** Normal, tiene ±1 beat de tolerancia. Para precisión absoluta, reiniciar Ableton para activar Métodos 1-3.

## Referencia Técnica

### Métodos del Live Object Model
- `track.insert_arrangement_clip(path, start_beat, end_beat)` - Live 12+
- `track.create_audio_clip(path, position)` - Live 11+
- `arrangement_clips.add_new_clip(start, end)` - Live 12+
- `song.duplicate_clip_to_arrangement(track, slot, pos)` - Legacy

### Formatos Soportados
- WAV (recomendado)
- AIFF
- MP3
- FLAC

### Tracks por Defecto
- Track 0-1: MIDI (reservados)
- Track 2+: Audio (disponibles para inyección)

## Anti-Patrones de Producción

❌ NO cargar samples manualmente en Session View antes de inyectar  
❌ NO usar grabación manual cuando existe inyección automática  
❌ NO duplicar clips manualmente con Ctrl+D  
❌ NO ajustar posiciones manualmente después de inyección  

## Mejores Prácticas

✅ SIEMPRE verificar `ableton-live-mcp_health_check` antes de empezar  
✅ USAR rutas absolutas para archivos de audio  
✅ PLANIFICAR posiciones en beats (múltiplos de 4 para compases)  
✅ NOMBRAR clips descriptivamente (`"KickVerse"`, `"SnareFill"`)  
✅ VERIFICAR en Arrangement View después de inyección  

## Integración con Workflow Completo

```python
# Paso 1: Reinicio (usar skill_reinicio_ableton.md)
# Paso 2: Producción (usar esta skill)
# Paso 3: Mezcla (aplicar EQ/compresión)
# Paso 4: Master (exportar)
```

---

## Historial
- **v1.0** (2026-04-12): Skill de producción senior con 5 métodos de inyección
- **Autor:** AbletonMCP_AI Senior Architecture Team

## Relacionado
- `skill_reinicio_ableton.md` - Proceso de reinicio correcto
- `../README.md` - Documentación general del proyecto
