Cambios realizados:
1. song_generator.py - Patron dembow MIDI:
- Agregado pattern_type='dembow' en create_drum_pattern()
- Pattern caracteristico: kick en 1, 1.75, 3; snare en 2, 3.75; hi-hats 1/8
2. song_generator.py - Progresiones de acordes reggaeton:
- CHORD_PROGRESSIONS['reggaeton'] con 4 progresiones tipicas:
* [6,4,1,5] vi-IV-I-V (mas usada)
* [1,5,6,4] I-V-vi-IV (pop)
* [6,3,4,1] vi-III-IV-I (trap)
* [1,1,4,5] I-I-IV-V (romantico)
3. server.py - MASTER_CALIBRATION reggaeton:
- calibrate_gain_staging() ahora acepta parametro 'genre'
- Perfil reggaeton: drums=-7, bass=-9, music=-11, vocals=-12
- Mas punchy y comprimido que techno
4. Libreria reggaeton analizada:
- Kicks: 4 samples (@dastin.prod)
- Snares: 7 samples (@dastin)
- Percs: 4 samples (@dastin.prod)
- Drum loops: 7 loops (85-96 BPM)
- reggaeton 2/: bass, drumloops, kick, snare, perc loop
TODOs completados:
- TODO-006: Patron dembow nativo
- TODO-009: MASTER_CALIBRATION reggaeton
- TODO-010: Progresiones acordes reggaeton
Refs: Fase 2 de implementacion reggaeton
9.1 KiB
✅ TODO — AbletonMCP AI | Restaurar y Reggaetón
Generado: 29-Mar-2026 | Estado del servidor: RUNNING en
start_server.bat
🔍 Diagnóstico Actual (qué está OK y qué no)
✅ Lo que FUNCIONA correctamente
| Componente | Estado |
|---|---|
server.py |
Arrancando (8713 líneas, imports OK) |
song_generator.py |
OK — reggaeton ya está implementado (líneas 87-92, 521-531) |
sample_selector.py |
OK — Palette Lock, Coverage Wheel, fatiga disponibles |
audio_analyzer.py |
OK — análisis espectral con librosa |
MCP Server |
Corriendo como proceso en background |
| Imports de Python | ✅ IMPORTS OK verificado |
GENRE_CONFIGS['reggaeton'] |
BPM 90-100, keys Am/Dm/Gm/Cm/Fm/Em |
SECTION_BLUEPRINTS['reggaeton'] |
INTRO→PRECORO→CORO A→VERSEO→PRECORO B→CORO B→PUENTE→CORO FINAL→OUTRO |
| Estilos reggaeton | dembow, perreo, moombahton, latin-trap, romantico |
⚠️ Posibles causas de los problemas
| Problema | Causa probable | Fix |
|---|---|---|
| MCP no visible en OpenCode | OpenCode no detecta el servidor | Reiniciar OpenCode con workspace AbletonMCP_AI abierto |
| "Lo rompí" | Probable edición accidental del server.py | Ver diff con git o verificar sintaxis |
| Start_server.bat no arranca | PYTHONPATH mal seteado | Ver sección "Cómo arrancar" abajo |
🚀 Cómo arrancar el servidor (pasos exactos)
# 1. Abrir PowerShell en C:\Users\ren\AbletonMCP_AI
# 2. Correr:
cmd /c "C:\Users\ren\AbletonMCP_AI\start_server.bat"
# Si falla, correr manualmente:
cd C:\Users\ren\AbletonMCP_AI
$env:PYTHONPATH = "C:\Users\ren\AbletonMCP_AI;C:\Users\ren\AbletonMCP_AI\MCP_Server"
python MCP_Server\server.py
Si hay error de import, verificar:
python -c "import sys; sys.path.insert(0,'MCP_Server'); from song_generator import SongGenerator; print('OK')"
🎵 Reggaetón — Lo que ya existe y lo que falta
✅ Ya implementado en song_generator.py
# GENRE_CONFIGS (línea 87):
'reggaeton': {
'bpm_range': (90, 100),
'default_bpm': 95,
'keys': ['Am', 'Dm', 'Gm', 'Cm', 'Fm', 'Em'],
'styles': ['dembow', 'perreo', 'moombahton', 'latin-trap', 'romantico'],
}
# SECTION_BLUEPRINTS (línea 521):
'reggaeton': [
('INTRO', 8, 12, 'intro', 1),
('PRECORO', 8, 16, 'build', 2),
('CORO A', 16, 28, 'drop', 4),
('VERSEO', 16, 20, 'break', 2),
('PRECORO B', 8, 18, 'build', 3),
('CORO B', 16, 30, 'drop', 5),
('PUENTE', 8, 15, 'break', 1),
('CORO FINAL', 16, 32, 'drop', 5),
('OUTRO', 8, 10, 'outro', 1),
]
Para generar reggaetón ahora mismo, usar:
generate_track(genre="reggaeton", style="dembow", bpm=95, key="Am")
generate_song(genre="reggaeton", style="perreo", bpm=92, key="Dm")
📋 TODOs por prioridad
🔴 INMEDIATO — Para que todo funcione hoy
-
TODO-001 — Verificar que
server.pyno tiene errores de sintaxispython -m py_compile MCP_Server/server.py && echo "OK" -
TODO-002 — Reiniciar OpenCode con el folder
C:\Users\ren\AbletonMCP_AIcomo workspace- El archivo
.opencode.jsonen la raíz ya tiene el MCP configurado
- El archivo
-
TODO-003 — Verificar que Ableton Live tiene
AbletonMCP_AIactivado como MIDI Remote ScriptAbleton → Preferencias → Link/Tempo/MIDI → Remote Scripts → AbletonMCP_AI
-
TODO-004 — Probar la conexión con un comando simple:
get_session_info() -
TODO-005 — Generar el primer track reggaetón de prueba:
generate_track(genre="reggaeton", style="dembow", bpm=95, key="Am")
🟠 PRIORIDAD ALTA — Esta semana
Reggaetón: Patrón Dembow
-
TODO-006 — Agregar patrón MIDI dembow nativo en
song_generator.py- El dembow es el patrón rítmico base: kick en 1 y 3, snare sincopado en el "y" del 2
- BPM típico: 92-96. Cuantización: 1/16
- El patrón que define al reggaetón:
K . . . S . K . K . . . S . . .(16 steps)
-
TODO-007 — Samples de dembow en la librería
- Buscar en la librería muestras de: dembow kick (caja electrónica tipo TR-808), dembow clap, dembow hi-hat (loop rítmico característico)
- Si no existen: crear subcarpeta
librerias/all_tracks/Reggaeton/con packs básicos
-
TODO-008 — Definir
ROLE_SECTION_VARIANTSpara reggaetón# En song_generator.py, agregar: REGGAETON_SECTION_VARIANTS = { 'bass': { 'intro': 'smooth deep', 'verseo': 'minimal rolling', 'coro': 'full punchy dembow', 'puente': 'atmospheric filtered', }, 'perc': { 'intro': 'minimal', 'coro': 'full dembow Latin percusion', 'verseo': 'sparse congas bongos', } } -
TODO-009 — Configurar
MASTER_CALIBRATIONpara reggaetón- El reggaetón necesita un master más brillante y comprimido que el techno
- Target LUFS: -9 a -8 (similar a club music mainstream)
- Más saturación de alta frecuencia para el "sound wall" del género
-
TODO-010 — Agregar progresiones de acordes reggaetón a
CHORD_PROGRESSIONS'reggaeton': [ [6, 4, 1, 5], # vi-IV-I-V (la más usada en reggaetón) [1, 5, 6, 4], # I-V-vi-IV [6, 3, 4, 1], # vi-III-IV-I (más oscura, trap) [1, 1, 4, 5], # I-I-IV-V (reggaetón romántico) ],
🟡 PRIORIDAD MEDIA — Próximas 2 semanas
Reggaetón: Elementos musicales
-
TODO-011 — Línea de bajo dembow característica
- Bass que hace "bump" en los tiempos fuertes, con slide/portamento entre notas
- Pattern: corchea en el 1, silencio, nota de apoyo en el "3", silencio
-
TODO-012 — Percusión latina en los samples
- El reggaetón necesita: congas, bongos, güira, maracas como top loop
- Buscar en la librería filtros con:
perc_loop,latin_perc,congas,bongos
-
TODO-013 — Vocal chop estilo reggaetón
- Vocal en el coro cada beat (no cada 2 como en techno)
- Autotune sueño/trap evidente en el vocal_peak
-
TODO-014 — Definir
ARRANGEMENT_PROFILESpara reggaetón{ 'name': 'dembow', 'genres': {'reggaeton'}, 'drum_tightness': 0.92, 'bass_motion': 'bouncy', 'melodic_motion': 'hooky', 'pan_width': 0.16, 'fx_bias': 0.95, } -
TODO-015 — Agregar estilo
moombahtoncon features específicos- Moombahton = house a 108 BPM con dembow
- BPM range: 105-112
- Más heavy bass, influencia dancehall
Calidad general del sistema
-
TODO-016 — Fix de repetición de samples (T011 del PRO_DJ_ROADMAP)
_find_library_file(): limit 10 → 50
-
TODO-017 — Shuffled candidate pool (T012 del PRO_DJ_ROADMAP)
-
TODO-018 — Palette Lock activado por defecto
-
TODO-019 — Coverage Wheel para explorar la librería completa
-
TODO-020 — Human feel: fades y sidechain básicos
🔵 BACKLOG — Cuando el sistema esté estable
- TODO-021 — Géneros adicionales: Afrobeats, Cumbia, Trap Latino, Bachata
- TODO-022 — Sistema de rating y feedback loop
- TODO-023 — Export stems reggaetón con metadata correcta
- TODO-024 — Análisis de referencia de tracks reggaetón (ej: arquivos Bad Bunny)
- TODO-025 — Herramienta
generate_dj_set(genre='reggaeton', duration=60)
🎛️ Comandos rápidos para probar reggaetón HOY
# Básico dembow
generate_track(genre="reggaeton", bpm=95, key="Am")
# Perreo agresivo
generate_track(genre="reggaeton", style="perreo", bpm=92, key="Dm")
# Latin trap
generate_track(genre="reggaeton", style="latin-trap", bpm=88, key="Gm")
# Moombahton
generate_track(genre="reggaeton", style="moombahton", bpm=108, key="Cm")
# Romántico
generate_track(genre="reggaeton", style="romantico", bpm=92, key="Am")
# Canción completa
generate_song(genre="reggaeton", style="dembow", bpm=95, key="Am", structure="reggaeton")
📂 Archivos clave del proyecto
| Archivo | Tamaño | Para qué sirve |
|---|---|---|
MCP_Server/server.py |
411 KB | Servidor MCP principal — herramientas y comunicación con Ableton |
MCP_Server/song_generator.py |
279 KB | Generación musical: géneros, patrones, estructura |
MCP_Server/sample_selector.py |
113 KB | Selección inteligente de samples |
MCP_Server/audio_analyzer.py |
23 KB | Análisis espectral y detección de key |
MCP_Server/reference_listener.py |
225 KB | Análisis de tracks de referencia |
MCP_Server/roadmap.md |
34 KB | Roadmap técnico detallado (10 fases) |
PRO_DJ_ROADMAP.md |
18 KB | Roadmap a calidad DJ profesional (110 tasks) |
start_server.bat |
100 B | Punto de entrada del servidor |
🔗 Referencia de configuración del MCP
Archivos de config (todos apuntan al mismo servidor):
| Archivo | Ubicación |
|---|---|
| Global OpenCode | C:\Users\ren\.config\opencode\opencode.json |
| User profile | C:\Users\ren\.opencode.json |
| Workspace local | C:\Users\ren\AbletonMCP_AI\.opencode.json |
Todos usan: cmd /c C:\Users\ren\AbletonMCP_AI\start_server.bat
Actualizado: 29-Mar-2026 | Próxima revisión: después de completar TODO-001 a TODO-005