Lo que me sorprendió de ejecutar texto a voz en nuestro propio hardware es lo pequeño que es el modelo. Un archivo, 78 MB, con 904 altavoces distintos. Eso es menos que una explosión de fotos telefónica y aproximadamente una décima parte de lo que pesa un solo modelo de lenguaje de rango medio, y de él sale una voz que no colocarías de inmediato como sintética. Medí tres de las ocho voces que expone la herramienta: sus tonos medianos son 103 Hz, 184 Hz y 242 Hz, que es un rango genuino desde una voz masculina baja hasta una femenina alta, del mismo archivo con un número diferente pasado.
TL;Dr: El motor es de flautista funcionando en la propia caja del sitio, utilizando el modelo Libritts-R. Medido: 113 caracteres Produjeron de 5.8 a 6.1 segundos de audio en aproximadamente 3 a 4 segundos de tiempo de pared, por lo que sí sintetiza más rápido de lo que puede escuchar. Obtienes un WAV mono de 22.050 Hz, que es de aproximadamente 2.6 MB por minuto. El control de velocidad funciona pero se comprime: el rango completo de 0,7 a 1,5 produce una duración de 1.61x en lugar de la de 2.14x Los números implican, y 0.85 es indistinguible de 1.0. El mismo texto nunca es el mismo audio dos veces. los Herramienta de texto a voz mayúsculas de entrada a 3.000 caracteres.
¿Qué está haciendo el hablar?
Piper, un motor de texto a voz neuronal, que funciona como su propio contenedor junto a la aplicación web, con un modelo entrenado en LIBRITS-R.
Vale la pena conocer ese corpus, porque explica tanto la calidad como el carácter de la salida. Son aproximadamente 585 horas de lectura en inglés, originaria de las grabaciones de audiolibros de Librivox, luego se somete a un modelo de restauración del habla para limpiar la calidad de grabación del material fuente. Los oradores son voluntarios que leen libros de dominio público.
Entonces, las voces suenan como personas leyendo en voz alta, porque eso es exactamente lo que estaban haciendo. El modelo es bueno en oraciones declarativas y párrafos de prosa, que es lo que escuchó. Es menos convincente en cualquier cosa conversacional, porque nadie en los datos de entrenamiento estaba teniendo una conversación.
El archivo de modelo contiene 904 altavoces y la herramienta expone ocho de ellos. Las identificaciones en el código son las propias del modelo, seleccionadas para abarcar el rango en lugar de ser las mejores ocho, lo que es una distinción que vale la pena tener en cuenta si ninguno de los ocho te conviene.
¿Son las ocho voces diferentes entre sí?
Sí, medible. Generé la misma oración en tres de ellos y calculé la frecuencia fundamental media de los fotogramas sonoros:
| sonorizar | ID del altavoz | media F0 |
|---|---|---|
| voz 2 | 3 | 103,3 Hz |
| voz 5 | 45 | 183.8 Hz |
| voz 8 | 150 | 242.3 Hz |
Esas no son variaciones de un tema. El habla masculina adulta suele centrarse en alrededor de 85 a 155 Hz y el habla femenina adulta alrededor de 165 a 255 Hz, por lo que estos tres se sientan en la parte inferior, media y superior del rango humano normal.
Las duraciones fueron casi idénticas, de 2,07 a 2,08 segundos para la misma oración, por lo que cambiar de voz cambia el timbre y el tono sin cambiar el ritmo. Eso hace que los ocho sean genuinamente intercambiables para un script determinado, lo que importa si está produciendo un conjunto de clips y desea volver a grabar uno.
¿Qué tan rápido es?
Más rápido que escuchar, que es el número que importa.
| Medida | preciar |
|---|---|
| Entrada | 113 caracteres |
| Audio producido | 5.77 a 6.08 segundos |
| tiempo de pared | 2.994 a 3.929 ms |
| proporción | Aproximadamente 1,5 a 1,9 veces en tiempo real |
Entonces, un minuto de audio tarda de treinta a cuarenta segundos en hacerse, y el máximo de 3000 caracteres funciona a los dos y tres cuartos de minutos de discurso durante menos de dos minutos de espera.
La advertencia es que se sirve una solicitud a la vez. El servidor ejecuta una única ranura de síntesis deliberadamente: medido en el cuadro, un solo texto dura unos 2,2 segundos y tres a la vez toman alrededor de 9 segundos cada uno, por lo que el paralelismo no compra nada en el rendimiento total y cuesta a la primera persona en la cola siete segundos. Pueden esperar hasta veinte solicitudes; más allá de que la herramienta dice que está ocupada en lugar de hacerte esperar varios minutos.
También hay un presupuesto por visitante de veinte generaciones cada diez minutos, lo que es lo suficientemente alto como para que el uso normal nunca lo cumpla y lo suficientemente bajo como para que nadie convierta la caja en una fábrica de audiolibros gratuita.
¿Qué obtienes de vuelta?
Vale la pena conocer un archivo WAV, sin comprimir y el tamaño antes de hacer uno largo.
codec pcm_s16le
sample rate 22,050 Hz
channels 1 (mono)
bit depth 16
Eso es 44,1 KB por segundo de audio, por lo que aproximadamente 2,6 MB por minuto, y una carrera completa de 3.000 caracteres aterriza cerca de 7 MB. La muestra de 113 caracteres anterior fue de 254.508 bytes durante 5,77 segundos.
Uncompressed es el valor predeterminado correcto para algo que vas a editar o convertir, ya que es el formato que todo editor toma sin queja y no tiene pérdida de generación para agregar. Es el valor predeterminado incorrecto para algo que vas a cargar o enviar un correo electrónico, y la solución es un paso: Ejecutar el WAV El convertidor de audio Y toma el MP3 o M4A. su guía Cubre cuál elegir, y la respuesta corta para el discurso es que cualquier cosa que tenga un nivel superior o superior a 128 kbps está bien.
La tasa de 22.050 Hz es la propia del modelo, y es la mitad de la tasa de CD. Vale la pena notar que Libritts-R se distribuye a 24 kHz, por lo que el modelo sale por debajo de la tasa del corpus del que aprendió; esa es la configuración propia de Piper en lugar de cualquier cosa que se pierda aquí. Para una voz, no es notable de cualquier manera, ya que la energía del habla se encuentra muy por debajo de los 11 kHz, que es lo que lleva 22.050 Hz. Significa que la salida no pasará como una grabación de estudio, y volver a muestrearla hacia arriba no agrega nada.
¿El control de velocidad hace lo que dice?
Cambia la velocidad, y no tanto como sugiere el número. Esta es la curva medida:
| Ajuste de velocidad | duración | Relación a 1.0 | Lineal daría |
|---|---|---|---|
| 0.7 | 7.268 s | 1.195 | 1.429 |
| 0.85 | 6.142 s | 1.010 | 1.176 |
| 1.0 | 6.084 s | 1.000 | 1.000 |
| 1.25 | 5.271 s | 0.866 | 0.800 |
| 1.5 | 4.516 s | 0.742 | 0,667 |
Monotónico, por lo que el control funciona en la dirección que esperas y se comprime en ambos extremos. El rango completo de 0,7 a 1,5 debe ser de 2,14 veces de duración y mide 1,61x. La configuración de 0.85 está dentro del 1% de 1.0, es decir, no hace nada que puedas escuchar.
El mecanismo es que la configuración se pasa al modelo como una escala de duración, y el predictor de duración del modelo decide cuánto dura cada fonema. Trata la escala como una pista fuerte en lugar de un multiplicador.
La lectura práctica: use 0.7 o 1.5 si desea un ritmo notablemente diferente, y no espere que los ajustes intermedios le den un control fino. Si necesita una duración exacta, genere en 1.0 y cambie el tempo en un editor de audio, donde el número significa lo que dice.
¿Por qué el mismo texto nunca es el mismo audio dos veces?
Porque el modelo toma una nueva decisión sobre el tiempo en cada carrera.
Envié una solicitud idéntica dos veces, el mismo texto, la misma voz, la misma velocidad. Los resultados fueron 6.084 segundos y 6.002 segundos, y los archivos difieren byte para byte. Nada se almacena en caché y nada se siembra.
Eso es inherente a esta familia de modelos: el predictor de duración es estocástico, por lo que las longitudes de los fonemas varían ligeramente entre ejecuciones, incluso con cada entrada fija. La variación medida aquí es de aproximadamente 1.4%, lo que es inaudible como diferencia de ritmo y claramente visible como diferencia en la longitud del archivo.
dos consecuencias. Si una toma tiene una pausa incómoda o una palabra que aterrizó de manera extraña, generarla nuevamente es una solución real en lugar de una superstición. Y si estás produciendo un conjunto de clips que tienen que coincidir, generlos en una sesión y conservas lo que obtienes, porque volver mañana para una línea de reemplazo te da una línea que es una fracción de segundo diferente.
¿Por qué hay un límite de 3.000 caracteres?
Por lo que se sienta detrás de él, en lugar de nada sobre el texto.
Tres mil personajes son aproximadamente dos y tres cuartos de minutos de discurso y alrededor de 7 MB de WAV, producido en un solo espacio de síntesis que todos comparten. Un capítulo de 30.000 caracteres ocuparía esa ranura durante veinte minutos y mantendría un búfer de 70 MB en la memoria mientras lo hace.
Para algo más largo, divida los límites de los párrafos y únase a las partes. De todos modos, esa es una mejor práctica: un error en el párrafo nueve le cuesta el párrafo nueve en lugar de todo el capítulo, y el convertidor de audio Se unirá y convertirá el conjunto después.
Dividir la oración a mitad de la oración es lo único que debe evitar, porque el modelo decide la entonación por enunciado. Una oración cortada por la mitad produce dos fragmentos que suenan como oraciones completas, con un tono descendente en medio del pensamiento.
¿Para qué sirve y para qué no?
Bueno para cualquier cosa que se escriba para leer en voz alta, que es una categoría más estrecha de lo que parece.
| funciona bien | funciona mal |
|---|---|
| Narración sobre un video o diapositivas | Diálogo entre personajes |
| Una versión de audio de un artículo | Cualquier cosa que necesite emoción o énfasis |
| Accesibilidad: escuchar su propio borrador | Nombres y lugares fuera del inglés común |
| Voz de marcador de posición para un prototipo | Momento preciso para un corte de video |
| pronunciación de una oración que escribiste | Canto, o cualquier cosa musical |
El patrón en la columna de la derecha es Control. La modelo te da voz, velocidad y asiento para escuchar. No hay forma de enfatizar una palabra en particular, insertar una pausa de una longitud dada, cambiar la entonación en una pregunta o deletrear un acrónimo. Esas son las cosas que una API profesional de TTS expone a través del marcado, y esto no tiene nada de eso.
La primera fila de la columna de la izquierda es donde se gana su lugar. Una voz que lee su propia escritura es la herramienta de corrección de lectura más rápida que existe, porque una oración que no funciona es obvia en el momento en que alguien más la dice.
¿Puedes escuchar una voz antes de comprometerte con ella?
No, y esa es la única pieza de la interfaz que cambiaría.
Las ocho voces son un menú desplegable de etiquetas: Voz 1 a Voz 8, sin muestra adjunta a ninguna de ellas. La única forma de averiguar cómo suena la voz 6 es generar con ella, que ocupa el espacio de síntesis compartida, toma unos segundos y cuenta contra tus veinte generaciones por diez minutos.
Para una única vez que está bien. Para elegir una voz para un proyecto, significa audicionar ocho tomas de la misma línea antes de comenzar, que es la mayor parte de una décima parte de su presupuesto gastado en decidir.
El enfoque práctico es audicionar con una línea corta en lugar de su guión. Una frase de una docena de palabras vuelve en dos segundos y te dice el tono y el carácter, que es todo lo que eliges entre. Luego cambie al texto real una vez que haya elegido.
La tabla anterior en esta guía es un atajo parcial: la voz 2 es baja, la voz 5 es media, la voz 8 es alta. Los cinco que no medí se sitúan en algún lugar entre ellos.
¿Cómo se compara con una voz de nube?
No favorablemente en polaco, y esa no es la comparación que importa aquí.
Una API comercial le brinda una mejor prosodia, docenas de idiomas, control de marcado sobre pausas y énfasis, y voces entrenadas para su transmisión. Si estás produciendo algo para la publicación, vale la pena el dinero.
Lo que esto le da es que el texto nunca deja el propio hardware del sitio, y la salida es suya sin factura por personaje y sin cuenta. Para los usos en la columna de la izquierda de arriba, particularmente al escuchar su propio borrador, la diferencia en polaco no vale una cuenta en la nube y una clave API.
El resumen honesto es que este es el equivalente TTS de un micrófono incorporado decente. Es lo suficientemente bueno que dejes de notar que está ahí, y no lo que usarías para grabar un álbum.
¿Puedes usar el audio comercialmente?
Probablemente, con atribución, y la licencia merece una mirada cuidadosa en lugar de un sí.
El motor de pipa tiene licencia MIT. El modelo aquí está entrenado en Libritts-R, que OpenSLR distribuye como "Licencia: CC por 4.0", y CC por 4.0 Permisos El uso comercial siempre que se dé la atribución.
El cuidado está garantizado porque los metadatos de la cita propia de Libritts-R llevan una cadena de licencia diferente, la variante no derivativa no comercial. Lo más probable es que sea una sobra en una plantilla de cita en lugar de una declaración de intención, y la página de distribución es la señal más fuerte, pero los dos no están de acuerdo y no estoy en condiciones de resolverlo por usted.
Entonces: para cualquier cosa incidental, esta no es una pregunta que alguien le haga. Para un producto comercial basado en el audio, lea usted mismo la licencia del modelo de voz específico y tome consejos en lugar de tomar mi lectura de una página de conjunto de datos.
¿Qué debes comprobar antes de publicar audio?
Cuatro cosas, en el orden se equivocan.
- Escucha todo. Esto suena obvio y se omite de forma rutinaria, y es la única forma de detectar un nombre mal pronunciado.
- Cualquier nombre propio, sigla o unidad. El modelo no tiene diccionario que puedas editar. Si "osei" o "GDPR" sale mal, la solución lo está deletreando fonéticamente en el texto de entrada y acepta que la entrada es ahora fea.
- La longitud, contra la ranura que tiene que llenar. Recuerde que el ritmo solo es libremente controlable, así que deje espacio en lugar de planificar el segundo.
- Convertir antes de subir. 2.6 MB Un minuto de WAV no es lo que quieres en una página web.
¿Por qué se ejecuta en el propio servidor del sitio?
Porque los textos que la gente ha leído en voz alta son con frecuencia su propia escritura inédita.
Un borrador, un guión, una carta de presentación, un discurso, un mensaje que no están seguros de enviar. La alternativa convencional lo contabiliza en un servicio que factura por carácter, mantiene el texto bajo términos que nadie lee y requiere una cuenta antes de la primera palabra.
Aquí va a un contenedor junto a la aplicación web, se síntesis y regresa como un archivo. Los costos son visibles en todas las medidas anteriores: una ranura a la vez, un techo de 3000 caracteres, mono de 22 kHz y una voz que es buena en lugar de transmitir. A cambio, el texto fue leído por una máquina en la que ya estabas confiando la página.



