[英]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.