[英]Getting pronunciation of a word using Google Translate API
我试图将法语单词的发音保存为.wav或.mp3文件。
我想知道Google Translate API上是否有任何地方(因为它具有发音功能),这使我能够实现这一目标。 其他图书馆也可以。
Speech Synthesis API (正在开发中)提供了类似的功能。 第三方库已经存在,例如ResponsiveVoice.JS 。
自从提出这个问题以来,从谷歌翻译中“刮掉”MP3变得更加困难,但谷歌(终于)设置了一个TTS API 。 有趣的是,它是用输入字符计费的,每月前1或4百万个输入字符是免费的(取决于你使用的是WaveNet还是旧学校的声音)
现在要在命令行上使用gcloud
(而不是将其构建到应用程序中),您可以大致如下(我正在解释TTS快速启动 )。 本演练需要base64
, curl
, gcloud
和jq
。
gcloud projects create example-throwaway-tts
Create
export GOOGLE_APPLICATION_CREDENTIALS="~/Downloads/service-account-file.json"
gcloud
使用这个新项目: gcloud config set project example-throwaway-tts
TTS_ACCESS_TOKEN=gcloud auth application-default print-access-token
request.json
最后,运行以下命令
curl \\ -H "Authorization: Bearer "$TTS_ACCESS_TOKEN \\ -H "Content-Type: application/json; charset=utf-8" \\ --data-raw @request.json \\ "https://texttospeech.googleapis.com/v1/text:synthesize" \\ | jq '.audioContent' \\ | base64 --decode > very_simple_example.mp3
这是做什么的
jq
可以提取有效负载) request.json
作为要使用curl
的--data-raw
标志发送的数据 audioContent
的值 base64
解码该内容 request.json
内容如下。 您可以通过audioConfig查看插入所需文本的位置,调整语音或更改输出格式:
{
'input':{
'text':'very simple example'
},
'voice':{
'languageCode':'en-gb',
'name':'en-GB-Standard-A',
'ssmlGender':'FEMALE'
},
'audioConfig':{
'audioEncoding':'MP3'
}
}
原始答案
正如Hugolpz所说,如果你知道你想要的单词或短语(通过之前的Translate API调用),你可以从http://translate.google.com/translate_tts?ie=UTF-8&q=Bonjour&tl=这样的网址获取MP3。 FR
请注意, &tl=fr
确保您获得法语而不是默认英语。
您需要对自己进行限价,但如果您正在寻找少量的单词或短语,那么您应该没问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.