Pergunta

Eu queria saber se o iPhone tem qualquer API que suporta texto para voz? Olhei em volta, mas não conseguiu encontrar nenhum, então só quero confirmar.

Agradecendo em antecipação.

Foi útil?

Solução

Eu corri para este problema em um ponto, e tem Flite (festival lite) de texto para motor de voz em execução no iPhone. Eu fiz recentemente uma classe API para ele. Tentei tornar mais fácil (e gratuito) para adicionar a projetos novos e existentes. Ele pode ser baixado em aqui .

Outras dicas

O iPhone 3G S tem a estrutura privada VoiceServices que pode fazer isso. Steve Troughton-Smith descreve como usar a classe privada VSSpeechSynthesizer aqui , mas você tem pouca chance de conseguir algo usando isso na App Store.

Para iOS 5 ou 6 - nada embutido. Você precisa usar uma biblioteca de terceiros.

Para iOS 7 há um AVSpeechSynthesizer API.

Aqui está um exemplo simples:

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

OpenEars é um open-source biblioteca iOS para a implementação de ida e volta Inglês reconhecimento de voz linguagem e texto -para-voz no iPhone e iPad, que usa o CMU Pocketsphinx, CMU Flite e bibliotecas MITLM.

este , mas eu não tentei ainda.

Os docs API sugeriria que a API não está disponível.

Você também pode querer ter um olhar para este .

Ele usa Flite. Ele não contém instruções específicas, mas pode dar-lhe ideias.

Para iOS 5 ou 6 - nada embutido. Você precisa usar um terceiro biblioteca .

Para iOS 7 há um AVSpeechSynthesizer API.

Source Code também disponível no Github

Consulte o link abaixo

Isso é possível, mas você vai ter que rolar o seu próprio. Eu vi um app fazer isso.

Eu fiz isso antes iPhone 2.0 saiu por portar espeak para a plataforma. Usei-o como um utilitário de linha de comando, mas deve ser possível fazê-lo em uma biblioteca.

O Google TTS limitado a 100 caracteres.

Assim que você deve dividir-up sua longa sentença para pequenas 100 pedaços de caracteres e passá-lo para o método Google TTS.

Você pode conseguir isso através da implementação de passos abaixo.

  • Split-up sua longa sentença para pequenas 100 pedaços de caracteres.
  • Chamada Google TTS com a primeira cadeia de caracteres de divisão 100.
  • Jogá-lo usando o Google TTS & AVAudioPlayer
  • Implementar AVAudioPlayer audioPlayerDidFinishPlaying delegado.
  • Na esse delegado, chamada Google TTS com fração de segundo de 100 caracteres string.
  • Chame o processo recursivamente até que alcance o último caractere.

Aqui é melhor para mim biblioteca Google-TTS-Library-For-iOS experimentá-lo:)

Há um aplicativo para iPhone que faz TTS diretos, procure por "TTSMessenger" na Itunes

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top