# 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