今回から「音声認識の基礎」シリーズで紹介した、音声認識における各技術についての実践的な記事を作成していきます。よろしくお願いします!
目次
1. はじめに
今回の記事はプログラムに始めて挑戦する人に向けた内容が多いです! 特に、「音声認識の基礎」シリーズに対応させて記事作成する予定なので、音声認識の基礎知識について知りたい方は参考にしてみてください。
※本シリーズの対象とする読者 「音声認識の実際の処理を見てみたい!」 「 プログラム構築してみたいけどよくわからない!」 という初心者でもわかるように努めます。
1.1. 本シリーズの構成
先ほども書いた通り、本シリーズでは「音声認識の基礎」シリーズで紹介した技術を実際にPythonで動かしてみるという実践記事です。基礎シリーズの大まかな流れに沿ってプログラム構築していきます。
1. 音声認識のための概要・環境構築
これは、Pythonでプログラム構築するための環境作りに関する解説です。下に音声認識に必要な環境を箇条書きするので、それを参考に環境構築できる方は読み飛ばしてください。
2. Pythonでスペクトル解析
- 時間変化の音声データを周波数データに変換します
- フーリエ変換・窓関数を用います
3. Pythonで特徴量ベクトルの抽出
- 周波数データを特徴量ベクトルに変換します
- MFCCを用います
4. 隠れマルコフモデルの解説
- 隠れマルコフモデルをPythonで作ってみます
5. GMM、トライフォンの解説
- 本当にこれらの技術を使ったほうが精度が良いのか?検証してみます(予定)
6. 音声認識の深層学習(予定)
- Pythonによるディープラーニングの作り方です
最終的には、音声認識技術を用いて何か本格的な実験をしてみたいと考えています!お付き合い、よろしくおねがいいたします。
2. 環境構築について
早速、音声認識のためのPython環境を構築しましょう! ※Pythonでの機械学習の準備が出来ている人はこの記事を読まなくても大丈夫です!※
ここでは執筆者が実際に自分のPC内で行った環境構築の手順と、必要なダウンロードサイトなどを載せました。
※ 環境構築に関して執筆者が実際に行ってハマってしまったところやライブラリの説明、 「そもそも環境構築って何?仮想環境ってどうなの?」 といった記述をしていたら非常に長くなってしまったので(主に恨みっぽい愚痴ですが・・・)、もしかしたら違う記事に補足として載せるかも知れません。 今回は、まるで全てがトントン拍子に出来たかのように書きます。 ※
さて、ここで執筆者のPCスペックとインストールしたものを列挙します。 * Windows7 * 仮想マシンなし * Eclipse(統合開発環境※便利なソフトウェア※) * Python 3.6(Eclipseに同梱してあるのでダウンロードの必要なし) * get-pip.py(Eclipse内でpipが使えない為ダウンロードが必要※Windowsのみ※) * Numpy(フーリエ変換など数値解析用ライブラリ) * matplotlib(グラフ表示などに必要なライブラリ) * tensorflow(深層学習に必要なライブラリ)
音声認識のための環境は、機械学習のための環境構築とほとんど変わりません。なので、本記事以外に2つ機械学習のための環境構築記事を載せます。非常に読みやすく、分かりやすいです。 Windowsでの環境構築は少し面倒な部分があるので、自分に合った環境を構築するために参考にしてみてください。 * WindowsじゃなくてMacなんです・・・「顔認証システム開発の環境構築」 * 仮想環境を作りたいんです・・・「人認識の実行環境の構築」
2.1 手順① Eclipseのダウンロード
Eclipseのホームページです。 下のような画面が出るので、とりあえず最新版をダウンロードしましょう。赤枠の最新版をクリックです。
次の画面です。 言語はPythonなので、Pythonの「Full Edition」をダウンロードしましょう。必ずです。理由は補足記事があればそこに書きます。 ※結構時間が掛かるかもしれません。コーヒーでも煎れて待ちましょう。このときPython2.7.16やPython3.6.8がいっしょについてきます。
ダウンロードが完了したら展開してください。 「pleiades...」のような長い名前のフォルダになりましたね。 [eclipse]フォルダから、[eclipse]を起動してみてください。ワークスペースの作成が求められます。
ワークスペースは[pleiades]フォルダの直下に作られます。これからあなたがEclipseで構築したプログラムなどを入れておくスペースです。素敵な名前を付けましょう(私はデフォルトの「workspace」です)。ちなみに日本語かな漢字表記にすると面倒なことになる可能性があるので英数字表記が無難です(これはフォルダ作成時のあるあるです)。
さて、こんな感じのウィンドウが表示されましたか?無事、Eclipseのダウンロード完了です。 次の手順に行きましょう。
2.2. 手順② pipのインストール
長くなるのでpipの説明も省きますが、なんとWindowsに限ってEclipseの設定からpipが使えません。突然意味が分からないですよね。すみません、書かずにはいられませんでした。
では、 get-pip.pyを保存しましょう(これはpythonで書かれたファイルなので、ブラウザで開くより右クリックしてリンク先を保存してください)。これは、自分の使うPythonのフォルダ内に入れます。今回はPython3.6を使います。 まずは[pleiades]から[python]フォルダをクリック
[2]と[3]があるので[3]を選択 → get-pip.pyを貼り付け
ではここで、Windowsの[コマンドプロンプト]を開きます。
([スタートメニュー]→[全てのプログラム]→[アクセサリ]→[コマンドプロンプト]ですよ)
cd <pleiades/python/3のある場所>
と入力して、「get-pip.py」を入れたフォルダまで移動しましょう。
(例えば、自分のユーザーフォルダにpleiadesを置いたなら、cd C:\Users\ユーザー名\pleiades
となります。
居場所が分からない時はエクスプローラから調べてみてください)
移動できたら次のコマンドを実行します。
.\python.exe .\get-pip.py
pythonで「get-pip.py」を実行するコマンドです。何かダウンロードを始めだしたら成功です。少し待ちましょう。
「finished」の文字を見るまではウィンドウを閉じずに待ってください。
finishedしたならコマンドプロンプトを閉じてください。pipのインストール完了です。
2.3. 手順③ pythonのライブラリの準備
さて、Eclipseウィンドウに戻りましょう。設定ボタンを押してください。
設定ウィンドウが出てきます。 左のタブから、[PyDev]→[インタープリター]→[Pythonインタープリター]を選択します。Eclipseをダウンロードした時にPython2, Python3がダウンロードされているので少なくとも2つのPythonがインタープリターとして表示されていると思います。もちろん「Python3」を選択してください。
Python3を選択してから、[Manage with pip]ボタンを押してください。別ウィンドウが現れます。
[install package]と書いてありますね。この[package]部分に[numpy]と入力して[実行]ボタンを押してみてください(Enterでも大丈夫です)。 そして、中央画面に「FINISHED」と書かれるまで待ちましょう。
これでNumpyはインストール完了です。 同じように、今度は[matplotlib]を入力して実行してください。 [tensorflow]も忘れずに。
※ライブラリのバージョンについて(tensorflow)※
pipは簡単にいうなら、ライブラリを便利にインストールできる機能です。上の様に(pip) install package
と入力すれば、基本的にはライブラリの最新バージョンがインストールされます。
Numpyやmatplotlibといったライブラリはインストールしても問題ないです。どのバージョンでも動きます。しかし、tensorflowの場合は注意が必要です。
tensorflowはバージョンアップが激しいようです。これもあまり詳しい説明はしませんが、最新バージョンのtensorflowが現在使用しているPythonのバージョンに対応していないことがあります。 この場合、確かにtensorflowはインストールされたはずなのに使えない状況に陥ります。非常に厄介です。回避するためにtensorflowはバージョンを決めてインストールしましょう。pipでは、インストールするライブラリのバージョンを選択できます!
install (ライブラリ名)== x.x.x」
と入力することでライブラリのバージョンを管理できます。
現在はversion1.x.xが主流ですが、最新版が短期間で更新されています。近いうちにはversion2が主流になるかもしれません。 現在のtensorflowの最新バージョンにPythonが対応しているかに注意してください!以下には2019年9月の段階でPython3.6に対応しているtensorflowのインストール方法を記述します。
インストールの際、pip install tensorflow==1.x.x
と入力してください(Eclipseの設定から実行する時はpipの入力は必要ないです)。「1.14.0」がおすすめです(2019年9月現在)。
完成画面はこんな感じになります。右下の[適用して閉じる]ボタンを押してください。
2.4. 手順④ Eclipseの新しいプロジェクト作成
もう一息です! ウィンドウ左上の[ファイル]タブより、[新規]→[新規PyDevプロジェクト]を選択してください。プロジェクト名を記入してプロジェクトを作成します。
プロジェクトは、あなたの作成したPythonプログラムを実際に動かす場所です。素敵な名前にしましょう。 この記事は「音声認識」なので、「VoiceRecognition」としました。
これで、プログラムのための準備は整いました。ためしにPythonプログラム用ファイルを作ってみましょう。 [VoiceRecognition]を右クリックして[新規]→[PyDevモジュール]を選択してください
「パッケージ」と「名前」部分が空白ですが、名前のみ入力しましょう。このPyDevモジュールが、これからプログラムを書き込む場所になります。 今後、音声認識の記事で「.py」と拡張子のつくファイルはPyDevモジュールで作成したものとなります。
これでようやく準備完了です。環境構築、お疲れ様でした!
3. まとめ
個人的に、一番初めの環境構築が最も厄介なところだと思います。 せっかく始めてみようと意気込んでもインストールを気長に待ったり、特に説明されていない部分で謎のエラーが表示されたり・・・。正直、「こんなところでつまずくなんて!時間の無駄!」と思ってしまいますよね。面倒というより、あらゆる作業の中で1,2を争うげんなりポイントです。 でも、ここで諦めたらもったいないです。これから自分の作ったプログラムを動かして、音声認識してみましょう!
次回もよろしくお願いします。