在我的webapp中,我试图调用向Google API发出HTTP请求,该API接受一些文本(例如"Hello World")并返回具有语音等效的MP3文件。
我看到了这个问题:谷歌文本到语音的api似乎不起作用。这个谷歌页面:https://cloud.google.com/translate/docs/。
还有很多其他的页面似乎已经过时了——看起来这个功能已经被谷歌删除了,或者是在另一个休息电话下?
我没有看到关于如何调用TTS的Google API的任何文档(例如Google Translate API https://cloud.google.com/translate/)。我有一个谷歌云API帐户和密钥。
谢谢,丹
Google Text-to-Speech是Android平台上开发的一款屏幕阅读器应用程序,目前还不能作为Google云平台的一部分使用。
另一方面,谷歌翻译分为一个网站插件和一个基于网络的应用程序,拥有一个名为"听"的功能。此功能可用于通过音频播放翻译的输出,但目前无法以MP3格式下载。
重要的是不要混淆作为云平台一部分可用的云翻译API和用于将text-based
输入从一种受支持的语言翻译成另一种语言。
最后,如果你有兴趣看到这种类型的API可用作为谷歌云平台的一部分,你可以在这个谷歌公共问题跟踪器上提交一个新的功能请求问题。
Google最近发布了Google Cloud Text To Speech API。
。. NET Google.Cloud.TextToSpeech的客户端版本可以在这里找到:https://github.com/jhabjan/Google.Cloud.TextToSpeech.V1
下面是如何使用客户端的简短示例:
GoogleCredential credentials =
GoogleCredential.FromFile(Path.Combine(Program.AppPath, "jhabjan-test-47a56894d458.json"));
TextToSpeechClient client = TextToSpeechClient.Create(credentials);
SynthesizeSpeechResponse response = client.SynthesizeSpeech(
new SynthesisInput()
{
Text = "Google Cloud Text-to-Speech enables developers to synthesize natural-sounding speech with 32 voices"
},
new VoiceSelectionParams()
{
LanguageCode = "en-US",
Name = "en-US-Wavenet-C"
},
new AudioConfig()
{
AudioEncoding = AudioEncoding.Mp3
}
);
string speechFile = Path.Combine(Directory.GetCurrentDirectory(), "sample.mp3");
File.WriteAllBytes(speechFile, response.AudioContent);