243 lines
8.3 KiB
Markdown
243 lines
8.3 KiB
Markdown
# SPRINT v0.1.27 — VALIDATION REPORT
|
|
## Continuity First, Piano Melodies, Smarter Drum Coherence
|
|
|
|
**Owner:** GLM via OpenCode
|
|
**Reviewer:** Codex
|
|
**Fecha:** 2026-04-02
|
|
**Baseline:** `0345711a8749`
|
|
**Nueva Sesión:** `c3aa8a7e8fa3`
|
|
**Estado:** ⚠️ PARCIAL - Mejoras en continuidad pero métricas críticas pendientes
|
|
|
|
---
|
|
|
|
## 1. Runtime Truth
|
|
|
|
### Comparativa de Sesiones
|
|
|
|
| Métrica | 0345711a8749 (Baseline) | c3aa8a7e8fa3 (Nueva) | Delta | Target |
|
|
|---------|------------------------|---------------------|-------|--------|
|
|
| `session_id` | 0345711a8749 | **c3aa8a7e8fa3** | - | - |
|
|
| `generation_mode` | library-first-hybrid | library-first-hybrid | = | library-first-hybrid ✅ |
|
|
| `hook.materialized` | True | True | = | True ✅ |
|
|
| `coherence_score` | None | **None** | = | >= 6.0 ❌ |
|
|
| `family_adherence_rate` | 0.5 | **0.5** | = | >= 0.65 ❌ |
|
|
| `pack_coherence.overall` | 0.75 | **0.75** | = | >= 0.6 ✅ |
|
|
| `piano.has_audio_piano` | True | True | = | True ✅ |
|
|
| `piano.audio_piano_count` | 1 | 1 | = | >= 1 ✅ |
|
|
| `repetition_verdict` | mixed | **mixed** | = | != repetitive ❌ |
|
|
| `music_source_reuse_ratio` | 1.0 | **1.0** | = | < 0.8 ❌ |
|
|
| `identical_section_signatures` | 1 | **2** | ❌ +1 | 0 ❌ |
|
|
| `audio_layers_count` | 14 | **12** | -2 | > 0 ✅ |
|
|
| `vocal_layers_auto` | 0 | 0 | = | 0 ✅ |
|
|
|
|
### Hallazgos Clave
|
|
|
|
1. **No hay AUDIO PIANO MELODY** - Solo existe AUDIO KEYS SUPPORT (chords)
|
|
2. **music_source_reuse_ratio sigue en 1.0** - Todo de midilatino
|
|
3. **coherence_score no calculada** - Campo vacío en manifest
|
|
4. **SS_RNBL_Me_Gustas_One_Shot_Snare.wav sigue seleccionado** - 144 positions
|
|
5. **Más secciones idénticas** - 2 vs 1 en baseline
|
|
|
|
---
|
|
|
|
## 2. Manifest Evidence
|
|
|
|
### Audio Layers Detallados - Nueva Sesión (c3aa8a7e8fa3)
|
|
|
|
**SYNTH/BASS/TOP - Continuidad mejorada:**
|
|
```
|
|
- AUDIO SYNTH LOOP [synth_loop]: 6 positions (vs 1 en baseline) ✅ MEJORÓ
|
|
- AUDIO SYNTH PEAK [synth_loop]: 2 positions (vs 2+2+2 en baseline) - Consolidado
|
|
- AUDIO BASS LOOP [bass_loop]: 2 positions (vs 3 en baseline) - Similar
|
|
- AUDIO TOP LOOP [top_loop]: 17 positions + 4 variant (vs 12+10) ✅ MEJORÓ
|
|
```
|
|
|
|
**PIANO/KEYS:**
|
|
```
|
|
- AUDIO KEYS SUPPORT [chords]: 12 positions
|
|
source: midilatino_gracias_c#_min_102bpm_bell_chords.wav
|
|
- AUDIO PIANO MELODY: NO PRESENTE ❌
|
|
```
|
|
|
|
**SNARE - Selectividad:**
|
|
```
|
|
- AUDIO CLAP [snare]: 144 positions
|
|
source: ss_rnbl_me_gustas_one_shot_snare.wav
|
|
pack: unknown
|
|
```
|
|
|
|
**SOURCE DISTRIBUTION:**
|
|
```
|
|
- midilatino: 4 (100% del material musical)
|
|
- No hay diversidad de packs en music bus
|
|
```
|
|
|
|
### Repetition Metrics Comparativa
|
|
|
|
| Métrica | Baseline | Nueva | Estado |
|
|
|---------|----------|-------|--------|
|
|
| `verdict` | mixed | mixed | ⚠️ |
|
|
| `music_source_reuse_ratio` | 1.0 | 1.0 | ❌ |
|
|
| `identical_section_signatures` | 1 | 2 | ❌ PEOOR |
|
|
| `harmonic_loop_reuse_ratio` | 0.0 | 0.0 | ✅ |
|
|
|
|
---
|
|
|
|
## 3. Audible Outcome
|
|
|
|
### Mejoras Confirmadas
|
|
|
|
1. **✅ Continuidad de synth_loop mejorada**
|
|
- De 1 position a 6 positions
|
|
- Menos "cortado", más sostenido
|
|
|
|
2. **✅ TOP LOOP más consolidado**
|
|
- 17 + 4 positions (vs 12 + 10 en baseline)
|
|
- Mejor continuidad rítmica
|
|
|
|
3. **✅ Menos fragmentación en synth_peak**
|
|
- De 3 layers a 1 layer consolidado
|
|
- Menos "picado"
|
|
|
|
### Problemas Auditivos Persistentes
|
|
|
|
1. **❌ NO HAY PIANO MELÓDICO**
|
|
- AUDIO PIANO MELODY no apareció
|
|
- Solo existe AUDIO KEYS SUPPORT (acordes/armónico, no melódico)
|
|
**Causa:** No hay samples de piano/keys melódicos en la librería
|
|
|
|
2. **❌ SNARE AGRESIVO PREDETERMINADO**
|
|
- SS_RNBL_Me_Gustas_One_Shot_Snare.wav sigue siendo seleccionado
|
|
- 144 positions, presente en todas las secciones
|
|
- No hay evidencia de selectividad contextual funcionando
|
|
|
|
3. **❌ SIN DIVERSIDAD DE FUENTES**
|
|
- music_source_reuse_ratio = 1.0
|
|
- Todo el material musical de midilatino
|
|
- Sin contraste de packs
|
|
|
|
4. **❌ COHERENCIA NO CALCULADA**
|
|
- coherence_score = None
|
|
- No se puede evaluar si mejoró el criterio general
|
|
|
|
---
|
|
|
|
## 4. Code Changes
|
|
|
|
### Fixes de Codex Integrados (Revisados)
|
|
|
|
| Fix | Ubicación | Estado | Resultado |
|
|
|-----|-----------|--------|-----------|
|
|
| Eliminación de vaciado artificial en Drop B | reference_listener.py | ✅ Aplicado | Drop B tiene material real |
|
|
| Preservación de variantes seccionales | reference_listener.py | ✅ Aplicado | SYNTH LOOP: 6 positions |
|
|
| AUDIO PIANO MELODY | reference_listener.py:7777 | ⚠️ Código existe | **No se activó - falta material en librería** |
|
|
| music_source_reuse_ratio por sample | server.py | ⚠️ Código existe | **Sigue midiendo 1.0** |
|
|
| section_character_bonus call-order | reference_listener.py:6379 | ✅ Corregido | **Sin evidencia de mejora en ranking** |
|
|
| Selectividad contextual snare/clap | sample_selector.py | ⚠️ Aplicado | **SS_RNBL snare sigue ganando** |
|
|
|
|
### Análisis de Código Existente
|
|
|
|
El código para AUDIO PIANO MELODY existe y está funcionando:
|
|
|
|
```python
|
|
# reference_listener.py:7190-7263
|
|
- Busca candidatos con _score_piano_melody_candidate()
|
|
- Filtra por: piano, keys, rhodes, keyboard, epiano, steinway, grand
|
|
- Crea layer AUDIO PIANO MELODY en línea 7777
|
|
```
|
|
|
|
**Problema:** La librería no tiene material melódico de piano/keys. Solo tiene:
|
|
- `midilatino_gracias_c#_min_102bpm_bell_chords.wav` (chords/armónico)
|
|
|
|
El scorer prioriza material melódico, pero si no existe, no puede crear el layer.
|
|
|
|
---
|
|
|
|
## 5. Open Bugs
|
|
|
|
### Críticos (Bloquean cierre)
|
|
|
|
| Bug | Severidad | Evidencia |
|
|
|-----|-----------|-----------|
|
|
| No hay piano melódico real | ❌ CRÍTICO | AUDIO PIANO MELODY ausente, solo chords disponible |
|
|
| Coherence score no calculada | ❌ CRÍTICO | Campo None en manifest |
|
|
| Snare agresivo predeterminado | ❌ CRÍTICO | SS_RNBL snare: 144 positions en todas las secciones |
|
|
| Sin diversidad de fuentes | ❌ CRÍTICO | music_source_reuse_ratio = 1.0 |
|
|
| Más secciones idénticas | ❌ CRÍTICO | 2 vs 1 en baseline |
|
|
|
|
### Medios
|
|
|
|
| Bug | Severidad | Evidencia |
|
|
|-----|-----------|-----------|
|
|
| Family adherence sin mejora | ⚠️ MEDIO | 0.5 estable, sin cambio |
|
|
| Bass loop menos positions | ⚠️ MEDIO | 2 vs 3 en baseline |
|
|
|
|
---
|
|
|
|
## 6. Verdict
|
|
|
|
### Completado ✅
|
|
|
|
- [x] Validación de nueva sesión generada (c3aa8a7e8fa3)
|
|
- [x] Comparativa vs baseline (0345711a8749)
|
|
- [x] Continuidad mejorada en synth_loop (6 positions)
|
|
- [x] TOP LOOP más consolidado (21 positions total)
|
|
- [x] Menos fragmentación de synth_peak
|
|
- [x] Código de Codex revisado y confirmado aplicado
|
|
|
|
### Pendiente ❌
|
|
|
|
- [ ] **PIANO MELÓDICO REAL** - No existe material en librería
|
|
- [ ] **COHERENCE SCORE >= 6.0** - No calculada
|
|
- [ ] **FAMILY ADHERENCE >= 0.65** - 0.5 sin mejora
|
|
- [ ] **MUSIC SOURCE REUSE < 0.8** - 1.0 sin mejora
|
|
- [ ] **SNARE CONTEXTUAL** - SS_RNBL sigue ganando sin selectividad visible
|
|
- [ ] **REPETITION VERDICT != repetitive** - Sigue en "mixed"
|
|
- [ ] **SECCIONES IDÉNTICAS = 0** - Aumentó a 2
|
|
|
|
### Bloqueo Principal
|
|
|
|
**La librería de samples no contiene material melódico de piano/keys.**
|
|
|
|
El código está preparado para usarlo (AUDIO PIANO MELODY existe en server.py:1131 y se crea en reference_listener.py:7777), pero no hay samples que satisfagan el criterio de melodía real.
|
|
|
|
Material necesario:
|
|
- `piano_melody_*.wav`
|
|
- `keys_lead_*.wav`
|
|
- `rhodes_melodic_*.wav`
|
|
- `keyboard_theme_*.wav`
|
|
|
|
Material disponible:
|
|
- `midilatino_gracias_*_bell_chords.wav` (armónico/chordal, no melódico)
|
|
|
|
### Recomendación
|
|
|
|
**Para cerrar v0.1.27 se necesita:**
|
|
|
|
1. **Agregar material melódico de piano/keys a la librería** - Sin esto, AUDIO PIANO MELODY nunca aparecerá
|
|
|
|
2. **Debug de coherence_score** - Investigar por qué no se calcula/persiste
|
|
|
|
3. **Debug de music_source_reuse_ratio** - Con el fix de Codex debería medir por sample, pero sigue dando 1.0
|
|
|
|
4. **Verificar selectividad de snare** - El section_character_bonus existe pero no está cambiando el ranking observablemente
|
|
|
|
### Estado del Sprint
|
|
|
|
**⚠️ NO CERRADO**
|
|
|
|
Los objetivos musicales no se lograron por:
|
|
- Limitación de librería (sin piano melódico)
|
|
- Métricas críticas sin mejorar (coherence, family adherence, source reuse)
|
|
- Selectividad de drums no demostrada
|
|
|
|
---
|
|
|
|
## 7. Referencias
|
|
|
|
- Sprint v0.1.27 Next: `docs/SPRINT_v0.1.27_NEXT_GLM.md`
|
|
- Session baseline: `0345711a8749`
|
|
- Session nueva: `c3aa8a7e8fa3`
|
|
- Manifests: `C:/Users/ren/.abletonmcp_ai/generation_manifests.json`
|
|
- Librería: 510 samples, sin piano melódico identificado
|