Hay una frase en la dependencia de Hugging Face de VoiceStudio que decide si el programa sirve para lo que la mayoría de la gente quiere usarlo. No está en el README, no está en la web y no está dentro de la aplicación. Está en la ficha del modelo del motor que la app instala por defecto:
Nuestro código se publica bajo la licencia Apache 2.0. El modelo preentrenado está bajo CC-BY-NC debido a las restricciones de sus datos de entrenamiento (por ejemplo, Emilia).
CC-BY-NC significa no comercial. La propia web de VoiceStudio dice lo contrario: «Ejecútalo para cualquier cosa, incluso en el trabajo y por dinero… sin restricciones de campo de uso». La aplicación sí es AGPL-3.0 y ejecutarla comercialmente sí es legal. Los pesos que trae no lo son, y uno de esos pesos es el motor por defecto.
Ahí está la historia. Todo lo demás —40.145 estrellas, 534.737 descargas de versiones, 101.256 extracciones en Docker Hub, 646 idiomas— es cierto, y he verificado cada cifra contra una fuente primaria. Así que esto es una auditoría en dos direcciones: cuánto del marketing resiste la aritmética y en qué punto exacto la aritmética deja de ser amable.
Qué es VoiceStudio en realidad (datos verificados el 28 de septiembre de 2026)
| Dato | Valor | Fuente |
|---|---|---|
| Repositorio | debpalash/VoiceStudio (renombrado desde OmniVoice-Studio en agosto de 2026) | API de GitHub |
| Creado | 9 de abril de 2026 | API de GitHub |
| Estrellas | 40.136 → 40.145 durante una sesión de 35 minutos | API de GitHub |
| Forks / vigilantes / issues abiertos | 4.769 / 159 / 17 | API de GitHub |
Commits en main | 3.381, de los cuales el propietario debpalash firmó 2.781 = 82,3 % | API de GitHub |
| Colaboradores | 71 vía API; el segundo humano más activo tiene 54 commits | API de GitHub |
| Archivos | 3.280 blobs: 1.004 .py, 450 .ts, 420 .jsx, 300 .tsx | API de árbol |
| Peso del código | 11,56 MB Python, 4,96 MB JS, 3,87 MB TS, 0,14 MB Rust | API de lenguajes |
| Pruebas / documentación / scripts | 638 / 203 / 52 archivos | API de árbol |
| Licencia de la app | AGPL-3.0-only | LICENSE |
| Versiones | 42; la última v0.5.6 (23 de septiembre de 2026) | API de releases |
| Descargas de versiones | 534.737 en total; 56.964 solo la v0.5.6 | API de releases |
| Extracciones en Docker Hub | 101.256 (palashdeb/omnivoice-studio) | API de Docker Hub |
| Motores | 16 de texto a voz y 11 de voz a texto | docs/engines/README.md |
En arquitectura es una carcasa de escritorio Electron sobre un backend FastAPI (97 endpoints HTTP, Server-Sent Events para el streaming, SQLite para el estado) con cuatro caballos de tiro por debajo: WhisperX para reconocimiento de voz, Demucs para separar pistas, pyannote para diarización y AudioSeal para marcas de agua. La carcasa pasó de Tauri a Electron en septiembre: la v0.5.3 fue la última versión Tauri y la interfaz antigua se borró directamente en el PR #2343, sin dejarla detrás de una bandera.
Dos cosas de esa tabla merecen un momento. Primero, 3.381 commits en 172 días son unos 20 commits diarios sostenidos: esto no es un proyecto de fin de semana con un buen README. Segundo, el 82,3 % de esos commits vienen de una sola persona, y el tercer colaborador con más actividad global es dependabot[bot]. El factor autobús es uno.
La curva de estrellas, reconstruida con capturas archivadas
El historial de estrellas de GitHub está cerrado a tokens sin privilegios, así que lo saqué de la Wayback Machine: copias archivadas de api.github.com/repos/debpalash/VoiceStudio, descomprimidas en gzip.
| Fecha archivada | Estrellas | Forks | Issues abiertos | Vigilantes |
|---|---|---|---|---|
| 2026-09-01 | 13.353 | 2.021 | 31 | 65 |
| 2026-09-10 | 22.255 | 2.742 | 7 | 90 |
| 2026-09-11 | 27.277 | 3.360 | 47 | 116 |
| 2026-09-26 | 35.774 | 4.197 | 20 | 144 |
| 2026-09-28 (en vivo) | 40.145 | 4.769 | 17 | 159 |
Son +26.792 estrellas en 27 días: un tiempo de duplicación de unas dos semanas, con un salto diario de +5.022 entre el 10 y el 11 de septiembre. El historial de Trendshift confirma la forma: primera aparición en GitHub Trending el 3 de septiembre y primer puesto el 15 de septiembre, con «creado hace 6 meses».
Ahora comparemos con la portada. Su bloque de prueba social dice «Observado el 21 de agosto de 2026» y muestra: estrellas 40.140, descargas de releases 221.468, Docker Hub 58.945, GHCR 14.000+, versión v0.5.0. Todas las cifras finales son una foto de hace cinco semanas: la versión actual es la v0.5.6 y las extracciones de Docker son 101.256, no 58.945. Pero el número de estrellas sí está vivo: pasó de 40.136 a 40.140 y a 40.145 en minutos, exactamente igual que la API.
Es decir, el bloque es un contador en vivo etiquetado con una fecha congelada. Y esa etiqueta es demostrablemente falsa: el repositorio tenía 13.353 estrellas el 1 de septiembre, así que era imposible que tuviera 40.140 el 21 de agosto. Quien confíe en la etiqueta concluye que el proyecto lleva cinco semanas plano. Quien confíe en el número ve el cuadro real: crecimiento explosivo, en parte porque el propio contador es uno de los bucles de crecimiento más eficaces del repositorio.
La otra cara es más incómoda. Hacker News, el canal donde un proyecto así se sometería a escrutinio, prácticamente lo ha ignorado: nueve envíos en total, la mejor puntuación 6 puntos y 0 comentarios para «VoiceStudio – local open-source ElevenLabs alternative» (15 de septiembre), y ningún envío del dominio. El envío del propio modelo original, «OmniVoice, high-quality TTS for 600+ Languages», logró 3 puntos. Las 40.000 estrellas llegaron por reels de Instagram, publicaciones de LinkedIn y demos de YouTube; el canal de desarrolladores nunca entró. Las estrellas miden alcance, no revisión, y para una herramienta por la que vas a pasar trabajo de clientes esa distinción importa.
Afirmación uno: 646 idiomas, verificado fila a fila
Esta es real, y la comprobé de la forma más aburrida posible: el repositorio publica docs/languages.md con una fila por idioma, un código ISO 639-3 y la duración del corpus de entrenamiento. La tabla tiene exactamente 646 filas de datos, el languages.json del renderer tiene 647 entradas (646 idiomas más un centinela «Auto») y hay cero códigos ISO 639-3 duplicados. Las duraciones suman 581.489,4 horas, que coincide exactamente con la afirmación de «581.000 horas» y con la descripción del conjunto de datos del artículo original.
Después ordené las duraciones.
| Datos de entrenamiento del idioma | Idiomas | Porcentaje del catálogo |
|---|---|---|
| ≥ 10.000 h | 10 | 1,5 % |
| 1.000 – 10.000 h | 23 | 3,6 % |
| 100 – 1.000 h | 43 | 6,7 % |
| 10 – 100 h | 305 | 47,2 % |
| 1 – 10 h | 254 | 39,3 % |
| < 1 h | 11 | 1,7 % |
La distribución es la que cabe esperar de un corpus construido con datos abiertos, y es brutal: 265 de los 646 idiomas tienen menos de diez horas de material y la mediana es de 10,18 horas. La mitad baja del catálogo —323 idiomas— suma 2.715 horas, el 0,47 % del corpus. Los diez idiomas mejor dotados concentran el 84,0 %, y solo el inglés son 206.061 horas = 35,4 %.
Los once idiomas con menos de una hora son los que dejan el titular en evidencia. El macedorrumano tiene 0,02 horas de entrenamiento: 72 segundos. Haitiano: 0,04 h. Náhuatl de Zacatlán-Ahuacatlán-Tepetzintla: 0,05 h. Tigriña: 0,08 h. Vótico: 0,1 h. Solo 76 idiomas llegan a 100 horas; solo 33 llegan a 1.000.
Nada de esto es un escándalo: así funcionan los modelos multilingües y los autores originales son explícitos en que la cifra es una afirmación de cobertura construida con datos abiertos. Pero «646 idiomas» no es una afirmación sobre 646 voces utilizables. Es una afirmación sobre 646 códigos de idioma a los que se apuntó el modelo, de los cuales unas tres docenas tienen datos suficientes para ser una voz de producción y varios cientos se describen mejor como soportados con un guiño. Si tu flujo de trabajo necesita español, inglés, chino o japonés, es irrelevante. Si compraste el titular por el náhuatl, tienes 180 segundos de grabación de campo de alguien.
Afirmación dos: la pila de licencias, capa por capa
Aquí la auditoría deja de ser amable.
Capa 1 — la aplicación: AGPL-3.0-only. Realmente permisiva para su uso. La página de licencia del proyecto lo detalla: «Usar la aplicación de escritorio en el trabajo. No se requiere nada». La cláusula de red de la AGPL solo muerde si alojas una versión modificada para otras personas.
Capa 2 — los pesos del motor por defecto: CC-BY-NC. k2-fsa/OmniVoice (10 autores, grupo k2-fsa/icefall, con Daniel Povey incluido; arXiv 2604.00688, enviado el 1 de abril de 2026; un modelo TTS de 0,6B con arquitectura de modelo de difusión inicializado desde Qwen3-0.6B) es Apache-2.0 como código y CC-BY-NC como pesos, explícitamente «debido a las restricciones de sus datos de entrenamiento (por ejemplo, Emilia)». El front matter YAML de la ficha de Hugging Face no tiene ningún campo license:, así que el hub no muestra ninguna insignia de licencia; la única declaración es esa frase del cuerpo. El modelo acumula 1.378.254 descargas en el último mes y 1.436 «me gusta», y es el motor más usado de la aplicación: se instala por defecto y sobre él se publicita la calidad de diseño y clonación de voz del producto.
Capa 3 — el tokenizador de audio: una licencia derivada de Llama 3. El audio_tokenizer/LICENSE incluido es el «Boson Higgs Audio 2 Community License Agreement», que «se basa en el Meta Llama 3 Community License Agreement» e incorpora sus términos por referencia. Eso es un tercer documento, en un subdirectorio, con sus propias condiciones.
Ahora pongamos las normas del propio proyecto al lado de eso. docs/engine-acceptance.md fija el listón para admitir un motor nuevo, criterio 2:
Licencia limpia para uso comercial. Pesos del modelo y código. Sin pesos solo de investigación ni procedencia ambigua.
El proyecto incluso aplica esa norma de forma visible. audiocpp (pesos Breeze-TTS-2) aparece etiquetado en la tabla de motores como «weights research/non-commercial» y es la única excepción aprobada por el propietario; supertonic3 y pockettts están detrás de un diálogo local de aceptación de licencia (LICENSE_GATED_ENGINES en backend/core/engine_licenses.py es exactamente {"supertonic3", "pockettts"}). Mientras tanto, el motor que ocupa el puesto principal del catálogo —«mejor calidad de clonación zero-shot» y «mayor cobertura de idiomas» en el mapa de puestos del propio proyecto— no lleva ninguna advertencia de licencia en la tabla de motores. El único sitio donde se declara la restricción es LICENSE-NOTICE.md, en un párrafo que casi nadie abrirá.
Además, la licencia se ha movido tres veces en diez semanas, lo que indica que el propietario está pensando en ello activamente:
| Fecha | Licencia | Mensaje del commit |
|---|---|---|
| 2026-04-29 | FSL-1.1-ALv2 | chore(license): switch Studio to FSL-1.1-ALv2; commercial pricing TBD |
| 2026-06-06 | AGPL-3.0-only | chore(license): relicense from FSL-1.1-ALv2 to AGPL-3.0 (open-core) |
| 2026-07-16 | AGPL-3.0-only | docs: live downloads badge + fix AGPL-3.0 license detection (#1168) |
Fíjate en el paréntesis: open-core. Y fíjate en que el commit de julio trataba de conseguir que el detector de GitHub informara AGPL-3.0-only en vez de «Other», porque los escáneres de licencias corporativos condicionan la adopción y una licencia sin clasificar bloquea las compras. LICENSE-NOTICE.md lo dice con todas las letras. Es un proyecto que entiende perfectamente la mecánica de licencias cuando la licencia es la suya.
La asimetría es el hallazgo. La licencia propia se cuida con esmero para la adopción empresarial. Los pesos no comerciales del motor por defecto se mencionan una vez, en un archivo de aviso, y luego no se vuelven a mostrar: ni en el catálogo de motores, ni en el selector de motores de la app, ni en la sección «Modelos y dependencias» de la página de licencia, que solo dice que «algunos son solo para investigación».
El nivel Pro agrava la contradicción
El 25 de septiembre, el PR #2333 integró un módulo de derechos Pro y un contrato de diseño, docs/specs/desktop-pro-page.md:
VoiceStudio Free conserva creación de voz local, transcripción, doblaje, Stories, audiolibros, colas por lotes y exportaciones locales ilimitadas. Desktop Pro añade recetas de producción, carpetas vigiladas, reglas de lotes persistentes, historial de revisiones, paquetes de entrega para clientes, preflight de proyectos, cómputo en dispositivos remotos, workers remotos, compartición cifrada de GPU y herramientas de producción para trabajo de cliente remunerado. El precio individual es de 99 dólares por usuario y año, o 299 dólares por usuario de por vida.
El proceso principal de Electron ya contiene la fontanería funcional: pro-license.ts llama a https://api.lemonsqueezy.com/v1/licenses para activar, validar y desactivar, toma los identificadores de tienda/producto/variante inyectados en el build, guarda la clave con safeStorage de Electron y se niega a caer al backend basic_text. La página Pro renderizada muestra una tarjeta de 99 $/año, otra de 299 $ de por vida, un selector de 1 a 99 usuarios y enlaces con ?plan=…&quantity=….
La web, en cambio, dice que nada de eso existe: «Cloud, el panel de cuenta, el uso público de claves API, el pago y la entrega automática de licencia comercial no están disponibles en la versión pública actual»; la tabla comparativa de Pro indica «Pago en línea: no necesario / no disponible» y la página de licencia afirma que «la página Pro no vende ni concede licencia por ahora». La especificación coincide, y enumera banderas de publicación sin activar: VOICESTUDIO_PRO_FEATURES_RELEASED, VOICESTUDIO_PRO_TERMS_APPROVED y «ningún pago ni desbloqueo de funciones está activo hasta que pasen las barreras».
La lectura honesta es esta: el muro de pago está a medio construir y correctamente bloqueado, y el marketing describe un producto de 99 dólares cuya función más valiosa para quien paga —«herramientas de producción para trabajo de cliente remunerado»— se apoya en un motor por defecto cuyos pesos prohíben el uso comercial. Si compras el nivel que existe para monetizar la herramienta, sigues teniendo que abandonar el motor por defecto para usarla comercialmente. Una licencia comercial del código de VoiceStudio no toca eso, y el propio aviso del proyecto lo dice: «Una licencia comercial para el código propiedad de VoiceStudio no sustituye ninguno de esos términos».
Nadie ha medido el audio
Dos artefactos zanjan cuánta evidencia de calidad existe.
docs/benchmarks.md empieza prometiendo que «cada número aquí lo produce el arnés del repositorio, en hardware con nombre y en una versión con nombre; nada está estimado» y después, bajo Resultados: «Todavía no hay filas verificadas: esta tabla se llena con ejecuciones de los mantenedores y aportes de la comunidad», con una única fila de relleno en cursiva. Un proyecto de 40.000 estrellas con un arnés de benchmarks ya publicado no ha publicado ni una fila de benchmark.
El nivel de evaluaciones semánticas es peor. .github/workflows/evals.yml:
Evaluaciones con juez LLM: suites de calidad semántica, NUNCA son una barrera… En el runner alojado no hay endpoint LLM local, así que la ejecución suele informar «skipped — no LLM backend configured».
Y tests/evals/run_evals.py «sale con código 0 tanto si los casos pasan como si fallan: el informe es el entregable». Por tanto el trabajo semanal normalmente no hace nada y, cuando hace algo, no puede tumbar la compilación. Es una decisión de ingeniería defendible, pero significa que las afirmaciones de calidad del README descansan por completo en el artículo del modelo original: ejecuciones de WER, SIM-o y UTMOS sobre LibriSpeech-PC, Seed-TTS, FLEURS y MiniMax que los autores del modelo hicieron sobre el modelo, no sobre el pipeline de esta aplicación, su troceador, su fase de doblaje o su ruta de descarga a CPU.
La evidencia informal apunta igual: el documento de instalación más grande del repositorio es docs/install/troubleshooting.md con 72.160 bytes, unas 6 veces el tamaño del README.
Lo que sí es mejor que las alternativas
Después de desmontar el proyecto durante cuatro mil palabras, su caso a favor es real y concreto.
Su ingeniería de privacidad es la mejor que he visto en una aplicación local-first. backend/core/analytics.py es un cliente PostHog opcional sometido a un estándar que la mayoría del SaaS comercial no cumple: dos barreras independientes (un token publicable incluido en el repositorio, sobrescribible con POSTHOG_PROJECT_TOKEN, y una preferencia de usuario que por defecto es False), un interruptor de apagado duro (OMNIVOICE_ANALYTICS_DISABLED), la captura automática de excepciones desactivada explícitamente porque las trazas del SDK pueden arrastrar tokens de Hugging Face y rutas absolutas, y una lista blanca que descarta cualquier propiedad no incluida en lugar de confiar en quien llama. Una instalación por defecto no transmite nada. Los proveedores de traducción están clasificados en el código como en línea (google, deepl, mymemory, microsoft, openai) o sin conexión (nllb, argos, libretranslate) para que la interfaz te diga en qué modo estás.
La procedencia y el consentimiento son de primera clase, no marketing. Las marcas de agua AudioSeal de Meta están integradas con su propio control de ajustes y sus pruebas de cobertura de rutas; los perfiles de voz llevan una bandera de consentimiento a nivel de base de datos (alembic 0003_voice_profile_consent); las referencias de más de 20 segundos se tratan de forma determinista (elige la mejor ventana de 15 segundos con habla y reutiliza el reconocedor ya instalado en vez de inventar una transcripción de un fragmento que recortó). Entre los proyectos de su propio conjunto competitivo, es el único que hace marcado de agua y detección.
Es una aplicación, no siete herramientas. Doblaje, clonación, dictado con un widget global, colas de hasta 50 vídeos, audiolibros, una API local compatible con OpenAI y un servidor MCP en la misma instalación. Si alguna vez has cableado a mano WhisperX + Demucs + un repo de TTS + ffmpeg, el valor es evidente.
Y las cuentas no se acercan. Precios publicados de ElevenLabs hoy: Free 0 $/10.000 créditos, Starter 6 $/30.000 créditos con licencia comercial, Creator 22 $ (121.000 créditos), Pro 99 $ (600.000 créditos), Scale 299 $ (1,8 M de créditos, 3 asientos), Business 990 $ (6 M de créditos, 10 asientos), «TTS de baja latencia desde 5 centavos por minuto». El doblaje es donde duele: su modelo factura 10 minutos traducidos a 3 idiomas como 30 minutos, con 0,60 $/minuto de exceso; la propia investigación competitiva del proyecto cita usuarios que describen el cambio como acabar con «700 $ al año en suscripciones de ElevenLabs y HeyGen». A la tarifa Pro (1.188 $/año), una RTX 3060 de segunda mano de 300 € se paga sola en unos tres meses, y a partir de ahí la generación local cuesta electricidad.
El coste real de irte a local
| Elemento | Realidad |
|---|---|
| GPU | Opcional. La CPU funciona, unas 3 veces más lenta. Con ≤ 8 GB de VRAM la app descarga el TTS a CPU durante la transcripción |
| Disco | 10 GB mínimo, 20 GB+ en SSD recomendado, antes de instalar un segundo motor |
| Primera ejecución | Los pesos se descargan solos en la primera generación (solo los de OmniVoice tienen 1,38 M de descargas mensuales en el Hub) |
| Diarización | Requiere un token de Hugging Face y aceptar las licencias de pyannote/speaker-diarization-3.1 y pyannote/segmentation-3.0; sin ello el doblaje degrada en silencio a una heurística de silencios que fusiona hablantes de tono parecido |
| Iteración | Aún no hay editor de línea de tiempo multipista ni troceado con fundido cruzado: las dos carencias que el propio proyecto admite frente a voicebox (MIT, ~29,7k estrellas), que además trae más de 50 voces predefinidas frente a las 20+ de VoiceStudio. Generar y corregir sigue costando tiempo humano, y a tarifas de agencia eso eclipsa la suscripción que sustituiste |
| AMD / Intel / Apple | CUDA, MPS y ROCm se detectan solos, pero la aceleración por GPU en Windows es solo NVIDIA; AMD e Intel van por CPU allí |
La lista reciente de fallos merece una lectura antes de migrar, porque toda es de los últimos tres días y casi toda afecta a los motores alternativos, no al que viene por defecto: #2374 el override de motor en /ws/tts lanza un sidecar nuevo por petición (fuga de VRAM, OOM); #2373 IndexTTS en ROCm se pasa unos 18 s por línea en el modo de búsqueda por defecto de MIOpen; #2372 IndexTTS 2.5 provoca segfault en RDNA2 porque torch informa mal del soporte bf16; #2371 IndexTTS 2.5 instala torch CUDA en máquinas ROCm, así que siempre corre en CPU; #2365 el macOS Intel no puede preparar sus dependencias de Python y #2360 (ya corregido) publicó un DMG roto para Apple Silicon en la v0.5.6. La buena noticia: 17 issues abiertos frente a 40.000 estrellas es una proporción sana, las tuberías de CI/Security/Docker están en verde en main y la v0.5.6 llegó hace cinco días.
Qué hacer con todo esto
Si tu uso es personal, de investigación, de evaluación o de borradores internos, usa el motor por defecto y deja de preocuparte. Nada en la pila lo restringe y es el camino mejor construido de la aplicación.
Si ganas dinero con el resultado —YouTube monetizado, doblaje para clientes, venta de audiolibros, cualquier cosa que una agencia facture— el motor por defecto no está licenciado para eso, y «no lo sabía» nunca ha sido una defensa. Cambia de motor:
# Ajustes → Catálogo de modelos, o bien:
OMNIVOICE_TTS_BACKEND=cosyvoice # CosyVoice 3, Apache-2.0
Motores cuyo código y pesos son suficientemente permisivos para empezar: CosyVoice 3 (Apache-2.0), VoxCPM2 (Apache-2.0), MOSS-TTS-Nano (Apache-2.0), KittenTTS (MIT, inglés, CPU), MLX-Audio (Apple Silicon; Kokoro y otros). Motores a evitar para trabajo remunerado: OmniVoice (pesos CC-BY-NC), audiocpp (Breeze-TTS-2, investigación/no comercial, declarado en la app), supertonic3 y pockettts (con aceptación de licencia obligatoria).
Conviene saber qué pierdes, porque no es poco: la cobertura de idiomas cae de 646 idiomas a 30 (VoxCPM2), 9 idiomas + 18 dialectos (CosyVoice 3) o un idioma (KittenTTS). El doblaje multilingüe a escala es justo el trabajo que mejor hace el motor no comercial por defecto. Esa es la trampa: la licencia que no puedes usar está pegada a la capacidad que querías. O reduces tu conjunto de idiomas a lo que cubre un motor permisivo, o tratas la licencia comercial como una partida de gasto, que es la conversación que el proyecto invita a abrir con esa dirección pro@voicestudio.sh.
Para quien esté evaluando, cinco minutos en tres comandos. Resuelven toda la cuestión de licencias sin confiar en mí ni en el README:
curl -s https://huggingface.co/k2-fsa/OmniVoice/raw/main/README.md | grep -A2 '^## License'
curl -s https://raw.githubusercontent.com/debpalash/VoiceStudio/main/LICENSE-NOTICE.md | sed -n '1,40p'
curl -s https://raw.githubusercontent.com/debpalash/VoiceStudio/main/docs/engine-acceptance.md | grep -i -A2 'commercial use'
Si la primera línea llegara a decir algún día Apache-2.0 en los pesos, la objeción central de este artículo se evapora de un día para otro y VoiceStudio se convierte en la recomendación más fácil de la voz local.
Preguntas frecuentes
¿VoiceStudio es realmente open source? La aplicación sí, bajo AGPL-3.0-only, y puedes leerla, modificarla y ejecutarla comercialmente. No es totalmente abierta en el sentido de publicar solo pesos permisivos: los de su motor por defecto son CC-BY-NC y su tokenizador de audio está bajo una licencia comunitaria derivada de Llama 3.
¿Puedo usarlo comercialmente, sí o no? Sí, con motores permisivos (CosyVoice 3, VoxCPM2, MOSS-TTS-Nano, KittenTTS, MLX-Audio). No con el motor OmniVoice por defecto, cuyos pesos son no comerciales, ni con audiocpp, supertonic3 o pockettts.
¿De dónde sale el CC-BY-NC? De aguas arriba, no de VoiceStudio. Los autores de OmniVoice declaran que la restricción viene de los datos de entrenamiento (Emilia) y la aplican a los pesos preentrenados mientras mantienen el código en Apache-2.0. La aplicación la hereda al incluir ese motor como opción por defecto.
¿Resiste la afirmación de «646 idiomas»? Exactamente, fila a fila: 646 filas, 646 códigos ISO 639-3 únicos y duraciones que suman 581.489 horas. Lo que esconde es la distribución: 265 de esos idiomas tienen menos de diez horas de entrenamiento, 11 tienen menos de una hora y los diez principales son el 84 % del corpus.
¿40.145 estrellas son señal de calidad? Son señal de alcance. La curva reconstruida muestra ~26.800 estrellas en 27 días, impulsadas por vídeo social y prensa más que por escrutinio de desarrolladores: el mejor envío en Hacker News logró 6 puntos. El propio análisis competitivo del proyecto se puntúa por debajo de voicebox en generación larga troceada y en número de voces predefinidas.
¿Por qué el muro de pago está en la app y no en la web?
Porque está bloqueado a propósito. desktop-pro-page.md enumera banderas de publicación sin activar (VOICESTUDIO_PRO_FEATURES_RELEASED, VOICESTUDIO_PRO_TERMS_APPROVED) y la web declara sin rodeos que el pago y las licencias comerciales aún no están disponibles. La fontanería de 99 $/año y 299 $ de por vida existe en el proceso principal de Electron; la promesa no se ha encendido.
Veredicto
VoiceStudio es un logro real de ingeniería llevando puesto un problema de licencias que todavía no ha decidido cómo contar. En 172 días se convirtió en la estación de trabajo de voz local más completa del open source —16 motores de TTS, 11 de ASR, marcas de agua, banderas de consentimiento, MCP, un diseño de analítica mejor que el de la mayoría del SaaS— y merece algo mejor que un contador de estrellas que llegó antes de que nadie leyera la ficha del modelo.
El cambio que dejaría obsoleto este artículo es el más barato de todos: imprimir la advertencia CC-BY-NC junto al motor por defecto en el selector donde el usuario lo elige, tal como ya se hace con audiocpp y con los dos motores con licencia aceptable. La norma del propio proyecto ya exige que los pesos sean limpios para uso comercial. Aplicarla de forma visible —para el motor que ostenta el puesto principal de su propio mapa de puestos— no es una tarea difícil de ingeniería. Es la diferencia entre un proyecto que audita sus licencias y uno que audita solo las que le convienen.
Build your own online course platform! Self-hosted, pay once and own it forever — with AI you can draft course content and outlines in minutes, and keep 100% of your revenue.