10

フランス語の単語の発音を .wav または .mp3 ファイルに保存しようとしています。

この目的を達成できる Google Translate API のどこかに (発音機能があるため) はないかと考えていました。他のライブラリも機能します。

4

2 に答える 2

5

この質問が出されて以来、Google 翻訳から MP3 を「スクレイピング」することは非常に難しくなっていますが、Google は (ついに) TTS APIをセットアップしました。興味深いことに、入力文字数で課金され、最初の 1 か月あたり 100 万または 400 万の入力文字は無料です (WaveNet を使用するか古い学校の音声を使用するかによって異なります)。

現在gcloud、コマンド ラインでこれを行うには (これをアプリに組み込むのではなく)、おおよそ次のようにします ( TTS クイック スタートを言い換えています)。このウォークスルーには、、、およびbase64が必要です。curlgcloudjq

  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= のような URL から MP3 を取得できます。フランス

&tl=frデフォルトの英語の代わりにフランス語を取得することに注意してください。

自分で速度を制限する必要がありますが、少数の単語やフレーズを探している場合は問題ありません。

于 2015-03-11T20:43:05.623 に答える