
Comparé datos de entrenamiento para síntesis de voz: 10, 5 y 3 horas. Casi no hay diferencia en un TTS trilingüe
Continuación del modelo de síntesis de voz en croata. Esta vez, hice que un único modelo pequeño hablara tres idiomas: croata, japonés e inglés. Después comparé cuánto cambiaba el resultado con 10, 5 y 3 horas de datos de entrenamiento por idioma.
Primero, la conclusión.
- Da prácticamente igual usar 10, 5 o 3 horas por idioma al final. La mejor tasa de error de caracteres fue del 0,7 % en los tres casos (28 de 32 frases coincidieron por completo)
- El progreso del entrenamiento también fue casi idéntico. En todos, el japonés y el inglés se leían casi según el guion en 3.000–5.000 pasos, y el croata también a los 10.000 pasos
- Solo la versión de 3 horas mantuvo durante un tiempo la tendencia de leer «Bok! (¡Hola!)» como «Blok». Tardó un poco más en estabilizarse en su mejor estado
- Tampoco hubo diferencias en frases repletas de términos técnicos. Probé pensando que la versión de 10 horas sería mejor con el vocabulario, pero las tres fueron prácticamente iguales
- Los errores al leer términos técnicos aparecieron en las mismas palabras y de la misma manera en los tres modelos. En inglés, la causa no era el modelo, sino la parte que convierte las letras en símbolos fonéticos (el diccionario)
Lo que hice
Modelo: el mismo Matcha-TTS de la vez anterior (unos 18,3 millones de parámetros) y Vocos para volver a la forma de onda (unos 13,5 millones de parámetros). El hablante es un hombre de unos 20 años.
Cómo lo hice trilingüe: convertí la entrada del modelo a símbolos fonéticos (IPA) comunes a los tres idiomas. Los sonidos iguales entre idiomas, como «ʦ» y «ʨ», comparten el mismo símbolo. Para especificar qué idioma debe hablar, uso como «número de idioma» el número que originalmente sirve para cambiar de hablante.
- Croata: como es un idioma que se lee casi tal como se escribe, basta con sustituir las letras por símbolos fonéticos uno a uno
- Japonés: extraje la lectura y el acento con OpenJTalk, y añadí marcas donde sube y baja el tono
- Inglés: lo convertí a símbolos fonéticos con g2p_en (el diccionario de pronunciación CMU y un pequeño modelo que estima la pronunciación de palabras que no están en el diccionario)
Datos de entrenamiento: audios del mismo hombre leyendo diálogos en los tres idiomas. Tras compararlos con el guion mediante reconocimiento de voz y eliminar las lecturas erróneas, quedaron 9,4 horas de croata, 9,7 horas de japonés y 8,3 horas de inglés (unas 27 horas en total). A esto lo llamo «versión de 10 horas».
A partir de ahí, extraje aleatoriamente exactamente 5 horas de cada idioma (15 horas en total) para la «versión de 5 horas», y 3 horas de cada uno (9 horas en total, unas 5.800 grabaciones) para la «versión de 3 horas». El resto de ajustes (tamaño del modelo, tamaño de lote y 60.000 pasos) fueron exactamente los mismos. Como el número de pasos es el mismo, cuantos menos datos hay, más veces ve el mismo audio (la versión de 3 horas, unas tres veces más que la de 10 horas).
El entrenamiento se realizó con una RTX 4090 y cada ejecución tardó entre 6 y 8 horas y media.
Comparación de las voces durante el entrenamiento
Sinteticé las siguientes frases, que no están en los datos de entrenamiento, con modelos en distintas fases del entrenamiento.
- Inglés: Tomorrow we're going to the seaside, and the day after we'll visit my grandma in Split.
- Japonés: Mañana iremos al mar y pasado mañana planeamos ir a visitar a mi abuela a su casa.
- Croata: Sutra idemo na more, a prekosutra ćemo posjetiti baku u Splitu.
De izquierda a derecha: versión de 10 horas, de 5 horas y de 3 horas.
| Paso | Versión de 10 horas | Versión de 5 horas | Versión de 3 horas |
|---|---|---|---|
| 1.000 | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 2.000 | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 3.000 | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 4.000 | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 5.000 | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 10.000 | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 20.000 | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 30.000 | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 40.000 | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 50.000 | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
Por lo que se oye, a 1.000 pasos todos siguen siendo poco claros. Pero en inglés ya se entiende, más o menos, lo que dicen. En japonés hubo diferencias según la versión: en la de 5 horas, esta frase se transcribió correctamente palabra por palabra ya a los 1.000 pasos. En cambio, la de 10 horas decía «Por favor, intenta cuidar de nosotros», y la de 3 horas «En el médico hasta mañana…»: frases completamente distintas.
A los 3.000–5.000 pasos, todas las versiones en japonés e inglés ya podían leer según el guion. El croata se retrasó un poco: hasta alrededor de los 5.000–10.000 pasos, el primer «Sutra» («mañana») todavía se reconocía como «Sve», «Straj», «Satra» y similares. A partir de los 20.000 pasos, al escucharlas era casi imposible distinguir las diferencias entre las tres.
Visto en cifras
Transcribí las frases de evaluación (14 en croata, 9 en japonés y 9 en inglés; todas fuera de los datos de entrenamiento) con Whisper large-v3 y medí la tasa de error de caracteres (CER) respecto al guion. Para que las variaciones en la escritura con kanji del japonés (como «asatte» y «pasado mañana») no contaran como errores, primero las convertí a lecturas en katakana antes de compararlas.
Primero, la media de las 32 frases en los tres idiomas. Entre paréntesis está el número de coincidencias exactas.
| Pasos | Versión de 10 horas | Versión de 5 horas | Versión de 3 horas |
|---|---|---|---|
| 1.000 | 43,8 %(2) | 41,9 %(2) | 43,8 %(1) |
| 2.000 | 16,6 %(7) | 17,7 %(12) | 17,6 %(9) |
| 3.000 | 7,7 %(16) | 6,2 %(16) | 9,9 %(14) |
| 4.000 | 5,9 %(21) | 3,7 %(19) | 2,7 %(25) |
| 5.000 | 2,1 %(23) | 3,3 %(20) | 4,5 %(23) |
| 10.000 | 1,4 %(24) | 1,1 %(23) | 1,7 %(24) |
| 15.000 | 0,8 %(26) | 0,7 %(26) | 2,0 %(24) |
| 20.000 | 0,7 %(27) | 0,8 %(26) | 0,9 %(25) |
| 30.000 | 0,7 %(28) | 0,8 %(26) | 1,7 %(26) |
| 40.000 | 1,2 %(25) | 1,7 %(26) | 0,7 %(26) |
| 45.000 | 3,9 %(25) | 0,7 %(28) | 0,7 %(27) |
| 50.000 | 0,7 %(28) | 0,7 %(26) | 0,7 %(28) |
| 60.000 | 1,8 %(26) | 0,8 %(27) | 1,9 %(25) |
Desglosado por idioma, queda así (croata / japonés / inglés).
| Pasos | Versión de 10 horas | Versión de 5 horas | Versión de 3 horas |
|---|---|---|---|
| 5.000 | 2,8 / 1,2 / 1,8 % | 6,5 / 1,2 / 0,3 % | 2,0 / 1,8 / 11,1 % |
| 10.000 | 2,2 / 1,2 / 0,3 % | 1,7 / 1,2 / 0,3 % | 2,9 / 1,2 / 0,3 % |
| 20.000 | 0,8 / 1,2 / 0,0 % | 0,9 / 1,2 / 0,0 % | 0,8 / 1,8 / 0,3 % |
| 30.000 | 0,7 / 1,2 / 0,0 % | 1,1 / 1,2 / 0,0 % | 3,2 / 1,2 / 0,0 % |
| 50.000 | 0,7 / 1,2 / 0,0 % | 0,9 / 1,2 / 0,0 % | 0,7 / 1,2 / 0,0 % |
- Los mejores resultados fueron los de la versión de 10 horas a los 30.000 y 50.000 pasos, la de 5 horas a los 45.000 pasos y la de 3 horas a los 50.000 pasos. Todas alcanzaron un 0,7 % global y 28 de las 32 frases fueron coincidencias exactas: las tres llegaron al mismo punto
- Los puntos donde las cifras se disparan se deben casi siempre a la diferencia de una sola palabra. Por ejemplo, «Bok! («¡Hola!»)» se reconoció como «Bog», y «Hi!» como «Bye.»; en frases cortas de una o dos palabras, una diferencia de un solo carácter hace que la tasa de error aumente mucho
- En la versión de 3 horas, el croata estuvo en torno al 3 % entre los 15.000 y los 35.000 pasos. Al examinar el contenido, casi todo correspondía a una sola frase en la que «Bok!» se leía como «Blok». A los 50.000 pasos ya se había corregido. Con menos datos, parece tardar más en eliminarse la tendencia de las frases cortas
- El 1,2 % en japonés corresponde únicamente a una frase en la que «shh» de «Shh, silencio.» siempre se transcribía como «shi». Es una cuestión de hasta dónde escribir la vocal larga; al escucharla, sí dice correctamente «shh»
- Lo que queda en croata se debe casi todo a hábitos de la transcripción, como escribir «prekosutra» («pasado mañana») separado en dos palabras: «preko sutra»
La diferencia entre 10, 5 y 3 horas quedó dentro del margen de error. Al menos para «poder leer según el guion», bastaron 3 horas por idioma. Sin embargo, la versión de 3 horas tardó más en estabilizarse, por lo que conviene entrenarla durante más de 40.000 pasos.
Comparación con frases repletas de términos técnicos
Aunque con pocos datos basten para la conversación cotidiana, quizá disponer de más datos sea una ventaja con palabras difíciles que casi no aparecen en los datos de entrenamiento. Con esa idea, preparé 10 frases llenas de términos técnicos de medicina, informática, derecho, química y finanzas, y las hice leer en tres idiomas. Todos los modelos usados fueron los de 50.000 pasos.
- Como se sospecha un infarto de miocardio, prepare urgentemente la angiografía coronaria y la terapia trombolítica.
- Sospechamos un infarto de miocardio, así que prepare de inmediato la angiografía coronaria y la terapia trombolítica.
- Sospechamos un infarto de miocardio, por lo que prepare de inmediato la angiografía coronaria y la terapia trombolítica.
- Este algoritmo tiene una estructura que combina una red neuronal convolucional y una red recurrente.
- Este algoritmo combina una red neuronal convolucional con una arquitectura recurrente.
- Este algoritmo combina una red neuronal convolucional con una arquitectura recurrente.
- El abogado del acusado solicitó la absolución en apelación, alegando la obtención ilegal de pruebas.
- El abogado del acusado argumentó a favor de la absolución en apelación, citando la obtención ilícita de pruebas.
- El defensor del acusado solicitó una sentencia absolutoria en el procedimiento de apelación debido a pruebas obtenidas ilegalmente.
- En la fotosíntesis, la cadena de transporte de electrones actúa en la membrana tilacoidal del cloroplasto y se sintetiza trifosfato de adenosina.
- En la fotosíntesis, la cadena de transporte de electrones de la membrana tilacoidal del cloroplasto produce trifosfato de adenosina.
- En la fotosíntesis, la cadena de transporte de electrones de la membrana tilacoidal del cloroplasto produce trifosfato de adenosina.
- La distribución de claves criptográficas basada en el entrelazamiento cuántico puede detectar, en principio, cualquier escucha clandestina.
- La distribución cuántica de claves basada en el entrelazamiento puede, en principio, detectar cualquier escucha clandestina.
- La distribución cuántica de claves basada en el entrelazamiento puede, en principio, detectar cualquier escucha clandestina.
- Ante el aumento de la inflación, el banco central decidió subir los tipos de interés e iniciar un endurecimiento cuantitativo.
- En respuesta al aumento de la inflación, el banco central decidió subir los tipos de interés e iniciar un endurecimiento cuantitativo.
- Debido al aumento de la inflación, el banco central decidió elevar los tipos de interés y comenzar un endurecimiento cuantitativo.
- En pacientes con artrosis de rodilla, se combinan inyecciones intraarticulares de ácido hialurónico y fisioterapia.
- Los pacientes con artrosis de rodilla reciben inyecciones intraarticulares de ácido hialurónico combinadas con fisioterapia.
- Los pacientes con artrosis de rodilla reciben inyecciones intraarticulares de ácido hialurónico junto con fisioterapia.
- Este puente sostiene un tablero de hormigón armado sobre vigas de hormigón pretensado.
- Este puente sostiene un tablero de hormigón armado sobre vigas de hormigón pretensado.
- Este puente soporta una losa de hormigón armado sobre vigas de hormigón pretensado.
- La plataforma de intercambio de criptomonedas verifica la integridad de su libro mayor distribuido mediante un algoritmo de consenso.
- La plataforma de intercambio de criptomonedas verifica la integridad de su libro mayor distribuido con un algoritmo de consenso.
- La casa de cambio de criptomonedas verifica la integridad del libro mayor distribuido mediante un algoritmo de consenso.
- El uso excesivo de antibióticos provoca la aparición de bacterias multirresistentes y aumenta el riesgo de infecciones nosocomiales.
- El uso excesivo de antibióticos conduce a bacterias multirresistentes y aumenta el riesgo de infecciones nosocomiales.
- El uso excesivo de antibióticos conduce a bacterias multirresistentes y aumenta el riesgo de infecciones hospitalarias.
| Oración | Versión de 10 horas | Versión de 5 horas | Versión de 3 horas |
|---|---|---|---|
| 1. Dado que se sospecha un infarto de miocardio, prepare de inmediato la angiografía coronaria y la terapia trombolítica. | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 2. Este algoritmo combina redes neuronales convolucionales y redes recurrentes. | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 3. El abogado del acusado solicitó la absolución en apelación, alegando la obtención ilícita de pruebas. | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 4. En la fotosíntesis, la cadena de transporte de electrones actúa en la membrana tilacoidal de los cloroplastos y se sintetiza trifosfato de adenosina. | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 5. La distribución de claves criptográficas que utiliza el entrelazamiento cuántico puede detectar las escuchas ilegales por principio. | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 6. El banco central decidió elevar el tipo de interés oficial y aplicar una contracción cuantitativa ante el aumento de la tasa de inflación. | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 7. Para los pacientes con artrosis de rodilla, combinamos inyecciones intraarticulares de ácido hialurónico con fisioterapia. | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 8. Este puente sostiene una losa de hormigón armado mediante vigas de hormigón pretensado. | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 9. La plataforma de intercambio de criptomonedas verifica la integridad del libro mayor distribuido mediante un algoritmo de consenso. | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
| 10. El uso excesivo de antibióticos favorece la aparición de bacterias multirresistentes y aumenta el riesgo de infecciones nosocomiales. | Inglés Japonés Croata | Inglés Japonés Croata | Inglés Japonés Croata |
Resultados.
| Croata | Japonés | Inglés | Coincidencia exacta de 30 frases | |
|---|---|---|---|---|
| Versión de 10 horas | 0,6 % | 1,5 % | 4,6 % | 17 |
| Versión de 5 horas | 0,3 % | 1,0 % | 3,9 % | 20 |
| Versión de 3 horas | 0,5 % | 1,0 % | 4,1 % | 18 |
El resultado no mostró que la versión de 10 horas fuera superior. Las tres dieron resultados parecidos y, de hecho, la versión de 5 horas fue ligeramente mejor. Por si acaso, también medí los modelos de 10 y 5 horas con 60.000 pasos: la versión de 10 horas obtuvo un 1,9 % y la de 5 horas un 2,0 %, invirtiéndose el resultado. Es decir, esta diferencia es una fluctuación casual y no se puede decir que una sea mejor que las demás. Solo la versión de 3 horas se sintetizó y transcribió con CPU, porque la GPU estaba ocupada con otro trabajo. Por ello, las condiciones fueron ligeramente distintas.
Lo interesante fue el tipo de errores.
- En inglés, los tres modelos reconocieron «cryptocurrency» como algo parecido a «Kripke-Kunershi», «Kripke-Kinoshi» o «Kripik-Innershi»
- «intra-articular», «multidrug-resistant» y «angiography» también se deformaron de forma parecida en los tres modelos
- En japonés, los tres transcribieron «冠動脈造影» como algo terminado en «〜増え», y «床版» como «障板»
- En croata, todos los modelos reconocieron «pooštravanje (endurecimiento)» como «poštravanje»
Los modelos con distinta cantidad de datos cometían errores parecidos con las mismas palabras. En inglés, la causa estaba clara: no era el modelo, sino la parte que convierte las letras en símbolos fonéticos.
Este modelo no lee las letras directamente, sino símbolos fonéticos. En inglés, g2p_en infiere la pronunciación de las palabras que no están en el diccionario. Al comprobarlo, «cryptocurrency» se convertía en símbolos fonéticos parecidos a «kuripakyunāshi», y «angiography» en símbolos fonéticos con una n intercalada. El modelo solo convierte en voz los símbolos fonéticos que recibe, así que se equivoca en los mismos puntos tanto con 10 horas de datos de entrenamiento como con 3.
En japonés la situación es un poco distinta. Las lecturas de OpenJTalk para «床版(ショーバン)》» y «冠動脈造影(カンドーミャクゾーエー)》» eran correctas. Que «床版» se convirtiera en «障板» se debe a que es otro kanji con la misma lectura, por lo que la pronunciación es correcta. En cuanto a que «造影» se convirtiera en «増え», con esta forma de medir no se puede distinguir si Whisper aproximó una palabra poco común a una palabra más familiar o si la pronunciación del modelo fue imprecisa. Pero también aquí los tres modelos se equivocaron de forma parecida.
En otras palabras, en este sistema, al menos la solidez con la terminología técnica en inglés depende del diccionario de pronunciación, no de la cantidad de datos de entrenamiento. Si se quiere reforzar la terminología técnica, es más rápido registrar las palabras en el diccionario que aumentar los datos.
Resumen
- Fue posible hacer que un único modelo pequeño (unos 32 millones de parámetros en total) hablara tres idiomas
- Con 10, 5 o 3 horas de datos de entrenamiento por idioma, la precisión de la lectura terminó siendo prácticamente la misma. La versión de 3 horas tardó un poco más en estabilizarse
- Tampoco hubo diferencias con la terminología técnica. Los errores se producían en el diccionario de pronunciación y no se corrigen aumentando la cantidad de datos
Crear datos requiere tiempo y dinero, así que parece razonable empezar con 3 horas por idioma y añadir más si hace falta. A continuación, basándome en estos resultados, pienso probar a aumentar el número de idiomas a diez. Sin embargo, esta vez solo medí «qué se dice». En aspectos que no se pueden medir con la tasa de error de caracteres, como la naturalidad de la voz o el rango emocional, es posible que disponer de más datos sea una ventaja. Quiero comprobarlo escuchando.



