2012-04-17 11 views
5

Actualmente estoy haciendo un proyecto para la escuela, donde voy a hacer un programa que enseña a los niños a leer. Mi idea básica para el programa fue producir la oración y luego obtener que Windows Anna lo dijera. Mi pregunta es: ¿cómo puedo acceder a Winodws Anna a través de Java? y hay una mejor manera de hacer esto?Fonética Java o pronunciación del lenguaje

Gracias

+0

¿Te refieres a esto por java api para el sonido: http://java.sun.com/products/java-media/speech/index.jsp? – Weeman

+0

En realidad [hay una solución] [1] para llamar al sintetizador Windows que ya está allí. [1]: http://stackoverflow.com/questions/1040655/ms-speech-from-command-line – npe

+0

tengo una pregunta: ¿Este programa permitió acceder a internet? – Xyene

Respuesta

3

Si tiene acceso al programa de internet es aceptable, entonces puede usar iSpeech.

Puede usar su API, pero el problema es que está limitado a 200 usos/día.

iSpeech tiene voces que suenan decentemente, generalmente más pulidas que otros motores TTS que he cansado como espeak o FreeTTS, porque realmente pronuncia las palabras con más fluidez. Claro, podría pronunciar 'Viento', relacionado con el aire, como 'Viento', relacionado con la torsión, pero aparte de eso, habla bastante bien.

Además, aunque no he tenido ninguna experiencia previa con esto, encontré un artículo que le muestra cómo acceder al MS Speech con línea de comandos (que obviamente se puede ordenar a través de Java [si no sabe cómo, aquí hay un buen article]). Se encuentra ubicado en here. En la línea de comandos, lo único que hacer es escribir '* SayDynamic.exe el texto que desea hablar".

* O SayStatic, el otro de descarga disponible en la página.

Este método parece ser mejor en términos de velocidad y no depender de acceso a Internet, pero definitivamente NO pronuncia cosas tan bien como iSpeech. Supongo que lo ideal para su programa sería usar iSpeech cuando está en línea, y usar el Say * .exe cuando no está conectado.

El sitio también proporciona el código fuente del programa. Como puede observar, NO es la voz de Microsoft Anna, pero puede especificarla en el origen y volver a compilarla.

Espero que haya ayudado!

+0

Sí, este programa puede acceder a Internet. –

+0

OK. ¿Me ayudó mi respuesta? – Xyene

+0

Hola, no puedo abrir tu enlace donde se muestra cómo usar MS speech. –

1

Puede utilizar utiity línea de comandos que utiliza NirCmd instalado en Windows API de conversión de texto a voz.

Proporcione esta utilidad junto con su aplicación Java y ejecútela con la línea de comando adecuada.

+0

Este programa no dice todo el texto. ¿Tienes una alternativa a esto? –

0

Puede probar FreeTTS: un sintetizador de voz escrito en java.

Puede intentar llamar a Microsoft Speech API (SAPI) pero no sé cómo hacerlo en Java.

¿Puede decirnos cómo invoca a NirCmd? Alternativamente a NirCmd, puede construir su propia herramienta en C# que leerá el texto. El texto podría estar dentro de un txt y su herramienta invocada con la ruta a ese txt como argumento. Puede adaptarse fácilmente un proyecto de demostración como ésta: http://www.codeproject.com/Articles/19334/Text-to-Speech-using-Windows-SAPI

+0

Disculpa la respuesta demorada, pero me invocaron NirCmd con Runtime.exec(), ¿hay algún método alternativo? –

+0

Estoy hablando de los argumentos. Pruebe con los argumentos de "speak file". – Guillaume

Cuestiones relacionadas