2008-09-27 34 views
45

Ahora estoy en la búsqueda de un marco de trabajo de Java Text to Speech (TTS). Durante mis investigaciones, he encontrado varios frameworks compatibles con JSAPI1.0 (parcialmente) enumerados en JSAPI Implementations page, 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.Java: Descripción general de los motores de texto a voz

Las breves pruebas que he hecho para FreeTTS (la primera enumerada en la página JSAPI impls) 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):

  1. ¿Cuál de los marcos TTS basados ​​en Java ha utilizado?
  2. ¿Cuáles, en 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é hay de su rendimiento?
  5. ¿Qué frameworks no Java con enlaces Java hay en la escena?
  6. ¿Cuál de ellos recomendaría?

Gracias de antemano por sus comentarios y sugerencias.

+0

Consulte [estas preguntas frecuentes de JSAPI y la lista de implementaciones] (http://www.oracle.com/technetwork/java/jsapifaq-135248.html), en el sitio de Oracle. –

Respuesta

18

De hecho, he tenido muy buena suerte con FreeTTS

+2

No lo hice. Llega al error de sonido de Linux Java, descrito aquí http://stackoverflow.com/questions/2486985/freetts-problem-in-java –

+4

A partir de 2014 FreeTTS parece muerto. (Http://en.wikipedia.org/wiki/ FreeTTS) – Stephan

+0

FreeTTS no puede registrar ninguna voz de MBROLA al lado de las de EE. UU. Aunque ofrezcan otras voces en su página. Total falla, no puedo recomendarlo en absoluto. – jAC

6

He usado Mary antes y quedé muy impresionado con la calidad de las voces. Lamentablemente, no he usado ninguno de los otros.

+3

Mary no es fácil de usar. Está poco documentado y el proceso de instalación es abismal (espacios en nombres de directorio, lo que impide que los archivos de clase se encuentren en sistemas basados ​​en Unix). –

+2

http://mary.dfki.de/ –

+0

Probé con diferentes soluciones TTS y finalmente me quedé con MaryTTS. Funciona bastante bien y la configuración con Maven no es tan difícil. Lo puedo recomendar – jAC

1

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.

4

He usado 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).

Ha sido 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 ...

1

Solía ​​FreeTTS pero tenía un problema importante conseguir las voces Mbrola se ejecute 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.

1

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

3

En realidad, no es una gran elección:

  • Festival, la mayoría de edad. Escrito en C++ pero tiene enlaces a Java.
  • eSpeak, qucik y simple, utilizado por Google Translate
  • mbrola

puro Java:

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

También hay otros programas propietarios como:

  • Acapella
  • Nuance Vocalizer

Si el software es sólo para Windows, puede utilizar la API de Microsoft Speech.

0

Encontré poco cómodo con MarryTTS Tiene una voz clara y multilenguaje para comprender.

T conversión de voz a texto, la mejor opción es sphinx4-5prealpha. Doy un pulgar, porque tiene ajustable, flexibilidad y reconocedor y gramómetro modificables.

Cuestiones relacionadas