Pregunta

Ahora estoy en la búsqueda de un marco de texto a voz de Java (TTS). Durante mis investigaciones he encontrado varios marcos compatibles con JSAPI1.0- (parcialmente) listados en página de Implementaciones JSAPI , así como un par de marcos Java TTS que no parecen seguir la especificación JSAPI ( Mary , Say-It-Now ) . También he notado que actualmente no existe una implementación de referencia para JSAPI.

Las pruebas breves que he realizado para FreeTTS (la primera en la página de herramientas de JSAPI) muestran que está lejos de leer palabras simples y obvias (ejemplos: ABC, pizarra). Otras pruebas están actualmente en curso.

Y aquí va la pregunta (6, en realidad):

  1. ¿Cuál de los marcos TTS basados ??en Java ha utilizado?
  2. ¿Cuáles, según su opinión, son capaces de leer la base de palabras más grande?
  3. ¿Qué pasa con la calidad de su voz?
  4. ¿Qué pasa con su rendimiento?
  5. ¿Qué marcos no Java con enlaces de Java hay en la escena?
  6. ¿Cuál de ellos recomendarías?

Gracias de antemano por sus comentarios y sugerencias.

¿Fue útil?

Solución

En realidad, he tenido buena suerte con FreeTTS

Otros consejos

He usado a Mary antes y me impresionó mucho la calidad de las voces. Desafortunadamente, no he usado ninguno de los otros.

En realidad, no hay una gran opción:

  • Festival, el más antiguo. Escrito en C ++ pero tiene enlaces a Java.
  • eSpeak, rápido y sencillo, utilizado por Google Translate
  • mbrola

Java puro:

  • FreeTTS, cuyo código se portó desde el Festival y luego fue de código abierto y se detuvo el desarrollo.
  • MaryTTS: más potente y se ve listo para la producción.

También hay otros programas propietarios como:

  • Acapella
  • Nuance Vocalizer

Si su software es solo para Windows, puede usar Microsoft Speech API.

He utilizado AT & amp; T Natural Voices que proporciona enlaces JSAPI y MS SAPI. Proporciona voces de excelente calidad, un buen " general " diccionario de habla, muchos controles sobre la pronunciación, y múltiples idiomas. Es un poco caro, pero funciona muy bien.

Lo usé para leer la importante telemetría del sensor a los conductores en una aplicación de sensor móvil. No tuvimos ninguna queja sobre la calidad de la voz. Tenía aproximadamente un 75% de precisión fuera de la caja con términos científicos y mucho más (quizás un 90% +) con diálogos normales. Lo logramos con una precisión de más del 99% mediante el uso de marcas (la mayoría de los errores fueron en términos científicos con combinaciones de fonemas inusuales).

Fue un poco difícil para el procesador (estábamos ejecutando en una máquina equivalente a Pentium-III y estaba impulsando un 50% -75% de CPU de pico). Esto utiliza un motor de voz nativo (compatible con Windows, Linux y Mac) con una interfaz Java.

Hay una gran variedad de voces e idiomas ...

Utilicé FreeTTS pero tuve un gran problema para que las voces de MBrola se ejecutaran en Mi MacbookPro. Obtuve voces de MBrola para ejecutarse en Windows (dolorosamente) y Linux. No he tenido la suerte de cargar ningún otro paquete de voz en FreeTTS, lo cual es una pena porque las voces proporcionadas son horribles de IMO. Aparte de eso, también tuve un poco de éxito con Cloudgarden, pero eso solo se ejecuta en Windows AFAIK. Me interesaría escuchar los éxitos / fracasos de otras personas con los motores de voz, ya que este tipo de trabajo es particularmente desafiante. También estoy jugando un poco con Sphinx4. Apenas bajé JVXML (que parece estar basado en Sphinx4) anoche, pero no pude ejecutarlo por alguna extraña razón.

He contribuido a Mary. Siento que tiene potencial si alguien más inteligente que yo separa las voces de 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).

Muchas gracias a todos, el truco está en la fuente de FreeTTS. Brevemente: si se ejecuta como java -jar freetts.jar some-more-args-here , deletrea palabras menos que cuando se ejecuta de una manera de bin / Server.jar y bin / Client.jar .

Me pareció poco cómodo con MarryTTS Tiene un multilenguaje y una voz clara para entender.

Para convertir una voz a texto, la mejor opción es sphinx4-5prealpha . Doy un pulgar, porque tiene un reconocedor y una gramática ajustables, flexibles y modificables.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top