PAGE TOP

 OpenRTC-aist »

   
Home Task Navi HRI REST_API
コミュニケーション知能モジュールパッケージ OpenHRI >> OpenHRIVoiceをLinuxでビルドする

OpenHRIVoiceをLinuxでビルドする

OpenHRIのソースコードは、 Github に公開されています。
OpenHRIVoiceのリポジトリのページ にアクセスし、Zip形式の圧縮ファイルで ソースコードをダウンロードすることができますが、git コマンドでダウンロードした方が簡単かと思います。
ソースコードの展開は、適当なディレクトリでもよいのですが、ここでは ~/src の下に展開します。
 # cd ~/src
 # git clone https://github.com/openrtc/OpenHRIVoice

準備

ここでは、すべてのLinuxディストリビューションについて記載するのは難しいため、Ubuntu16.04の場合について記載します。しかし、他のディストリビューションであっても、OpenHRIVoiceのコンポーネントは、ほぼすべてがPythonで記述されており、Julius、OpenJTalkなどの外部ライブラリを正しくインストールすれば、特に問題なく動作させることができます。。
OpenHRIVoiceを利用するときに必要なライブラリ、ツールは下記の通りです。
  • Python2.7
  • OpenRTM-aist Python 1.1.2-RELSEASE
  • lxml (XMLパーザ―ライブラリ)
  • BeautifulSoup ver.4 (XMLパーザ―)
  • python-gtk2(GTK+ライブラリ)
  • SOX (Sound eXchange, サウンドデータ処理)
  • Julius dictation-kit(音声認識)
  • Julius-voxforge (Juliusの英語の音響モデル)
  • Festival (多言語対応音声合成)
  • OpenJTalk(日本語音声合成)
  • MARRY(多言語対応音声合成、Java)
  • MMDAgent_Example (OpenJtalkの女性音声用)

OpenRTM-aist-Python-1.1.-RELEASEのインストール

まず、OpenRTM-aist-Python-1.1.2-RELEASEをインストールします。現在は、OpenRTM-aistは、Ubuntu用のインストールスクリプトが提供されていますので、オフィシャルサイトにアクセスし、インストールスクリプト pkg_install_ubuntu.sh をダウンロードしてください。
ダウンロード後、
# sudo sh pkg_install_ubuntu.sh -l python -l rtshell
を実行すると、OpenRTM-aistのインストールが行われますので、(Y/n) の問い合わせには、すべて Yでお願いいたします。aptのソースリストにオフィシャルサイトのURLを登録後、OpenRTM-aistの開発環境と実行環境(Python2.7を含む)のインストールが行われます。
また、openrtpは、上記のスクリプトではインストールされませんので、ここからダウンロードして適当な場所に展開してください。

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

次に、OpenHRIVoiceを動作させるために、各コンポーネントで利用するPythonモジュールのインストールを行います。OpenHRIVoiceで必要なモジュールは以下の通りです。
  • python-gtk2(GTK+をベースにしたGUIのインターフェース、JuliusRTCおよびエディタ等のツールで使用)
  • lxml(XMLのパーサ、JuliusRTCの音声認識結果のパースに利用)
  • BeautifulSoup4(XML,HTMLのパーサ、JuliusRTCの音声認識結果のパースに利用)
  • pydub(オーディオデータ処理、GoogleSpeechRecogRTCの音声部分切り出しに利用)
Pythonモジュールは、apt-getコマンドまたは pipコマンドで入手&インストールが可能です。したがって、以下のようにコマンドを実行します。
# sudo apt-get install python-gtk2

# sudo apt-get install python-lxml

# sudo pip install pydub
なお、pipコマンドを利用する場合には、python-pipをインストールしておく必要があります。インストールされていなければ、下記のように実行します。
# sudo apt-get install python-pip
また、pydubモジュールでは、フル機能を使うためには、ffmpegが必要になります。OpenHRIVoiceでは使用しませんが、ワーニングメッセージが出力されてしまいますので、そのメッセージを消したい方は、下記のようにffmpegをインストールしてください。
# sudo apt-get install ffmpeg
以上でPythonモジュールのインストールは終了です。

Juliusのインストール

Juliusはフリーの高性能音声認識ソフトウェアです。実行バイナリなどは、apt-getでインストールできるようになっていますが、日本語音声認識の場合に、JuliusRTCでは、dictation-kitに入っている言語モデルから辞書を作成さいていますので、 オフィシャルサイトdictation-kit-v4.4.zipをダウンロードしてください。
dictation-kitは、Githubで公開されておりますが、 git-lfs (Git Large File Storage) が使われていますので、アーカイブとしてダウンロードした方が良いかと思います。
# sudo unzip dictation-kit-v4.4.zip -d /usr/share

