【问题标题】:iPhone - API for Text to Speech feature [closed]iPhone - 用于文本到语音功能的 API [关闭]
【发布时间】:2010-11-09 06:57:32
【问题描述】:

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

期待中的感谢。

【问题讨论】:

标签: iphone api text-to-speech


【解决方案1】:

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

【讨论】:

  • 它适用于小文本说话。你知道任何可以处理大量数据的方法吗,比如阅读整个文档……
  • 这很好用,但声音非常“机器人”。他们发出了一些新的高质量声音,cstr.ed.ac.uk/projects/festival/onlinedemo.html。我想你用的是双音素的声音。您是如何将这些转换为 .c 文件的?
  • 我是否从许可证中正确理解该项目也可以用于商业应用?
  • 这个库有问题,在设备上速度很慢(在听到语音之前有很长的延迟)。这可能不是您要寻找的答案。
  • 它支持多少种语言?
【解决方案2】:

iPhone 3G S 具有可以执行此操作的私有 VoiceServices 框架。 Steve Troughton-Smith 描述了如何使用私有类 VSSpeechSynthesizer here,但您几乎没有机会在 App Store 中使用它。

【讨论】:

  • 啊...我在找什么。但如果它的使用如此有限且令人怀疑(w.r.t. App Store 接受度),则不是很有用:(谢谢。
【解决方案3】:

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

对于 iOS 7,有一个 AVSpeechSynthesizer API。

这是一个简单的例子:

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

【讨论】:

    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

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

      【讨论】:

      • iSpeech 实际上是相当不错且价格合理的商业用途解决方案。我使用它,并且可以推荐它。
      • 这只是云解决方案。只是一个旁注。
      【解决方案6】:

      API 文档会建议 API 不可用。

      【讨论】:

        【解决方案7】:

        您可能还想看看this

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

        【讨论】:

        • 我尝试测试过一次,但出现了一大堆编译器错误,2小时后,我放弃了:)
        【解决方案8】:

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

        对于 iOS 7,有一个 AVSpeechSynthesizer API。

        Github 中也有源代码

        参考以下链接

        【讨论】:

          【解决方案9】:

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

          【讨论】:

            【解决方案10】:

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

            【讨论】:

              【解决方案11】:

              【讨论】:

                【解决方案12】:

                Google TTS 限制为 100 个字符。

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

                您可以通过执行以下步骤来实现此目的。

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

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

                【讨论】:

                  【解决方案13】:

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

                  【讨论】:

                    猜你喜欢
                    • 2011-04-05
                    • 2011-07-23
                    • 2011-10-26
                    • 2011-06-08
                    • 1970-01-01
                    • 1970-01-01
                    • 2015-01-07
                    • 1970-01-01
                    相关资源
                    最近更新 更多