0

Does anyone know how to implement Text to Speech with Chinese language in iOS?

Any links or suggestions would be helpful.

4

2 回答 2

2

正如 Sten 所说,您可以使用iSpeech。这是相同的答案,更详细:

您可以使用他们的API,但问题是它仅限于每天 200 次使用。

如果您想无限使用,则需要购买。解决这个问题的一种方法是访问他们的演示程序返回的数据(以 mp3 格式返回)。

我编写了一小段代码在 Python 中演示了这一点。Python 可从站点用于 iOS。演示程序一次限制为 20 个单词,因此您的程序必须每 20 个单词拆分一次,并分别输入这些段。以下代码不使用缓冲区,因此段之间可能会有轻微的延迟。

from urllib import quote_plus

def speak(text): 
    import pydshow 
    words = text.split() 
    temp = [] 
    stuff = [] 
    while words: 
        temp.append(words.pop(0)) 
        if len(temp) == 24: 
            stuff.append(' '.join(temp)) 
            temp = [] 
    stuff.append(' '.join(temp)) 
    for i in stuff: 
        pydshow.PlayFileWait('http://api.ispeech.org/api/rest?apikey=8d1e2e5d3909929860aede288d6b974e&format=mp3&action=convert&voice=chchinesemale&text='+quote_plus(i))

if __name__ == '__main__':
       speak('Hello. This is a text-to speech test.')

我觉得这很理想,因为演示程序确实使用了 API,但它使用了用于演示程序的 API 密钥。因此,它永远不会用完。关键是8d1e2e5d3909929860aede288d6b974e。此外,该程序非常简单,可以适应任何编程语言。

您实际上可以在没有程序的情况下在工作中测试它,方法是在地址栏中输入以下内容:

http://api.ispeech.org/api/rest?apikey=8d1e2e5d3909929860aede288d6b974e&format=mp3&action=convert&voice=chchinesemale&text=Hello

以下是您可以根据自己的需要定制的方法:

http://api.ispeech.org/api/rest?apikey=8d1e2e5d3909929860aede288d6b974e&format=mp3&action=convert&voice=chchinesemale&text=

后面跟着你要说的文字。在这种情况下,您还可以通过将 更改chchinesemale为 iSpeech 提供的其他内容来调整性别。例如,chchinesefemale。这将使用相同的文本,但使用女性声音。可以在此处找到有关代码的规范。

希望我有所帮助!

注意:Pydshow 是我对 DirectShow 的封装,它仅适用于 Windows。如果您选择此方法,则必须为 iOS 找到替代方法。

于 2012-05-22T16:17:46.977 回答
1

iSpeech 可以处理中文,对于较短的消息是免费的,而且效果很好。但是,语音在线呈现,因此您需要连接。你可以在这里测试声音:

于 2012-05-08T11:42:10.750 回答