簡體   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