Skip to content

v0.72.0 — Cambiar de voz ahora corre OpenVoice

Choose a tag to compare

@santiquiroz santiquiroz released this 19 Aug 22:06
· 9 commits to master since this release

Cambiar una voz por otra ahora corre OpenVoice.

Le das una grabación y una muestra de la voz que querés, y devuelve lo mismo dicho con
esa voz. Antes lo hacía SpeechT5, que es de 2022.

Por qué OpenVoice y no los que salen primero

F5-TTS, E2-TTS y XTTS aparecen antes en cualquier búsqueda y clonan muy bien. Pero
publican el código con licencia permisiva y los pesos con CC-BY-NC: no comercial. Eso
alcanza para un experimento y no para meterlo en una aplicación que otra gente descarga.

OpenVoice V2 es MIT, con "free for commercial use" escrito en su propio README.

Le faltaba el camino ONNX —los exports que circulan son repos sin mantenimiento— así que
se hizo uno, documentado y con la paridad medida:
port-openvoice-onnx.

Qué tan bien clona

Convirtiendo una voz femenina a una masculina, similitud coseno entre embeddings:

convertido vs voz destino 0,913
convertido vs voz original 0,535
línea base: destino vs original 0,511

Se parece mucho al destino, y ya no se parece al original más de lo que el destino se le
parecía.

Salvedad: está medido con el propio encoder de hablante de OpenVoice, que lo favorece.
Sirve para comparar configuraciones de este modelo entre sí; no es una comparación
limpia contra el modelo anterior, que se midió con otro encoder. Por eso no ponemos los
dos números en la misma tabla.

Paridad del port contra el modelo original: 4,54e-09 en el conversor y 9,54e-07 en
el extractor de timbre.

El modelo viejo no se borra

Si ya tenías bajado el pack de SpeechT5, la función te sigue funcionando igual. Sería una
molestia gratuita hacerte bajar 128 MB para recuperar algo que ya andaba.

En una instalación nueva se ofrece OpenVoice, que pesa menos y clona mejor.

Correcciones

  • La pantalla de Tareas decía que "cambiar de voz" no estaba lista aunque el modelo
    nuevo estuviera instalado y funcionando, y encima mandaba a bajar 400+ MB del viejo. Era
    una regresión introducida al agregar OpenVoice, detectada y corregida antes de publicar.
  • "Video a video" le echaba la culpa a ONNX. La generación de video de esta app corre
    por Vulkan, sin ONNX en ningún lado, así que ese motivo hacía pensar que faltaba algo que
    no falta. Ahora dice lo que pasa: la función no está construida.
  • El empaquetado ya no se rompe cuando un editor abierto sobre el repo tiene tomado el
    Python de build.

3905 pruebas de backend y 1226 de frontend, todas en verde.