在我的网络应用程序中,我尝试向Google API发出HTTP请求,该API需要一些文本(例如" Hello World")并返回一个语音等效的MP3文件。
我见过这个问题:Google text to speech tts api doesn't seems to work。这个谷歌页面: https://cloud.google.com/translate/docs/。
还有很多其他网页看起来已经过时了 - 看起来这个功能已被谷歌删除或者正在进行不同的休息通话?
我没有看到有关如何为TTS调用google api的任何文档(例如Google翻译API https://cloud.google.com/translate/)。我有一个谷歌云API帐户和密钥。
谢谢, 丹
答案 0 :(得分:6)
Google文字转语音是在Android平台上开发和提供的屏幕阅读器application,目前无法作为Google Cloud Platform的一部分提供。
另一方面,Google Translate分为网站add-on和基于网络的application,其中包含一项名为“收听”的功能。此功能可用于通过audito播放翻译输出,但目前无法以MP3格式下载。
重要的是不要混淆云平台API作为云平台的一部分,并将text-based
输入从支持的language转换为另一个。
最后,如果您有兴趣将此类型的API作为Google云端平台的一部分提供,则可以针对此Google公共问题Tracker提交新的功能请求问题。
答案 1 :(得分:5)
Google刚刚发布了Cloud Text-to-speech API。
答案 2 :(得分:1)
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);