java - texto - voces mbrola
Java: Visión general de los motores de texto a voz (9)
Ahora estoy buscando un marco de texto de Java a voz (TTS). Durante mis investigaciones, he encontrado varios frameworks compatibles con JSAPI1.0 (parcialmente) enumerados en la página Implementaciones JSAPI , así como un par de frameworks Java TTS que no parecen seguir las especificaciones JSAPI ( Mary , Say-It-Now ) . También noté que actualmente no existe implementación de referencia para JSAPI.
Las breves pruebas que hice para FreeTTS (la primera listada en la página de impls de JSAPI) muestran que está lejos de leer palabras simples y obvias (ejemplos: ABC, pizarra). Otras pruebas están actualmente en progreso.
Y aquí va la pregunta (6, en realidad):
- ¿Cuál de los frameworks TTS basados en Java ha usado?
- ¿Cuáles, según tu opinión, son capaces de leer la base de palabras más grande?
- ¿Qué pasa con la calidad de su voz?
- ¿Qué hay de su rendimiento?
- ¿Qué frameworks no Java con enlaces Java están ahí en la escena?
- ¿Cuál de ellos recomendarías?
Gracias de antemano por sus comentarios y sugerencias.
De hecho, he tenido mucha suerte con FreeTTS
En realidad, no hay una gran opción:
- Festival, más viejo. Escrito en C ++ pero tiene enlaces a Java.
- eSpeak, qucik y simple, utilizado por Google Translate
- mbrola
Pure Java:
- FreeTTS, cuyo código fue portado desde Festival, y luego fue de código abierto y se detuvo el desarrollo.
- MaryTTS: más potente y parece listo para producción.
También hay otros programas propietarios como:
- Acapella
- Nuance Vocalizer
Si su software es solo Windows, puede usar Microsoft Speech API.
Encontré poco cómodo con Mary Tiene una voz clara y multilenguaje para entender.
Para convertir el habla en texto, la mejor opción es sphinx4-5prealpha . Doy un pulgar, porque tiene ajustable, flexible y reconocedor y gramómetro modificables.
Google Translate tiene una API secreta api: https://translate.google.com/translate_tts?ie=utf-8&tl=en&q=Hello%20World
He contribuido a Mary. Siento que tiene potencial si alguien más inteligente que yo separa las voces HMM del núcleo (esas voces no necesitan grandes conjuntos de datos y suenan bien). También estoy tratando de hacer un sistema de eventos para enviar eventos cuando dice una palabra. He tenido éxito, pero ahora está roto en Linux. (probablemente debido a un error del temporizador).
He usado a Mary anteriormente y quedé muy impresionado con la calidad de las voces. Lamentablemente, no he usado ninguno de los otros.
Usé FreeTTS pero tuve un gran problema para que las voces de MBrola se ejecutaran en Mi MacbookPro. Obtuve voces de MBrola para ejecutar en Windows (dolorosamente) y Linux. No he tenido suerte cargando otros paquetes de voz en FreeTTS, lo cual es una lástima porque las voces provistas son IMO horribles. Fuera de eso tuve un pequeño éxito con Cloudgarden también, pero eso solo funciona en Windows AFAIK. Me interesaría escuchar otros éxitos / fracasos con los motores de voz ya que este tipo de trabajo es particularmente desafiante. También estoy jugando un poco con Sphinx4. Acabo de sacar JVXML (que parece estar basado en Sphinx4) ayer por la noche pero no pude hacerlo funcionar por alguna extraña razón.
Utilicé AT & T Natural Voices, que proporciona los ganchos JSAPI y MS SAPI. Proporciona voces de excelente calidad, un buen diccionario de voz "general", muchos controles sobre la pronunciación y múltiples idiomas. Es un poco caro, pero funciona muy bien.
Lo usé para leer la telemetría del sensor importante a los conductores en una aplicación de sensor móvil. No tenemos quejas sobre la calidad de la voz. Tenía aproximadamente un 75% de precisión de fábrica con términos científicos y un nivel mucho más alto (quizás un 90% o más) con un diálogo normal. Logramos hasta aproximadamente el 99% de precisión mediante el uso de marcas (la mayoría de los errores estaban en términos científicos con combinaciones inusuales de fonemas).
Fue un poco difícil para el procesador (estábamos usando una máquina equivalente Pentium-III y estaba presionando un 50% -75% de CPU pico). Utiliza un motor de voz nativo (compatible con Windows, Linux y Mac) con una interfaz Java.
Hay una gran variedad de voces e idiomas ...
Muchas gracias a todos, el truco está en la fuente FreeTTS. Brevemente: si se ejecuta como java -jar freetts.jar some-more-args-here
, deletrea palabras menores que cuando se ejecuta de una manera bin / Server.jar y bin / Client.jar.