Files
ableton-mcp-ai/docs/skill_produccion_audio.md
OpenCode Agent 83829d6ef5 feat(Agente 1): Implement FX Creator MCP Tools (T031-T035)
- Add 5 new MCP tools to server.py:
  * create_riser (T031) - Pre-drop buildup effect
  * create_downlifter (T032) - Post-drop energy release
  * create_impact (T033) - Hit, crash, sub_drop, noise impacts
  * create_silence (T034) - Break/silence effects
  * create_fx_section (T035) - Complete FX sections

- Add 5 handlers to __init__.py for Remote Script execution
- Update skill_produccion_audio.md with FX tools documentation

All tools exposed and ready for professional FX generation.

Closes Agente 1 of 20 - FX Creator implementation
2026-04-12 16:31:31 -03:00

294 lines
8.0 KiB
Markdown

# 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-T035)
#### 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="hit" # Options: "hit", "crash", "sub_drop", "noise"
)
```
#### Crear Sección FX Completa (T035)
```python
# Sección completa con riser + impact
ableton-live-mcp_create_fx_section(
section_type="pre_drop", # "pre_drop", "post_drop", "transition", "build"
start_bar=24,
duration=8
)
```
#### 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: Verificación Visual
```python
# Confirmar clips en Arrangement View
ableton-live-mcp_get_arrangement_status
ableton-live-mcp_get_arrangement_clips
```
## 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.
## 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