英語の音声処理について
音声処理の分野の日本語用はmecabやjanomeなど数多くの有用なライブラリがpythonには存在します。その一方で英語の音声処理のライブラリもたくさんある一方でまとまってライブラリの使い方などを説明した文献はあまり多くないように感じます。
ここでは英語の音声処理をpythonで行うときに役立つライブラリをそれぞれの特徴と共に解説していきます。
音声認識
GoogleSpeechRecognition
こちらはgoogleが提供する音声認識のライブラリです。googleが提供してるだけあって認識精度はかなり高いです。ただオンラインで用いること前提なので、オフラインで用いると認識精度が下がります。
pocketsphinx
こちらはgooglespeechrecognitionと比べると精度は落ちるもののオフラインでも安定した精度を発揮します。文法辞書、単語辞書と併用することで認識精度を上げることができます。
julius
こちらは京大をはじめとする大学の開発チームが開発した音声認識エンジンです。googlespeechrecognitionやpocketsphinxと違いjuliusはこれ単体では動きません。音響モデル、単語辞書、言語モデルをこちらで用意する必要があります。標準では日本語で認識されますが、英語のモデルを使えば英語の認識もできます。
自然言語処理
NLTK
シンプルで使いやすい割に機能が多いライブラリなのが特徴です。ただ公式が英語のドキュメントしかないので、英語が読めない人には厳しいかもしれません。
Polyglot
こちらはNLTKほど機能はないものの形態素解析、分かち書き、分散表現など、自然言語処理の基本的な機能が網羅されていて使いやすいのが特徴です。
word2vec
word2vecは単語間の類似度比較に用いられます。単語をベクトルで表すことによって単語間の引き算ができたり中々使ってみると面白いです。ただ機械学習分野の知識が必要とされるので他のライブラリと比べるとハードルが高いかもしれません。
音声ファイル生成
gtts
gttsはGoogle Text-to-Speechの略でテキスト音声ファイルに変換できます。テスト用の音声ファイルや読み上げるのがめんどくさい時に音声ファイルをこれで作ります。
音声ファイル処理
pydub
pydubは音声ファイル処理用のライブラリです。音量を上げたり、音声ファイルの長さを変えたり色々な処理をすることができます。