Python自動化

Pytyonで音声翻訳を実現!

こんな方におすすめ

  • Pythonで音声翻訳を作りたい
  • googletransを使ってみたい
  • ポケトークを自作してみたい


今回はPYTHONで音声翻訳のプログラムを作成します。”おはよう"と音声入力したら、”Good morning."と英語に翻訳された音声が流れます。

ポケトークというとても便利な音声翻訳機がありますが、そんな感じです。GoogleのAPIを使用して実現しているので、Google Cloud Platformの利用登録が必要です。

"テキスト読み上げ"と”音声入力"の2つのjsonが必要ですので、下記サイトを参考に取得しておいてください。

Google text to speech をPythonで実行!

プログラムの内容

以下の手順で音声翻訳を実現しております。

  1. Pyaudioを使って、翻訳したい内容を音声で録音してwavファイル作成
  2. Googleのspeechモジュールの関数を使って、 wavファイルの音声をテキストに変換する
  3. googletransのモジュールの関数を使って、変換した言語に翻訳する
  4. Googleのtexttospeechモジュールを使って、翻訳変換した文mp3形式で音声ファイルにする。
  5. mixerモジュールを使ってMP3ファイルを再生する

もっとスマートに実現する方法もあると思いますが、今回は、これまでに作成したプログラムを流用し実現しています。



音声を録音してwaveファイルを作成する関数を作る

引数はファイル名と録音時間です。sample.wavファイルに翻訳の元となる音声を録音するために使用します。

音声ファイルを文字に変換する関数を作る

録音した音声ファイルを文字に変換する関数を作成します。 googleのspeechモジュールを使用します。message_stackに結果を返します。

文字を音声に変換して再生する関数を作る

文字を音声に変換して再生する関数を作成します。引数は文字と、ファイル名を変える必要があるときのために用意したcountです。翻訳した文字をMP3ファイルにして再生するのに使用します。

作成した関数を順に実行します。

作成した関数を順に実行します。翻訳にはTranslatorモジュールを使用しました。

音声入力とテキスト読み上げのjsonが異なるため、文字変換と音声変換の前に、GOOGLE_APPLICATION_CREDENTIALSのjsonの設定を切り替える必要があります。Jupyter notebookを使用する際は、env GOOGLE_APPLICATION_CREDENTIALS= で切り替えが可能です。

 

まとめ

"おはよう”と言うと"Good  morning"というプログラムを作成することができました。日本語から英語だけではなく、様々な言語で音声翻訳をすることが可能です。ぜひ、試してみてください。

スポンサーリンク

-Python自動化

Copyright© MAYRのPython活用法! , 2021 All Rights Reserved Powered by AFFINGER5.