OpenHRIVoiceをWindowsでビルドする

このドキュメントではWindows環境でOpenHRIVoiceをソースからビルドする方法について説明します。

基本的な手順は次の通りです。

  1. ビルド環境の準備
  2. OpenHRIVoiceのビルド
  3. コンポーネントの動作確認

以下に作業内容を詳細に説明します。

準備

ビルドに必要なソフトウェアのインストールと、コンポーネントを実行する際に必要なライブラリや実行ファイル、設定ファイルの設定を行います。

ツール

  • Python2.6 または、2.7
  • setuptools
  • pip
  • py2exe
  • lxml
  • pygtk-all-in-one
  • BeautifulSoup
  • OpenRTM-aist-Python-1.1.0-RC1
  • Graphviz
  • sox
  • JuliusおよびJulius-runkit
  • Julius-voxforge
  • Festival
  • 音声ファイルのダウンロードと設定
  • OpenJtalk

ライブラリ

  • regex_win32.dll

次の項からインストールの手順を説明します。

Pythonのインストール

OpenHRIVoiceとOpenRTM-aist-PythonはPythonが必要です。ここではインストールと環境変数の設定を説明します。

Pythonオフィシャルサイトから Python 2.6.6 または、 Python 2.7 にWindowバイナリ用インストーラをダウンロードした後に、インストーラを実行し、メッセージにしたがってインストールを完了します。

次にPythonをコマンドプロンプトで起動するようパスを通します。

デスクトップやスタートメニューの「マイコンピュータ」を右クリックし、メニューから[プロパティ]を選択します。 ウィンドウが表示されたら、[システムの詳細設定]をクリックし、[環境変数]ボタンをクリックします。

../../_images/win_path01.png ../../_images/win_path02.png

環境変数ウィンドウにある[システム環境変数(S)]の[path]をダブルクリックし、「システム変数の編集」表示します。

../../_images/win_path03.png

[変数値(V)]の末尾にPythonのインストールパスを追記し、[OK]をクリックして設定を完了します。:

;C:\python26(または、;C:\python27)

Python モジュールのインストール

ここではOpenHRIVoiceのビルドと実行ファイルに必要なPythonのツールをインストール方法を説明します。

インストール方法はインストーラとインストールスクリプトなどがあります。スクリプトを使う場合は作業フォルダを作るとインストール作業し易くなります。

以下にはCドライブ直下に[tmp]フォルダを作成して作業を行う設定で説明します。

setuptools

setuptoolsはPythonのeggパッケージインストールツールで、他のPythonモジュールをインストールに必要です。

  1. `ここ <https://pypi.python.org/pypi/setuptools/0.8#windows >`_ から ez_setup.py をダウンロードし、[C:\tmp]に置きます。
  2. エクスプローラで[tmp]フォルダを開き、アドレスバーに[cmd]と入力して[Enter]キーを押下するとコマンドプロンプトが起動します。コマンドプロンプトが[C:\tmp]フォルダに切り替えてあるのを確認し、[tab]キーを何度か押下して ez_setup.py を表示したら、[Enter]キーを押下しインストールを実行します。
  3. 最後に、パスを通します。「Pythonのインストール」と同様にシステム環境変数[Path]の末尾に「;C:\PythonXX\Scripts」を追記し完了です。

pip

pipはPythonのパッケージ管理システムで、easy_installの置き換えとなるシステムです。他のPythonモジュールをインストールために必要です。

  1. コマンドプロンプトを起動し、以下のコマンドを実行しインストールを完了します。
easy_install pip

py2exe

py2exeはPythonのスクリプト(.py)をWindows実行形式である.exeへ変換するモジュールです。py2exeを使って実行形式にしたプログラムは、Pythonをインストールせずに実行することが可能です。

  1. ここ から環境にあったインストーラ py2exe-0.X.X.win32-pyX.X.exe をダウンロードします。
  2. ダブルクリックでインストーラを起動し、インストールを完了します。

lxml

lxmlはxml/htmlを取り扱うためのpythonのモジュールです。

  1. ここ からインストーラlxml-3.2.1.win32-pyX.X.exe をダウンロードした後、起動しインストールを完了します。

pygtk-all-in-one

pygtk-all-in-oneはPythonのGUI作成モジュールで、JuliuxRTC.exeやXSLTRTC.exeで使います。

  1. ここ から環境にあったインストーラpygtk-all-in-one-2.XX.X.win32-pyX.X.msi をダウンロードし、インストーラをダブルクリックして起動します。
  2. デフォルトの設定は gtksourceview2 がインストールされないので、下の画面のときに[×▼]をクリックし「Will be installed on local hard drive」に変更してインストールを完了します。
../../_images/python_gtk.png

