iOS中的中文文本到语音

时间:2012-05-02 11:50:09

标签: ios text-to-speech

有谁知道如何在iOS中用中文实现Text to Speech?

任何链接或建议都会有所帮助。

2 个答案:

答案 0 :(得分:2)

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

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

如果您想无限制使用,则需要购买。解决这个问题的一种方法是访问由demo program返回的数据(以mp3格式返回)。

我制作了一小段代码,用Python演示了这一点。 Python可从this站点用于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。这将是相同的文字,但在女性的声音。可以在here找到代码规格。

希望我帮忙!

注意:Pydshow是我的DirectShow包装器,它只支持Windows。如果选择此方法,则必须为iOS找到替代方案。

答案 1 :(得分:1)

iSpeech可以处理中文,免费提供短信,效果很好。然而,在线呈现的语音,所以你需要一个连接。您可以测试语音here