繁体   English   中英

使用Google Translate API获取单词的发音

[英]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快速启动 )。 本演练需要base64curlgcloudjq

  1. 在GCP控制台上创建项目,或运行类似gcloud projects create example-throwaway-tts
  2. 为项目启用结算 即使您不打算超过免费配额,也要这样做。
  3. 使用GCP控制台为刚刚设置的项目启用TTS API
  4. 再次使用控制台这次是建立一个新的服务帐户
    • 使用任何旧名称
    • 不要发挥作用。 你会收到警告。 这没关系。
    • 如果尚未选择密钥类型JSON,请选择它
    • 单击“ Create
    • 保留浏览器下载的JSON文件
  5. 设置环境变量以指向该文件,例如export GOOGLE_APPLICATION_CREDENTIALS="~/Downloads/service-account-file.json"
  6. 获取适当的访问令牌:
    1. 告诉gcloud使用这个新项目: gcloud config set project example-throwaway-tts
    2. 设置变量TTS_ACCESS_TOKEN=gcloud auth application-default print-access-token
  7. 汇总JSON请求。 我将在下面给出一个例子。 对于此示例,我们将其称为request.json
  8. 最后,运行以下命令

      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 

这是做什么的

  • 使用您设置的项目的默认访问令牌进行身份验证
  • 将内容类型设置为JSON(以便jq可以提取有效负载)
  • 使用request.json作为要使用curl--data-raw标志发送的数据
  • 从响应中提取audioContent的值
  • base64解码该内容
  • 把整个烂摊子当成MP3

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM