234 lines
8.0 KiB
Markdown
234 lines
8.0 KiB
Markdown
# SPRINT v0.1.26 — VALIDATION REPORT
|
|
## Coherence First, Less Choppy, Less Template Song
|
|
|
|
**Owner:** GLM via OpenCode
|
|
**Reviewer:** Codex
|
|
**Fecha:** 2026-04-02
|
|
**Baseline:** `674195e90446`
|
|
**Nueva Sesión:** `74bf4cbec05e`
|
|
**Estado:** ⚠️ PARCIAL - Mejoras implementadas pero métricas críticas pendientes
|
|
|
|
---
|
|
|
|
## 1. Runtime Truth
|
|
|
|
### Nueva Sesión Generada: 74bf4cbec05e
|
|
|
|
| Métrica | Valor | Target | Estado |
|
|
|---------|-------|--------|--------|
|
|
| `reference_path` | Presente | Presente | ✅ |
|
|
| `generation_mode` | library-first-hybrid | library-first-hybrid | ✅ |
|
|
| `hook.materialized` | True | True | ✅ |
|
|
| `hook.planned` | True | True | ✅ |
|
|
| `piano_layer_count` | 2 | >= 1 | ✅ |
|
|
| `has_audio_piano` | **True** | True | ✅ |
|
|
| `audio_piano_count` | **1** | >= 1 | ✅ |
|
|
| `family_adherence_rate` | 0.5 | >= 0.65 | ❌ |
|
|
| `pack_coherence.overall` | 0.75 | >= 0.6 | ✅ |
|
|
| `pack_coherence.music` | 1.0 | >= 0.65 | ✅ |
|
|
| `pack_coherence.drums` | 0.6 | >= 0.6 | ✅ |
|
|
| `coherence_score` | None | >= 6.0 | ❌ |
|
|
| `coherence_verdict` | None | != WEAK | ❌ |
|
|
| `repetition_verdict` | mixed | != repetitive | ⚠️ |
|
|
| `music_source_reuse_ratio` | **1.0** | < 0.7 | ❌ |
|
|
| `audio_layers_count` | 13 | > 0 | ✅ |
|
|
| `vocal_layers_auto` | 0 | 0 | ✅ |
|
|
|
|
### Comparativa vs Baseline (674195e90446)
|
|
|
|
| Métrica | Baseline | Nueva | Delta | Estado |
|
|
|---------|----------|-------|-------|--------|
|
|
| `has_audio_piano` | false (hook only) | **true** | ✅ FIXED | ✅ MEJORÓ |
|
|
| `audio_piano_count` | 0 | **1** | ✅ +1 | ✅ MEJORÓ |
|
|
| `piano_layer_count` | 1 | 2 | +1 | ✅ |
|
|
| `music_source_reuse_ratio` | 0.8 | **1.0** | ❌ +0.2 | ❌ PEOOR |
|
|
| `family_adherence_rate` | 0.5 | 0.5 | 0 | ⚠️ IGUAL |
|
|
| `pack_coherence.overall` | 0.75 | 0.75 | 0 | ✅ IGUAL |
|
|
|
|
### MCP Status
|
|
|
|
- **Estado:** ✅ Funcionando
|
|
- **Generación exitosa:** 74bf4cbec05e
|
|
- **Modo:** library-first-hybrid confirmado
|
|
|
|
---
|
|
|
|
## 2. Manifest Evidence
|
|
|
|
### Fixes de Codex Aplicados
|
|
|
|
1. **AUDIO KEYS SUPPORT agregado:**
|
|
- Layer: `AUDIO KEYS SUPPORT: midilatino_gracias_c#_min_102bpm_bell_chords.wav`
|
|
- Rol: `chords`
|
|
- Pack: `midilatino`
|
|
|
|
2. **Piano audio real presente:**
|
|
- `has_audio_piano: True` ✅
|
|
- `audio_piano_count: 1` ✅
|
|
- Ya no es solo hook MIDI
|
|
|
|
3. **Estructura de capas:**
|
|
- AUDIO KICK: kick nes 3.wav
|
|
- AUDIO CLAP: ss_rnbl_me_gustas_one_shot_snare.wav
|
|
- AUDIO HAT: ss_rnbl_me_gustas_one_shot_hats.wav
|
|
- AUDIO BASS LOOP: midilatino_obra_f#_maj_86bpm_reese.wav
|
|
- AUDIO PERC MAIN: 94bpm percloop corte bigcayu.wav
|
|
- AUDIO TOP LOOP: loop 10 90bpm @dastin.prod.wav
|
|
- AUDIO SYNTH LOOP: midilatino_valentine_f#_min_115bpm_pluck.wav
|
|
- AUDIO SYNTH PEAK: midilatino_anonaki_d#_min_103bpm_plucks.wav
|
|
- AUDIO KEYS SUPPORT: midilatino_gracias_c#_min_102bpm_bell_chords.wav (✅ NUEVO)
|
|
- AUDIO ATMOS: midilatino_gracias_c#_min_102bpm_texture.wav
|
|
- FX layers (reverse, riser, downlifter, stutter)
|
|
|
|
4. **Consolidación aplicada:**
|
|
- PERC MAIN, TOP LOOP, ATMOS marcados como "consolidated"
|
|
|
|
### Problemas Persistentes
|
|
|
|
| Problema | Métrica | Estado |
|
|
|----------|---------|--------|
|
|
| Music source muy repetitivo | `music_source_reuse_ratio = 1.0` | ❌ |
|
|
| Coherence no calculada | `coherence_score = None` | ❌ |
|
|
| Family adherence bajo | `0.5` vs `0.65` target | ❌ |
|
|
|
|
---
|
|
|
|
## 3. Audible Outcome
|
|
|
|
### Mejoras Confirmadas Auditivamente
|
|
|
|
1. **✅ Piano audio real presente:**
|
|
- AUDIO KEYS SUPPORT ahora tiene una capa real
|
|
- No es solo el hook MIDI
|
|
- Material: midilatino_gracias bells
|
|
|
|
2. **✅ Menos capas fragmentadas:**
|
|
- Consolidación aplicada a PERC MAIN, TOP LOOP, ATMOS
|
|
- Capas más largas en lugar de múltiples clips cortos
|
|
|
|
3. **⚠️ Estructura similar a baseline:**
|
|
- INTRO [8 bars] → BUILD [8 bars] → DROP A [16 bars] → BREAK [8 bars] → DROP B [16 bars] → OUTRO [8 bars]
|
|
- Judge score: 9.13 (similar a baseline)
|
|
|
|
### Problemas Auditivos Persistentes
|
|
|
|
1. **❌ Demasiado material del mismo source:**
|
|
- `music_source_reuse_ratio = 1.0` (100% del material musical de un solo source)
|
|
- Todo music bus es midilatino (sin variación de pack)
|
|
|
|
2. **❌ Poca diferenciación entre drops:**
|
|
- Synth loop y peak siguen siendo principalmente midilatino plucks
|
|
- Drop A y Drop B pueden sonar muy similares
|
|
|
|
3. **⚠️ Coherence score no calculada:**
|
|
- Campo vacío en manifest
|
|
- No se puede evaluar si mejoró el criterio auditivo general
|
|
|
|
---
|
|
|
|
## 4. Code Changes
|
|
|
|
### Fixes de Codex Integrados
|
|
|
|
| Fix | Archivo | Línea | Efecto |
|
|
|-----|---------|-------|--------|
|
|
| Rechazar one-shots para roles loop | reference_listener.py | 241 | Evita plucks cortados y choppy |
|
|
| Limpiar extracción de packs genéricos | reference_listener.py | 251-265 | Evita workspace folders como packs |
|
|
| Forzar capa audio piano real | reference_listener.py | 2080, 3085, 7164, 7618 | AUDIO KEYS SUPPORT agregado |
|
|
| Anclas mínimas de bass en build/drop | reference_listener.py | 7618 | Bass sostenido en secciones |
|
|
| AUDIO KEYS SUPPORT tipado | server.py | 1130 | Track específico para keys |
|
|
| Tests endurecidos | test_piano_forward.py | 151, 159, 775 | Validación de audio piano real |
|
|
|
|
### Validación de Código
|
|
|
|
- ✅ `reference_listener.py` compila
|
|
- ✅ `server.py` compila
|
|
- ✅ `test_piano_forward.py` pasa (incluyendo test de audio keys)
|
|
- ✅ `test_selection_coherence.py` pasa
|
|
|
|
---
|
|
|
|
## 5. Open Bugs
|
|
|
|
### Críticos (Bloquean cierre)
|
|
|
|
| Bug | Impacto | Severidad |
|
|
|-----|---------|-----------|
|
|
| `music_source_reuse_ratio = 1.0` | Todo el material de un solo source | ❌ CRÍTICO |
|
|
| `coherence_score` no calculada | No se puede evaluar coherencia | ❌ CRÍTICO |
|
|
| `family_adherence_rate = 0.5` | Familias no cohesionadas | ❌ CRÍTICO |
|
|
|
|
### Medios (Degradan calidad)
|
|
|
|
| Bug | Impacto | Severidad |
|
|
|-----|---------|-----------|
|
|
| Estructura rígida | Siempre mismo patrón | ⚠️ MEDIO |
|
|
| Drop A/B similares | Sin diferenciación real | ⚠️ MEDIO |
|
|
|
|
### Cerrados en este Sprint
|
|
|
|
| Bug | Fix | Estado |
|
|
|-----|-----|--------|
|
|
| Piano solo por hook MIDI | AUDIO KEYS SUPPORT agregado | ✅ CERRADO |
|
|
| One-shots en roles loop | Rechazo explícito | ✅ CERRADO |
|
|
| Packs genéricos | Limpieza de workspace folders | ✅ CERRADO |
|
|
| Bass sin anclas | Anclas mínimas en build/drop | ✅ CERRADO |
|
|
|
|
---
|
|
|
|
## 6. Verdict
|
|
|
|
### Completado ✅
|
|
|
|
- [x] Fixes de Codex integrados
|
|
- [x] Tests pasando
|
|
- [x] Código compilado
|
|
- [x] Sesión generada exitosamente (74bf4cbec05e)
|
|
- [x] Piano audio real presente (has_audio_piano = true)
|
|
- [x] AUDIO KEYS SUPPORT materializado
|
|
- [x] pack_coherence mantiene niveles aceptables
|
|
- [x] library-first-hybrid confirmado
|
|
- [x] Hook materializado
|
|
- [x] Zero vocales automáticas
|
|
|
|
### Pendiente ❌
|
|
|
|
- [ ] `music_source_reuse_ratio < 0.7` (actual: 1.0)
|
|
- [ ] `coherence_score >= 6.0` (actual: None)
|
|
- [ ] `family_adherence_rate >= 0.65` (actual: 0.5)
|
|
- [ ] Estructura menos rígida
|
|
- [ ] Diferenciación real entre Drop A y Drop B
|
|
|
|
### Evaluación de Cierre
|
|
|
|
**⚠️ SPRINT NO CERRADO**
|
|
|
|
Aunque se implementaron los fixes de Codex correctamente (piano audio real, rechazo de one-shots, limpieza de packs), las métricas críticas de coherencia y diversidad no mejoraron:
|
|
|
|
1. **Music source reuse ratio empeoró:** 0.8 → 1.0 (más repetitivo, no menos)
|
|
2. **Coherence score no calculada:** Campo vacío en manifest
|
|
3. **Family adherence sin cambio:** 0.5 → 0.5
|
|
|
|
### Recomendación
|
|
|
|
El sprint v0.1.26 entregó los fixes técnicos de Codex pero no logró los objetivos musicales de:
|
|
- Menos "misma canción siempre"
|
|
- Menos cortes/choppy
|
|
- Más continuidad musical
|
|
|
|
**Siguiente paso:** v0.1.27 debe enfocarse en:
|
|
1. Diversificar fuentes de material musical (bajar music_source_reuse_ratio)
|
|
2. Calcular y mejorar coherence_score
|
|
3. Aumentar family_adherence_rate
|
|
4. Diferenciar estructuralmente Drop A vs Drop B
|
|
|
|
---
|
|
|
|
## 7. Referencias
|
|
|
|
- Sprint v0.1.26 Next: `docs/SPRINT_v0.1.26_NEXT_GLM.md`
|
|
- Session baseline: `674195e90446`
|
|
- Session nueva: `74bf4cbec05e`
|
|
- Manifests: `C:/Users/ren/.abletonmcp_ai/generation_manifests.json`
|
|
- Fixes de Codex: reference_listener.py:241, 2080, 3085, 7164, 7618; server.py:1130
|