OpenHRIVoiceをLinuxでビルドする

OpenHRIのソースコードは、 Github に公開されており、[2015.02.12]現在、[new_config]ブランチの動作を確認しております。

OpenHRIVoiceのリポジトリのページ にアクセスし、ソースコードをダウンロードすることができます。

ここではOpenHRIVoiceのソースコードを使ったインストール方法を説明します。

準備

ここでは、すべてのLinuxディストリビューションについて記載するのは難しいため、Ubuntu12.04、14.04の場合について記載します。 しかし、他のディストリビューションであっても、OpenHRIVoiceのコンポーネントは、ほぼすべてがPythonで記述されており、Julius、OpenJTalkなどの外部ライブラリを正しくインストールすれば、特に問題なくインストールできると思います。

OpenHRIVoiceに関して、必要なライブラリ、ツールは下記の通りです。

  • Python2.6 または 2.7
  • OpenRTM-aist Python 1.0.0以降(最新版の 1.1.0-RC1 でのインストールを行います)
  • JuliusおよびJulius-runkit(音声認識)
  • Julius-voxforge (Juliusの英語の音響モデル)
  • Festival (多言語音声合成)
  • OpenJTalk(日本語音声合成)
  • MARRY(多言語音声合成、Java)(オプション)
  • lxml (XMLパーザ―ライブラリ)
  • BeautifulSoup (Python用XMLパーザ―)
  • SOX (Sound eXchange)
  • MMDAgent_Example (OpenJtalkの女性音声用)

OpenHRIVoiceのダウンロード

まず、githubにある[new_config]ブランチをチェックアウトします。

次の”$”を除いたコマンドを実行して、git コマンドのインストールを完了します。

$ sudo apt-get install git
  (パスワードをたずねてくるので入力します)
  (途中、質問をたずねられるので、''y'' あるいは ''Y'' を入力しながら完了します)

作業ディレクトリへ移動し、gitコマンドでソースコードをダウンロードします。

以下にはホームディレクトリに 作業ディレクトリ[HRI] を作成して作業を行う設定で説明します。:

$ cd ~/HRI
$ git clone -b new_config https://github.com/openhri/OpenHRIVoice.git

ディレクトリを移動した後に次のコマンドを実行し、[new_config]ブランチに”*”が付いたら成功です。:

$ cd OpenHRIVoice
$ git branch -a
  * new_config
    remotes/origin/HEAD -> origin/master
    remotes/origin/master
    remotes/origin/new_config

OpenRTM-aist-Python-1.1.0-RC1のインストール

まず、OpenRTM-aist-Python-1.1.0-RC1をインストールします。

※インストールでsudoを使用するため、あらかじめ/etc/sudoersファイルに権限を与えられるユーザーを使用します。権限の付与はパソコンのシステム管理者に確認します。

現在(2015/02/06)、OpenRTMの管理するPPAのunstableリポジトリからubuntuのインストールパッケージを使うことができます。

コンソールを起動し、”$” を除いた次のコマンドを実行して、リポジトリを追加します。:

$ sudo add-apt-repository ppa:openrtm/unstable
  (パスワードをたずねてくるので入力します)
  (Enterキーを押下して完了します)

追加したリポジトリを反映した後、apt-getコマンドを実行しOpenRTM-aist-Pythonと依存ライブラリのインストールを完了します。:

$ sudo apt-get update
  (パスワードをたずねてくるので入力します)

$ sudo apt-get install openrtm-aist-python1.1.0 omniorb-nameserver omniidl-python
  (パスワードをたずねてくるので入力します)

次のコマンドを入力して、下のように表示されたらインストール完了です。:

$ dpkg -l openrtm-aist-python1.1.0

||/ 名前         バージョ   説明
+++-==============-==============-============================================
ii  openrtm-aist-p 1.1.0-rc1~ppa9 OpenRTM-aist, RT-Middleware distributed by A

以上でOpenRTM-aist-Python-1.1.0-RC1のインストールは終了です。 引き続き、OpenHRIVoiceをダウンロードして、必要なライブラリ群をインストールします。

Juliusのインストール

Juliusはフリーの高性能音声認識ソフトウェアです。

インストールパッケージがあるのでパッケージ管理コマンドapt-getでインストールできます。次のコマンドを実行してインストールを完了します。:

$ sudo add-apt-repository ppa:openrtc-w/openhri
  (パスワードをたずねてくるので入力します)
  (Enterキーを押下して完了します)

追加したリポジトリを反映した後、apt-getコマンドを実行しOpenRTM-aist-Pythonと依存ライブラリのインストールを完了します。:

