GCPを使ったLARAVEL開発 – Part 2

GCPを使ったLARAVEL開発 – Part 2

VI. 「Speech-to-Text」API利用

API仕様書はこちらで参照できます。

クライアントライブラリのインストール方法

composer require google/cloud-speech

Speech-to-Textを用いることで音声ファイルをテキストファイルに変換することができます。

以下の三つの処理を行うコントローラーを作成します。

  1. リクエストからアップロードされた音声ファイルを取得すること。
  2. 「FFMpeg」ライブラリを使って音声ファイルをFLACに変換すること。
  3. 以下のようなソースコードを利用することで「Speech-to-Text」APIから返却されたテキストを表示させること

SpeechToTextControllerにて

  1. リクエストから受信した音声ファイルをFLACに変換します。
    ※なぜFLACに変換する必要があるかというと、
    ・「Speech-to-Text」APIを利用する場合はコンフィグ(RecognitionConfigクラス)をする必要がありますから。
    ・AudioEncodingが重要な項目なので、最良な結果を得るためFLACまたはLINEAR16を使うことがお勧めですから。
  2. 返却されたテキストを表示させます。

ファイルをアップロードする「Choose File」ボタン、「Transcribe」ボタン、デフォルトとして「English(US)」を選択している言語選択ドロップダウンリストが入っている簡単なプログラムを作りました。

日本語音声ファイルを選択します。

結果はこちらです。

素晴らしい!うまくゆきました!

VII. 「Text-to-Speech」APIの利用

API仕様書はこちらで参照できます。

クライアントライブラリのインストール方法

composer require google/cloud-text-to-speech

Text-to-Speechを用いることで人間のような音声ファイルを生成することができます。

以下の二つの処理を行うコントローラーを作成します。

  1. リクエストからアップロードされたテキストファイルを取得すること
  2. 以下のようなソースコードを利用することで「Text-to-Speech」APIから返却された音声ファイルをダウンロードできること

TextToSpeechControllerにて

  1. 変換前、あらかじめ用意しておくこと。
    上記のように、音声への変換前に言語、ボイス、性別、スピードなどの設定をしておきました。
  2. 変換後、音声ファイルをダウンロードすること。音声ファイルの拡張子はMP3形式とします。

Text-to-Speechに使うプログラムを作りました。以下のように、前述のプログラムより詳しいです。

画面にて日本語テキストファイルを選択し、他の必要なオプションを選択します。

結果はこちらです。

素晴らしい!

 

参考元

  1. https://cloud.google.com/vision/docs/ocr#vision_text_detection-php
  2. https://cloud.google.com/speech-to-text/docs/quickstart-client-libraries
  3. https://cloud.google.com/text-to-speech/docs/quickstart-client-libraries#client-libraries-usage-php
  4. https://www.ffmpeg.org/