130 lines
3.6 KiB
Markdown
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
|