フランス語の単語の発音を .wav または .mp3 ファイルに保存しようとしています。
この目的を達成できる Google Translate API のどこかに (発音機能があるため) はないかと考えていました。他のライブラリも機能します。
フランス語の単語の発音を .wav または .mp3 ファイルに保存しようとしています。
この目的を達成できる Google Translate API のどこかに (発音機能があるため) はないかと考えていました。他のライブラリも機能します。
この質問が出されて以来、Google 翻訳から MP3 を「スクレイピング」することは非常に難しくなっていますが、Google は (ついに) TTS APIをセットアップしました。興味深いことに、入力文字数で課金され、最初の 1 か月あたり 100 万または 400 万の入力文字は無料です (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= のような URL から MP3 を取得できます。フランス
&tl=fr
デフォルトの英語の代わりにフランス語を取得することに注意してください。
自分で速度を制限する必要がありますが、少数の単語やフレーズを探している場合は問題ありません。