iPhone - 用于文本到语音的API功能

时间:2009-07-09 07:00:11

标签: iphone api text-to-speech

我想知道iPhone是否有支持文字转语音功能的API?我环顾四周但找不到任何东西,所以只想确认一下。

满怀期待。

13 个答案:

答案 0 :(得分:31)

我曾经遇到过这个问题,并在iPhone上运行Flite(festival lite)文本到语音引擎。我最近为它制作了一个API类。我试图简单(和免费)添加到新的和现有的项目。它可以在here下载。

答案 1 :(得分:11)

iPhone 3G S拥有专用的VoiceServices框架,可以做到这一点。 Steve Troughton-Smith描述了如何使用私有类VSSpeechSynthesizer here,但是你几乎没有机会将这些内容用于App Store。

答案 2 :(得分:7)

对于iOS 5或6 - 没有任何内置功能。您需要使用第三方库。

对于iOS 7,有一个AVSpeechSynthesizer API。

这是一个简单的例子:

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

答案 3 :(得分:5)

OpenEars是一个开源iOS库,用于在iPhone和iPad上实现往返英语语音识别和文本到语音转换,它使用CMU Pocketsphinx,CMU Flite和MITLM库。 / p>

答案 4 :(得分:3)

我找到了this,但我还没有尝试过。

答案 5 :(得分:2)

API文档会建议API不可用。

答案 6 :(得分:2)

您可能还想查看this

它使用Flite。它不包含具体说明,但它可以为您提供想法。

答案 7 :(得分:1)

对于iOS 5或6 - 没有任何内置功能。您需要使用第三方library

对于iOS 7,有一个AVSpeechSynthesizer API。

源代码也可在Github中找到

请参阅以下链接

答案 8 :(得分:0)

这是可能的,但你必须自己动手。我看过一个应用程序这样做。

答案 9 :(得分:0)

我是在iPhone 2.0推出之前将espeak移植到平台上的。我将它用作命令行实用程序,但应该可以将其作为库。

答案 10 :(得分:0)

答案 11 :(得分:0)

Google TTS限制为100个字符。

因此,您应该将长句分成小的100个字符块并将其传递给Google TTS方法。

您可以通过实施以下步骤来实现这一目标。

  • 将你的长句分成小的100个字符块。
  • 使用第一个拆分的100个字符串来调用Google TTS。
  • 使用Google TTS& amp; AVAudioPlayer
  • 实施AVAudioPlayer audioPlayerDidFinishPlaying委托。
  • 在该代表中,使用第二个拆分100个字符调用Google TTS 字符串。
  • 递归调用该进程,直到到达最后一个字符。

这是最适合我的Google-TTS-Library-For-iOS library尝试一下:)

答案 12 :(得分:-2)

有一款直接TTS的Iphone应用,在Itunes上搜索“TTSMessenger”