iPhone - 用于文本到语音功能的 API [关闭]

Posted

技术标签:

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

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

期待中的感谢。

【问题讨论】:

这里是列表...***.com/questions/12839671/… 【参考方案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】:

你可以尝试使用google tts:

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

还有其他一些人:

http://www.ispeech.org/api

http://tts-api.com/

【讨论】:

【参考方案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”

【讨论】:

以上是关于iPhone - 用于文本到语音功能的 API [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用 iphone sdk 的文本到语音

使用 Angular 在 iPhone 版 Safari 中的语音转文本

如何在 iPhone 中进行语音到文本的转换

文本到语音(语音生成)和语音到文本(语音识别)API?

文本转音频(百度语音合成api)(python)

iPhone上的文字转语音[关闭]