Files
ableton-mcp-ai/docs/SPRINT_v0.1.8_NEXT.md

130 lines
3.6 KiB
Markdown

# Sprint v0.1.8 Next
Ultima revision: 2026-03-30
## Objetivo
Pasar de "micro stems que ayudan a rerankear audio" a "remake guiado por referencia con identidad armonica real".
El foco de este sprint es coherencia melodica.
## Contexto real
Lo ya demostrado:
- `reference_listener.py` ya construye `micro_stems`
- `micro_stem_summary` ya entra al `build_arrangement_plan(...)`
- ya no hay contaminacion vocal en `synth_loop`
- `ejemplo.mp3` ya tiene evidencia guardada en `temp\ejemplo_micro_stems_report.json`
- el pack dominante validado ya sale como `ss_rnbl`, no como carpeta generica
Lo que sigue faltando:
- el sistema sigue siendo audio-first
- `piano/keys` siguen fuera del flujo real porque viven mayormente en `MIDI` y presets
- el remake todavia no materializa frases cortas, solo sesga la seleccion global
## Trabajo a hacer
### 1. Ingesta de activos no-audio
Objetivo:
- indexar `MIDI` y presets relacionados con familias detectadas por micro stems
Fuentes obvias dentro de la libreria:
- `sounds presets`
- `MIDI PACK`
- carpetas `MIDI` dentro de sample packs
Criterio:
- crear metadata minima por asset
- no intentar cargar `.fst` en Ableton todavia si el runtime no lo soporta
- primero dejar el catalogo y la relacion familia -> asset armonico
### 2. Resolver instrumento armonico
Objetivo:
- si `micro_stem_summary` dice `pluck`, `pad`, `harp`, `piano`, `keys` o `guitar`
- el plan debe resolver un `instrument_hint` armonico
Resultado esperado:
- nuevo campo en plan, por ejemplo:
- `harmonic_instrument_hint`
- `harmonic_asset_candidates`
### 3. Phrase plan real
Objetivo:
- dejar de pensar solo en loops largos
- representar frases cortas del hook armonico
Minimo aceptable:
- lista ordenada de frases con:
- `start`
- `end`
- `kind`
- `role`
- `family`
- `instrument_hint`
### 4. Materializacion hibrida
Objetivo:
- permitir que una parte del remake use:
- audio loops
- MIDI clips
- hints de preset/instrumento
No hace falta cerrar carga automatica de plugins en este sprint.
Si el runtime no puede cargar preset:
- al menos debe crear el track MIDI correcto
- nombrarlo con el instrumento sugerido
- escribir el contenido armonico correcto
### 5. Validacion contra referencia
Objetivo:
- generar una nueva cancion guiada por `ejemplo.mp3`
- comparar el resultado con esta checklist:
Checklist:
- usa menos familias que antes
- aparece un hook armonico claro
- no suena a collage de samples
- mantiene dembow y low-end consistentes
- usa `pluck/keys/piano` si el analisis lo pide
## Archivos a tocar primero
- `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\AbletonMCP_AI\AbletonMCP_AI\MCP_Server\reference_listener.py`
- `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\AbletonMCP_AI\AbletonMCP_AI\MCP_Server\server.py`
- `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\AbletonMCP_AI\AbletonMCP_AI\MCP_Server\sample_manager.py`
- `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\AbletonMCP_AI\AbletonMCP_AI\MCP_Server\song_generator.py`
## Archivos a leer antes
- `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\docs\MICRO_STEMS_APPROACH.md`
- `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\docs\REFERENCE_TRACK_EJEMPLO_ANALYSIS.md`
- `C:\ProgramData\Ableton\Live 12 Suite\Resources\MIDI Remote Scripts\docs\REFERENCE_TRACK_EJEMPLO_MICRO_STEMS.md`
## Criterio de salida
El sprint se considera cerrado solo si:
1. existe evidencia runtime de una generacion nueva
2. esa generacion usa un hook armonico intencional
3. hay menos sensacion de loop infinito
4. el resultado se parece mas a la referencia que a un collage random