BeautifulSoup

BeautifulSoupはpythonで動作するHTMLとXMLのパーサーで、pipコマンドを使ったインストールが可能です。

  1. コマンドプロンプトを起動し、次のコマンドを実行しインストールを完了します。
pip install BeautifulSoup

以上で Pythonのインストールは完了です。

OpenRTM-aist Python のインストール

OpenHRIVoiceはOpenRTM-aist-Python-1.0.0以降(または、1.1.0-RC1)必要です。以下のリンク先から自分の環境にあったインストーラをダウンロード・実行し、メッセージにしたがってインストールを完了します。

  • Python2.6をインストールした場合
  • Python2.7をインストールした場合

Graphvizのインストール

Graphvizはオープンソースのグラフビジュアル化ソフトウェアで、JuliusRTC.exeで使用します。

ここ からインストーラ graphviz-2.XX.0.msi をダウンロードし、インストールを実行します。※現在 バージョン2.38まで動作確認しております。

インストーラを起動したら、デフォルトの設定のままインストールを完了します。

soxのインストール

sox (Sound eXchange) は多くの音声ファイルにさまざまなエフェクトを適用可能なオープンソースの音声処理プログラムです。JuliusRTC.exeやFestivalRTC.exe、OpenJTalkRTCなどで使用します。

ここ からZipファイル sox-14.4.2-win32.zip をダウンロードし、展開します。※現在 バージョン14.4.2まで動作確認しております。

次に、[C:\tmp]フォルダに[3rdparty]というフォルダを作成し、展開したフォルダ[sox-14.4.1]を配置します。

JuliusおよびJulius-runkitのダウンロードと設定

Juliusはオープンソースの高性能な汎用大語彙連続音声認識エンジンのライブラリで、JuliusRTCで使用します。

音声認識コンポーネントに必要な外部ライブラリ dictation-kit-v4.2.3-win.zip をダウンロードします。※現在 4.2.3以降のバージョンでは正常に動作しない場合があります。

ダウンロード・解凍したファイル[dictation-kit-v4.2.3-win]は[C:\tmp\3rdparty]フォルダ直下に置きます。

Julius-voxforgeのダウンロードと設定

Julius-voxforgeはJuliusの英語の音響モデルで、JuliusRTCで使用します。

ここ からJulius_AcousticModels_16kHz-16bit_MFCC_O_D_(0_1_1-build726).zipをダウンロード・解凍した後、[julius-voxforge-build726]とリネームし、[C:\tmp\3rdparty]フォルダに置きます。

Festivalのダウンロードと設定

Festivalは英エディンバラ大学の「Centre for Speech Technology Research」で開発された、UNIXプラットホームの英語音声合成エンジンです。

festival-1.96.03-win.zip をダウンロード・解凍し、[C:\tmp\3rdparty]フォルダ直下に置きます。

OpenJTalkのダウンロード

OpenJTalkは、オープンソースライセンスで開発されている日本語音声合成エンジンです。 hts_engine_API-1.08を使用し「.htsvoice」形式に対応した open_jtalk.exe と 辞書設定ファイルdic_utf8.zip を用意しました。

open_jtalk.exe辞書設定ファイルdic_utf_8.zip をダウンロードします。

zipファイルはダウンロード完了後、Lhaplusなどのアーカイブユーティリティを用いて解凍します。

open_jtalk.exeは、OpenHRIVoiceをビルドした後に[C:\tmp\OpeHRIVoice-new_config\dist]フォルダに置き、dic_utf8.zipは解凍したフォルダ[dic_UTF_8]を[C:\tmp\3rdparty]フォルダ直下に置きます。

音声ファイルのダウンロード

OpenJTalkに使う音声ファイルに hts_voice_nitech_jp_atr503_m001-1.05.tar.gz と ` MMDAgent_Example-1.4.zip <http://sourceforge.net/projects/mmdagent/>`_ を使用します。

本ドキュメントでダウンロードできるopen_jtalk.exeはhts_engine_API-1.08を使用しており、音声ファイルは「.htsvoice」形式に対応します。音声ファイル・hts_voice_nitech_jp_atr503_m001-1.05.tar.gz と MMDAgent_Example-1.4.zip は、「.htsvoice」形式となっています。それ以前のヴァージョンでは正常に動作しない場合があります。

音声ファイル・`hts_voice_nitech_jp_atr503_m001-1.05.tar.gz <http://sourceforge.net/projects/open-jtalk/files/HTS%20voice/hts_voice_nitech_jp_atr503_m001-1.05/>`_ と、` MMDAgent_Example-1.4.zip <http://sourceforge.net/projects/mmdagent/>`_ をダウンロード・解凍します。