$ sudo apt-get update
  (パスワードをたずねてくるので入力します)

$ sudo apt-get install julius julius-voxforge julius-voxforge-de(14.04で見つからない)
  (パスワードをたずねてくるので入力します)
  (途中、いくつかの質問をたずねられるので、''y'' あるいは ''Y'' を入力しながら完了します)

これで、Juliusと英語の音響モデルがインストールできたのですが、OpenHRIVoiceで使用している日本語の音声認識の音響モデル等は、 オフィシャルサイト にのみあるようです。

オフィシャルサイトで配布している 「ディクテーションキット」 <http://julius.sourceforge.jp/index.php?q=dictation-kit.html> を使用します。(「文法認識キットでも動作すると思いますが、Windows版に合わせてディクテーションキットにします。)

ファイルのダウンロードや解凍、配置の一連の操作を実行するシェルスクリプト[ dictation_kit.sh ]をOpenHRIVoiceのソースファイルに用意しました。 次のディレクトリに移動し、シェルスクリプトを実行します。:

$ cd ~/HRI/OpenHRIVoice/util
$ sudo sh dictation_kit.sh
  (パスワードをたずねてくるので入力します)
  (ライセンスを確認し、''y''あるいは''Y''を入力して進みます)

  (以下のファイルとリンクが確認できたら成功です)

$ ls -al /usr/local/share
  dictation-kit-v4.3.1-linux
  julius-runkit -> /usr/local/share/dictation-kit-v4.3.1-linux

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

SOXのインストール

OpenHRIVoiceのコンポーネントのOpenJTalkRTCでは、音声の周波数を変更にSOXライブラリを使用します。

Ubunutがインストールパッケージを提供しているので、次のコマンドを実行してインストールします。:

$ sudo apt-get install sox

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

OpenJTalkのインストールと設定

OpenJTalkは日本語の音声合成ライブラリです。[2015/02/09 現在]ヴァージョン1.07〜1.08で動作確認してます。

OpenJTalkで音声合成を実行するためには音声データや辞書データが必要で、UbuntuのOSバージョンによってインストール方法が違います。次の開発環境にあったインストールを実行します。

  • Ubuntu12.04
$ sudo apt-get install open-jtalk open-jtalk-mecab-naist-jdic
  (パスワードをたずねてくるので入力します)

$ cd ~/HRI/OpenHRIVoice/util
$ sudo sh hts-voice.sh
  (パスワードをたずねてくるので入力します)
  (ライセンスを確認し、''y''あるいは''Y''を入力して進みます)

$ ls -al /usr/local/share
  (確認)
  • Ubuntu14.04
$ sudo apt-get install open-jtalk open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001
  (パスワードをたずねてくるので入力します)

女性の声で音声合成を行いたい場合には、MMDAagentのサンプルスクリプトをダウンロードして音声ファイル群を適切な場所に配置する必要があります。

MMDAgentのサイト で配布している “Sample Script”の”Binary Package”MMDAgent_Example-1.4.zipを使用します。(2015/02/10時点で最新の1.4に対応しています)

ファイルのダウンロードや解凍、配置の一連の操作を実行するシェルスクリプト[ mmdagent_example.sh ]をOpenHRIVoiceのソースファイルに用意しました。 次のディレクトリに移動し、シェルスクリプトを実行します。:

$ cd ~/HRI/OpenHRIVoice/util
$ sudo sh mmdagent_example.sh
  (パスワードをたずねてくるので入力します)
  (ライセンスを確認し、''y''あるいは''Y''を入力して進みます)

以下のファイルが確認できたら成功です。:

$ ls /usr/local/share

  mmdagent
  MMDAgent_Example-1.4

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

MARYのインストール

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

MARYのインストール方法に関しては、 オフィシャルサイト外部のサイト を参照してください。

その他のライブラリ

その他の必要なライブラリは、すべてapt-getで入手できますので、以下のようにコマンドを実行します。:

$ sudo apt-get install festival python-lxml python-beautifulsoup python-setuptools

以上でOpenHRIVoiceのインストール準備が完了しました。

ビルド&インストール

それでは、OpenHRIVoiceをソースコードからインストールします。

先ほどチェックアウトしたソースコードに移動し、以下のコマンドでビルドとインストールを完了します。:

$ cd ~/HRI
$ python setup.py build

引き続き、OpenHRIVoiceをインストールします。:

$ sudo python setup.py install

以上で、OpenHRIVoiceのインストールが完了します。OpenHRIVoiceのコマンドは、/usr/loca/binにインストールされていますので、確認してください。