32

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

期待中的感谢。

4

13 回答 13

30

我有一次遇到了这个问题,并在 iPhone 上运行了 Flite (festival lite) 文本到语音引擎。我最近为它制作了一个 API 类。我试图让添加新项目和现有项目变得容易(并且免费)。它可以在这里下载。

于 2010-03-21T10:15:04.643 回答
11

iPhone 3G S 有可以做到这一点的私有语音服务框架。Steve Troughton-Smith在此处描述了如何使用私有类 VSSpeechSynthesizer ,但是您几乎没有机会在 App Store 中使用它。

于 2009-07-09T12:29:20.463 回答
7

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

对于 iOS 7,有一个AVSpeechSynthesizer API。

这是一个简单的例子:

AVSpeechUtterance *utterance = [AVSpeechUtterance 
                                speechUtteranceWithString:@"Hello world"];
AVSpeechSynthesizer *synth = [[AVSpeechSynthesizer alloc] init];
[synth speakUtterance:utterance];
于 2013-11-22T09:28:12.317 回答
5

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

于 2011-06-03T10:14:12.670 回答
3

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

于 2011-06-03T06:40:35.187 回答
2

API 文档会建议 API 不可用。

于 2009-07-09T07:24:18.900 回答
2

您可能还想看看这个

它使用 Flite。它不包含具体的说明,但它可以给你一些想法。

于 2009-10-21T20:22:18.850 回答
1

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

对于 iOS 7,有一个AVSpeechSynthesizer API。

源代码也可以在 Github 中找到

请参考以下链接

于 2013-11-27T08:29:07.497 回答
0

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

于 2009-07-09T09:57:53.010 回答
0

在 iPhone 2.0 出来之前,我通过将 espeak 移植到平台上来做到这一点。我将它用作命令行实用程序,但应该可以将其制成库。

于 2009-10-16T18:42:15.747 回答
0

你可以尝试使用google tts:

http://translate.google.com/translate_tts?tl=en&q=hello

和其他一些:

http://www.ispeech.org/api

http://tts-api.com/

于 2012-12-17T11:00:16.497 回答
0

Google TTS 限制为 100 个字符。

所以你应该把你的长句子分成 100 个字符的小块,然后将它传递给 Google TTS 方法。

您可以通过执行以下步骤来实现这一点。

  • 将你的长句分成 100 个字符的小块。
  • 使用第一个拆分 100 个字符的字符串调用 Google TTS。
  • 使用 Google TTS 和 AVAudioPlayer 播放
  • 实现 AVAudioPlayer audioPlayerDidFinishPlaying 委托。
  • 在该委托中,使用第二个拆分为 100 个字符的字符串调用 Google TTS。
  • 递归调用该过程,直到到达最后一个字符。

这是对我来说最好的一个Google-TTS-Library-For-iOS 库试试吧:)

于 2013-08-30T15:33:31.900 回答
-2

有一个 Iphone 应用程序可以直接 TTS,在 Itunes 上搜索“TTSMessenger”

于 2010-01-27T21:38:02.357 回答