※ XXX.tar.gzなどの展開にはLhaplusなどのアーカイブユーティリティを用いましょう。

解凍した[hts_voice_nitech_jp_atr503_m001-1.05]フォルダと[MMDAgent_Example-1.4]フォルダは[C:\tmp\3rdparty]フォルダ直下に置きます。

以上で依存ツールとライブラリのインストール・配置は完了です。

OpenHRIVoiceのソース修正

OpenHRIVoiceで使用する依存ファイル・設定ファイルは[openhrivoice/config.py]ファイルに記されており、バージョンが違うファイルを使う場合修正が必要です。

次のファイルをテキストエディタなどで開き、バージョンにあわせて修正します。

  • openhrivoice/config.py
– 53行目::
[dictation-kit-v4.0-win]を[3rdparty]フォルダに置いたファイル名に修正します。(2015.3月現在 バージョン4.2.3まで動作確認済み)
– 85行目::
hts_voice_nitech_jp_atr503_m001-1.05 ダウンロードしたバージョンに修正します。(2015.3月現在 バージョン1.05まで動作確認済み)
– 89行目::
MMDAgent_Example-1.4 ダウンロードしたバージョンに修正します。(2015.3月現在 バージョン1.4まで動作確認済み)
– 128行目::
sox-14.4.2ダウンロードしたバージョンに修正します。(2015.3月現在 バージョン14.4.2まで動作確認済み)

OpenHRIVoiceのビルド

OpenHRIVoiceのソースファイルをダウンロードし、環境に合わせて修正した後に、バッチファイルを使ってビルドします。

手順

  1. OpenHRIVoiceのgithubのページ からnew_configブランチのソースファイルをダウンロードします。
githubのOpenhri/OpenHRIVoiceのページを開き、[branch:master]となっていたら、クリックして[new_config]に変更後、右下の[DownloadZIP]からダウンロードします。zipファイルは展開後、[C:\tmp]フォルダに置きます。
  1. 解凍した[OpenHRIVoice-new_config]フォルダの buildwindows.batを自分の環境に合わせて、テキストエディタ(notepadなど)で修正します。

3行目、8〜10行目のPythonのバージョン番号をお使いの環境に合わせて変更します。

5行目、7行目を32bitOSを使っている場合[Program Files (x86)]を[Program Files]に(64bitOSを使っている場合は変更無し)に変更し、Graphizのバージョン番号の前のスペースを削除した後にバージョン番号をインストールしているものに変更します。

  • 3行目、8〜10行目

Pythonとgtkのバージョン番号を変更します。:

3行目変更前
 \Python26\python.exe setup.py py2exe
変更後
 \PythonXX\python.exe setup.py py2exe
※ 他の行も同様に変更します。
  • 5行目、7行目:

    5行目変更前
     copy "\Program Files (x86)\Graphviz 2.28\bin\*.dll" dist
    変更後
     copy C:\"Program Files"\GraphvizX.XX\bin\*.dll dist
    
    7行目変更前
     copy "\Program Files (x86)\Graphviz 2.28\bin\dot.exe" dist
    変更後
     copy C:\"Program Files"\Graphviz X.XX\bin\dot.exe dist
  1. Pythonのモジュールをインストールした時と同様に、[OpenHRIVoice-new_config]フォルダを開いたエクスプローラのアドレスバーでコマンドプロンプトを起動します。

コマンドプロンプトが[C:\tmp\OpenHRIVoice-new_config]フォルダに切り替えてあるのを確認した後に、以下のコマンドを実行しインストールを完了します。:

buildwindows.bat

バッチファイルが終了し、[C:\tmp\OpenHIRVoice-new_config\dist]フォルダに実行ファイルが生成されたらビルドは完了です。

  1. コンポーネントを実行するために必要な以下のファイルを[C:\tmp\OpenHIRVoice-new_config\dist]フォルダに置きます。
  • [3rdparty]フォルダ
  • open_jtalk.exe
  • dummy.dfa、dummy.dict、dummy-en.dfa、dummy-en.dict ([C:\tmp\OpenHRIVoice-new_config\openhrivoice]フォルダ以下にあります。)

※ buildwindows.batを実行すると、既にある[dist]フォルダを削除した後に再作成します。関連ファイルはコピーを置きましょう。

関連ファイルの準備ができたら、コンポーネントを実行できます。

コンポーネントの動作確認

  • `マルチリンガル対話システム<>`_(OpenHRIAudio,SEATSATが必要です)
  • `腕上げロボット<>`_ (OpenHRIAudio,SEATSAT、Choreonoidが必要です)

JuliusRTC.exeとXSLTRTC.exeを実行する時は、コマンドプロンプトを起動して、「XXXXXRTC.exe -g」とオプションをつけて起動します。