# sudo ln -s /usr/share/dictation-kit-v4.4 /usr/share/julius-runkit
また、JuliusRTCで英語の音声認識を行う場合には、voxforgeの音響モデルが必要になります。こちらは、apt-getコマンドでインストールします。
# sudo apt-get julius-voxforge
julius-voxforge パッケージをインストールすると juliusパッケージも同時にインストールされます。juliusパッケージは、JuliusRTCでは使用しませんので、削除されても結構です。

OpenJTakのインストールと設定

OpenJTalkは、日本語の音声合成ライブラリです。 Ubuntuのパッケージでは、男性音声のみapt-getでインストールすることができます。 そのため、女性の声で音声合成を行いたい場合には、MMDAagentのサンプルスクリプトをダウンロードして 音声ファイル群を適切な場所に配置する必要があります。
まずは、OpenJTalkの実行ファイル群をapt-get でインストールします。
# sudo apt-get install open-jtalk

# sudo apt-get install open-jtalk-mecab-naist-jdic

# sudo apt-get install hts-voice-nitech-jp-atr503-m001
また、OpenJTalkRTCでは、音声の周波数を変更にSOXライブラリを使用しますので、これもapt-getでインストールします。
# sudo apt-get install sox
次に、 MMDAgentのサイト に移動し “Sample Script”の”Binary Package”をダウンロードします。 MMDAgent_Example-1.7.zip(2017/10/11時点では、1.7が最新でした)を展開します。
# sudo unzip MMDAgent_Example-1.7.zip -d /usr/local/share
最後に、OpenJTalkRTCで設定されているPathに音声ファイル等を配置します。
# sudo mkdir -p /usr/lib/open_jtalk/dic

# sudo ln -s /var/lib/mecab/dic/open-jtalk/naist-jdic /usr/lib/open_jtalk/dic/utf-8

# sudo ln -s /usr/share/hts-voice /usr/lib/hts-voice

# sudo mkdir /usr/lib/mmdagent

# sudo ln -s /usr/local/share/MMDAgent_Example-1.7/Voice /usr/lib/mmdagent/voice
以上で、OpenJTalkのインストールは完了です。

Festivalのインストール

Festivalは、エディンバラ大学で開発された多言語対応の音声合成エンジンです。このソフトウェアは、aptコマンドでインストールすることができます。
# sudo apt-get install festival

MARYのインストール

MARYは、Javaで実装されたText-to-Speechライブラリです、OpenHRIVoiceには、RTC化されたコードがありますが、オフィシャルサポートではありませんので、ここではインストールは行いません。 ドイツ語の音声合成がほしい場合には、これをインストールしてからの方がよいかもしれません。
MARYのインストール方法に関しては、 オフィシャルサイト や 外部のサイト を参照してください。
以上でOpenHRIVoiceのインストール準備が完了しました。

動作テスト

OpenHRIVoiceは、Pythonスクリプトですので、インストール前に各コンポーネントの動作テストを行ってください。
なお、上記の設定ですべてのソフトウェアがインストールされていることを前提に、起動スクリプトを作成しています。起動スクリプトは、githubのリポジトリの 'test-linux'というブランチに作成していますので、
 # git checkout test-linux
としてください。
新規に追加したGoogleSpeechRecogRTCに関しては、GoogleSpeechAPIのAPI Keyが必要になります。GoogleCloudPlatformのサイトからAPIKeyを取得し、google_speech.conf に記入の上、テストを行ってください。

OpenHRIVoiceのテストには、音声データ入力、音声データ出力、テキスト入力のコンポ―ネントが必要になります。音声データ入力は、PortAudioInputComp, 音声データ出力は、PortAudioOutputComp、テキスト入力は、eSEAT SimpleIO.seatmlを使うとよいかと思います。eSEATの動作には、python-tkをインストールする必要がありますので気を付けてください。

ビルド&インストール

それでは、OpenHRIVoiceをソースコードからインストールしますのでソースコードを展開したディレクトリに移動してください。
ここでは、最初の記述どおり~/srcに展開しているとします。
# cd ~/src/OpenHRIVoice
次に、OpenHRIVoiceをビルドします。
# python setup.py build
引き続き、OpenHRIVoiceをインストールします。
# python setup.py install
以上で、OpenHRIVoiceのインストールが完了します。OpenHRIVoiceのコマンドは、/usr/loca/binにインストールされていますので、確認してください。

資料