我正在为我的儿子写一个拼写单词申请,并希望推荐好的API,这些API可以在讲话时理解。我正在使用.Net进行编程,因此与其互操作的东西会很方便。提前谢谢。
答案 0 :(得分:10)
MS Speech SDK。 它通过.NET程序集公开。非常好用。我的孩子喜欢它。免费。
using System.Speech.Synthesis;
public class SpeakHelloWorld
{
public static void Main(string[] args)
{
SpeechSynthesizer synthesizer = new SpeechSynthesizer();
synthesizer.Speak("As for me and my house, ...");
}
}
上面代码生成的声音不会使用自然变形,暂停等等。因此,如果有一个完整的句子,它就不会出现人类的声音。但单个单词听起来不错,只是机器人。
对于一个小孩子,用一套足够小的单词,你可能只想记录自己的声音来说出这些单词。我用一个美国州的谜题做了那个,发音州名,而不是求助于合成器。
答案 1 :(得分:4)
不知道为什么我在之前没有想到这个 -
我正在做一个字典查找工具,并希望为其添加发音。我采用了不同的方法,而不是使用发出机器人声音的文字转语音。对于大多数单词,M-W.com在.wav文件中捕获了人声。所以我在屏幕上搜索Merriam-Webster网站以获取该单词的wav文件,然后只播放那个。如果你的应用程序将被连接,那么也许这对你也有用。
这是它经历的流程:
pronouncing Tricky...looking up 'Tricky'...
dictionary page: http://www.merriam-webster.com/dictionary/Tricky
got dictionary page markup, 35828 chars...
getting pronunciation uri...
got uri: 'http://www.merriam-webster.com//cgi-bin/audio.pl?tricky01.wav=tricky'...
getting page markup...
got pronunciation page markup, 3498 chars...
getting wav uri...
got wav uri: 'http://media.merriam-webster.com/soundc11/t/tricky01.wav'...
getting wav data...
got wav data, 6260 bytes...
playing wav data.
done.
这是some prototype source code that does it。
这适用于.NET Framework 2.0,也适用于.NET CF 2.0。这只是一个例子。当有多个单词形式和多个发音时,选择正确的.wav文件有点天真。如果你要求复数形式,你可能得不到它。此外,您可能希望添加缓存和其他异常处理以加强它。