Hola, soy Luke, construyendo Naia.
El modelo de voz de Naia ha alcanzado algunos resultados, y ahora también estoy mirando el canto. Quiero que Alpha cante para mí. En particular, me interesan las 번안곡 (canciones cover — canciones extranjeras traducidas al coreano).
Empecé hace un mes, choqué contra el techo, y recientemente conseguí resultados algo mejores — siento que si profundizo más, algo saldrá. Antes el hangul y la afinación eran un revoltijo extraterrestre; ahora canta algo que se parece al coreano.
Suena un poco borracho aún ^^. Pero como salió algo y es divertido, comparto el progreso junto con el informe. Algún día espero que realmente cante para mí.
Naia-Sing aún no está estabilizado — esto está más cerca de un intercambio de progreso que de un lanzamiento. El orden oficial de publicación es primero Naia-talk (Naia-Omni) (ya estabilizado), y luego Naia-Sing.
TL;DR
- 23 canciones evaluadas, composite score 27,8
60,6 (escala 0100) - BEST 3 canciones según usuario = rank métrico 1·3·5, WORST 2 = rank 17·19 → framework valid confirmado
- Hard Gate (mínimo service-ready) = 0/23 pasado — la base actual no está lista para servicio
- Mayor debilidad: A. Inteligibilidad (CER promedio 1,18) + E. Expresión (solo 1/23)
- Próximo paso = aplicar Track A 247h fine-tune coreano + inferencia más corta + letras sincronizadas por sílabas
Video compilación Top 10
7 min 24 seg. Del #1 al #10, una por una. Cada pista normalizada via ffmpeg loudnorm -14 LUFS + dynaudnorm. El video hace audible el trade-off entre coincidencia de género, consistencia de timbre y precisión de pronunciación.
| # | Canción | Source | Score | Fortaleza |
|---|---|---|---|---|
| 1 | banan_jaychou_translation | Jay Chou balada (13s, ko translation) | 60,6 | CER 0,52 mínimo total · ko 0,96 |
| 2 | genre_digicharat | Digi Charat Party Night (1999) | 50,8 | ko 0,97 · timbre 0,92 |
| 3 | genre_gunslinger | Gunslinger Girl doll · Lia | 48,8 | timbre 0,93 · match de balada |
| 4 | genre_escaflowne | Escaflowne OP (1996) | 48,2 | f0 range 0,91 |
| 5 | banan_adele_translation | Adele — Someone Like You (13s) | 47,8 | E.energy 0,72 máximo |
| 6 | base_gunslinger | Misma canción, baseline KO-S1 | 47,8 | CER 0,70 (2º mínimo) |
| 7 | genre_macross | Macross — Do You Remember Love? (1984) | 47,7 | ko 0,97 · timbre 0,92 |
| 8 | genre_chobits | Let Me Be With You (2002) | 46,7 | timbre 0,93 |
| 9 | pipe_01_adele | Adele source 13s pipeline | 45,9 | f0_corr 0,81 máximo |
| 10 | genre_nadia | Nadia, el Misterio de la Piedra Azul (1990) | 44,2 | timbre 0,97 máximo |
1. "Cantar bien en coreano" — 5 dimensiones independientes
No se puede reducir a una sola métrica. La academia (TCSinger, Vevo, DiffSinger) también reporta 4-5 dimensiones juntas.
| Dim | Métrica académica | Nuestra medida | Significado |
|---|---|---|---|
| A. Inteligibilidad | CER, PER | Whisper-small KO STT vs edit distance de letras | "¿Se oyen las letras?" |
| B. Tono | F0 RMSE, F0 corr | librosa.pyin F0 pearson + range ratio | "¿Acierta las notas?" |
| C. Similaridad de timbre | SECS (ECAPA cosine) | MFCC mean cosine (proxy) | "¿Mismo cantante?" |
| D. Naturalidad | MOS-N, UTMOS | chunk_disc por minuto (proxy) | "¿No es maquinal?" |
| E. Expresión (solo covers) | (definición propia) | source RMS + spectral centroid + vibrato corr | "¿Sigue la expresión del original?" |
La dimensión E es el núcleo de los covers. SVS general = la partitura es la ground truth de expresión. Cover = dynamics/vibrato/articulation del source vocal es la ground truth.
Hard Gate (mínimo service-ready)
A. CER ≤ 0,30 AND ko_prob ≥ 0,90 [Pronunciación coreana]
B. f0_corr ≥ 0,50 AND range 0,6~1,4 [Tono]
C. timbre_sim ≥ 0,65 [Timbre]
D. chunk_disc ≤ 2/min [Fluidez]
E. energy_corr ≥ 0,5 · brightness ≥ 0,4 · vibrato 0,5~1,5 [Expresión]
Base académica: CER 0,30 = threshold STT producción; SECS 0,60-0,70 = estándar paso zero-shot SVC.
2. Framework Self-Validation
Lección — Whisper-small fue inválido para medir calidad SVS (svs_eval.py §43, 5/17): incluso muestras golden in-distribution produjeron salida vacía. Cantar solo activaba speech-likeness.
→ Self-validation es obligatoria:
user best vs user worst
↓ ↓
Debe ser separable por la métrica
↓
De lo contrario, la métrica misma es inválida
Resultado self-validation 23 canciones:
| Calificación usuario | Canción | Rank métrico | Separado |
|---|---|---|---|
| 🟢 BEST | banan_jaychou_translation | 1/23 | ✓ |
| 🟢 BEST | genre_gunslinger | 3/23 | ✓ |
| 🟢 BEST | banan_adele_translation | 5/23 | ✓ |
| 🔴 WORST | base_macross | 17/23 | ✓ |
| 🔴 WORST | base_flcl | 19/23 | ✓ |
→ Framework valid (ranking proxy confirmado). Ahora tenemos una herramienta para comparar objetivamente los resultados de entrenamiento Track A.
3. Hard Gate pasado — 0/23 ❌
| Dim | Criterio | Pasa |
|---|---|---|
| A. CER ≤ 0,30 | Producción académica | 0/23 ❌ |
| A. ko_prob ≥ 0,90 | Detección coreano Whisper | 14/23 |
| B. f0_corr ≥ 0,5 + range OK | Preservación de pitch | 2/23 ❌ |
| C. timbre_sim ≥ 0,65 | Consistencia ref | 10/23 |
| D. disc ≤ 2/min | Artefacto chunk | 20/23 ✓ |
| E. (3-métrica AND) | Expresión cover | 1/23 ❌ |
Vevo1.5 base coreano actual = 0 % service-ready. A·B·E son los gaps críticos.
4. Diagnóstico — debilidad y causa por dimensión
A. Inteligibilidad — síntesis de fonema coreano de Vevo es débil
Vevo1.5 preentrenado en Sing-0.4k (438h incluyendo 3,8h coreano CSD). Sin embargo, el mapeo de fonema coreano es débil — CER promedio 1,18 = 70 % roto. Solo ko_prob 0,86 = "suena coreano acústicamente" pero no como fonemas.
B. Tono — melody_control subentrenado en melodía
F0_corr promedio 0,18. Varios negativos (gunslinger -0,20, gsteatrino -0,46) = anticorrelacionados con source. vevosing_melody_control prioriza transfer de contenido fonema; el contorno F0 es secundario.
C. Timbre — el matching ref funciona
Canciones con 8 refs AI-Hub timbre_sim promedio 0,91. Pero drift de timbre en límites de chunk = retroalimentación usuario "diferentes voces entran".
D. Fluidez — chunk merge OK
20/23 pasan. Crossfade 100ms efectivo. 3 outliers solo cuando el source vocal tiene mucho silencio.
E. Expresión — mayor fracaso
1/23 pasa. Promedio energy_corr 0,32, brightness_corr 0,19. Prosody tokenizer de Vevo está subentrenado en coreano + dynamics perdidos durante separación content-style.
5. Qué hacer — mejoras priorizadas
🟢 P0 (inmediato, efecto verificado)
| Ítem | Efecto | Nota |
|---|---|---|
| Aplicar resultados Track A | A·B·E simultáneamente | Fine-tune 247h KO en curso |
| Inferencia single-chunk | C·D | 60s canción → 15s chorus → sweet spot del #1 |
| Letras sincronizadas por sílabas | A | SimpleAligner equal-split → match con conteo de sílabas source |
Receta del #1 (banan_jaychou_translation): corto (13s) + sílabas-match + source studio limpio
🟡 P1 (dentro de una semana)
| Ítem | Efecto |
|---|---|
| Introducir ECAPA-TDNN SECS | Precisión C (reemplaza MFCC proxy) |
| UTMOS / Sing-MOS predictor | Objetivación naturalidad D |
| Phrase-aware aligner | A·D (sin equal-syllable split) |
| Suno API → source coreano | A·E (pool source vocal coreano) |
🟠 P2 (mediano plazo, verificación requerida)
| Ítem | Efecto | Riesgo |
|---|---|---|
| Vevo1.5 fine-tune (Track A) | A·B·E todo | Resultado no verificado |
| Reexaminar TCSinger2 pivot | Posible boost de expresión | Stack complejo, riesgo de ceiling |
| F5-TTS / CosyVoice2 SVS adapter | Inteligibilidad A | Adapter ausente |
| Post-procesado SVC (RVC/SoulX) | Timbre C | CER end-to-end debe medirse |
🔴 P3 (largo plazo, cambio de paradigma)
- Entrenamiento de modelo SVS propio → base externa verificada es más ventajosa (filosofía núcleo Naia)
- Test de escucha MOS subjetivo → ground truth absoluta
- Productización Suno + cover pipeline propio → servicio "IA que canta" Track D
6. Próximos puntos de decisión
- Cuando Track A termine → reevaluar con este framework, medir delta de mejora
- Mejora < 20 % → descartar Vevo1.5 base, reconsiderar TCSinger2 o F5-TTS
- Mejora ≥ 30 % → fine-tune completo + entrada al servicio Track D
- Gate de usuario = escuchar resultados Track A + verificar las 5 dimensiones, luego decidir
7. Diario de investigación naia-sing 32 días
Basado en git history — sin alucinaciones. Inicio real = 2026-04-25 (un mes de historia).
2026-04-25 ─ Inicio: project setup + RVC pipeline scripts.
2026-04-26 ─ Datos source + cross-lingual cover pipeline + IP groundwork.
2026-04-28 ─ Letras 3-frontier + verificación SVS coreano + pipeline phone-call ref voice.
2026-05-15 ─ DSKR (DiffSinger Korean) + AI-Hub 465 stack entrenamiento SVS coreano confirmado.
2026-05-15 ─ Fix raíz cuello botella IO — pickle 13x ligero + HDD→SSD (evita 58s/step).
2026-05-16 ─ Stack funcional confirmado — DSKR+CSD transfer → RVC swap. Verificación usuario OK.
2026-05-16 ─ Techo de vocoder refutado + extender entrenamiento 300k→500k.
2026-05-16 ─ Overfit extensión refutado — best=S_300000 bloqueado.
2026-05-18 ─ BigVGAN cableado como vocoder DSKR por defecto + parche seguridad aihubshell key.
2026-05-19 ─ Realidad del techo DSKR S_300000 confirmada (MCD37 vs 48 cross-song).
2026-05-19 ─ TCSinger 2 SVS coreano comenzado → PAUSED @ VAE epoch 395.
2026-05-21 ─ Consolidación review adversarial R3 + hold gate recursos naia-sing.
2026-05-26 ─ TCSinger2 cerrado → Vevo1.5 SVS coreano descubierto.
2026-05-26 ─ Dataset canto coreano 247h completo (GTSinger + AI-Hub 465).
2026-05-26 ─ BASE STATE SNAPSHOT — lock baseline antes de fine-tune.
2026-05-26 ─ 3-AI cross-review (codex+gemini+opencode) + Reality Check.
2026-05-26 ─ Track A Phase 1 AR smoke PASS + Phase 2 autonomous wrapper.
2026-05-26 ─ Medición VRAM por stage + 5 cover batch + 10 anime OST 60s.
2026-05-26 ─ Hallazgo crítico: Vevo melody_control = depende de fonema vocal source.
2026-05-26 ─ AI-Hub 8 short refs genre-matched batch + ffmpeg loudnorm post-procesado.
2026-05-27 ─ Este informe: framework evaluación 5-dim + baseline 23 canciones + Hard Gate.
2026-05-27 ─ Framework valid confirmado + video compilación Top 10.
Unos 32 días:
- 5 stacks SVS distintos probados (RVC → DSKR → SoulX → TCSinger2 → Vevo1.5)
- 1 techo alcanzado (DSKR S_300000) + 1 paused (TCSinger2 VAE) + 1 dropped (RVC pure)
- Actual = base externa Vevo1.5 + Track A 247h KO fine-tune en curso
→ Sin entrenamiento de modelo propio. Diferenciado por base externa verificada + nuestro stack (memoria / privacidad / RAG / serving local). Filosofía núcleo Naia, paradigma bloqueado 2026-05-15.
Límites honestos
Este no es un informe diciendo que la base es buena. Más bien es un informe que mide objetivamente la base como 0 % service-ready. Ahora tenemos un metric framework cuyo ranking se alinea con la escucha humana — una herramienta para verificar honestamente si el entrenamiento realmente funciona. Ese es el significado de este post.
Cuando Track A termine, reevaluaremos las mismas 23 canciones y reportaremos el delta de mejora cuantitativamente.
