2009-07-09 17 views
34

Me preguntaba si iPhone tiene alguna API que admita la función Texto a voz. Miré a mi alrededor pero no pude encontrar ninguno, así que solo quiero confirmarlo.iPhone - API para la función Texto a voz

Agradecimiento en anticipación.

+0

Aquí está la lista ... http://stackoverflow.com/questions/12839671/text-to-speech-libraries-for- iphone/12839821 # 12839821 –

Respuesta

32

me encontré con este problema en un momento dado, y me Flite (festival de lite) de texto a voz motor funcionando en el iPhone. Hace poco hice una clase de API para eso. Traté de facilitar (y liberar) agregar proyectos nuevos y existentes. Se puede descargar al here.

+0

Funciona como un encanto. – Mustafa

+0

Funciona muy bien con texto pequeño para hablar. ¿sabes algo que funcione incluso para grandes porciones de datos como leer un documento completo ... –

+0

Esto funciona muy bien, pero las voces son muy "robóticas". Hicieron algunas nuevas voces de alta calidad, http://www.cstr.ed.ac.uk/projects/festival/onlinedemo.html. Supongo que usaste las voces diphone. ¿Cómo los convirtió a archivos .c? – WYS

2

Los documentos de la API sugerirían que la API no está disponible.

+0

Gracias por la confirmación. – Mustafa

0

Esto es posible, pero tendrá que hacer el suyo. He visto una aplicación hacer esto.

11

El iPhone 3G S tiene el marco de VoiceServices privado que puede hacer esto. Steve Troughton-Smith describe cómo usar la clase privada VSSpeechSynthesizer here, pero tiene pocas posibilidades de obtener algo usando esto en la App Store.

+0

Ah ... Lo que estaba buscando. Pero no es muy útil si su uso es tan limitado, y dudoso (aceptación de la tienda App Store) :( Gracias. – Mustafa

0

Lo hice antes de que el iPhone 2.0 saliera portando espeak a la plataforma. Lo usé como una utilidad de línea de comandos, pero debería ser posible convertirlo en una biblioteca.

2

Es posible que también desee echar un vistazo a this.

Utiliza Flite. No contiene instrucciones específicas pero puede darte ideas.

+0

Traté de probarlo una vez, pero había una red de errores de compilación, y después de 2 horas, di up :) – Mustafa

-3

Hay una aplicación Iphone que hace TTS directos, busque "TTSMessenger" en Itunes

3

Encontré this pero todavía no lo he probado.

+0

iSpeech es en realidad una solución bastante agradable y asequible para uso comercial. Lo uso, y puedo recomendarlo. –

+0

Esta es solo una solución en la nube. Solo una nota al margen. –

5

OpenEars es una biblioteca iOS de código abierto para implementar el reconocimiento de voz en inglés de ida y vuelta y el texto a voz en el iPhone y iPad, que utiliza las bibliotecas CMU Pocketsphinx, CMU Flite y MITLM.

0

Google TTS limitado a 100 caracteres.

Así que debe dividir su oración larga en trozos pequeños de 100 caracteres y pasarla al método Google TTS.

Puede lograrlo implementando los siguientes pasos.

  • Divida su oración larga en pequeños trozos de 100 caracteres.
  • Llame a Google TTS con la primera cadena de 100 caracteres.
  • Jugar con Google TTS & AVAudioPlayer
  • Implementar AVAudioPlayer audioPlayerDidFinishPlaying delegate.
  • En ese delegado, llame a Google TTS con la segunda secuencia de 100 caracteres .
  • Llame el proceso recursivamente hasta alcanzar el último carácter.

Aquí es mejor para mí Google-TTS-Library-For-iOS library probarlo :)

7

Para iOS 5 o 6 - nada incorporado. Necesita usar una biblioteca de terceros.

Para iOS 7 hay una API AVSpeechSynthesizer.

Aquí está un ejemplo sencillo:

AVSpeechUtterance *utterance = [AVSpeechUtterance 
           speechUtteranceWithString:@"Hello world"]; 
AVSpeechSynthesizer *synth = [[AVSpeechSynthesizer alloc] init]; 
[synth speakUtterance:utterance]; 
1

Para iOS 5 o 6 - nada incorporado. Necesita utilizar un tercero library.

Para iOS 7 hay una API AVSpeechSynthesizer.

código fuente también está disponible en Github

Consulte el siguiente enlace