PAGE TOP

 OpenRTC-aist »

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

OpenHRIAudioをWindowsでビルドする

ここではOpenHRIAudioをWindows環境でビルドする方法を説明します。大まかな手順は以下のようになります。
  • ビルド環境の準備
  • OpenHRIAudioのビルド
  • コンポーネントの動作確認

ビルド環境の準備

ここでは、OpenHRIAudioをビルドするために必要なツールとライブラリのインストールを行います。
作業を行うツール、ライブラリは以下になります。

ツールのインストール

OpenHRIAudioをビルドするために必要なツールをインストールします。
リンク先にあるインストーラをダウンロードしてインストールを完了します。

OpenRTM-aistをインストール

OpenHRIAudioは、OpenRTM-aist-1.0.0以降でビルドすることができます。現在は、最新版であるOpenRTM-aist-1.1.2-RELEASE(32ビット版)でのみ動作確認を行っています。以下のリンク先から環境にあったインストーラをダウンロード後、インストールを完了してください。現在のOpenRTM-aistのインストーラでは、Python2.7を事前にインストールしておく必要があります。
Python2.7のインストールには、All usersに対してインストールしてください。
※ コンパイラに Visual Studio 2017 をお使いになる場合は、OpenRTM-aist(C++)をソースコードからビルドする必要があります。 ビルド方法はOpenRTM-aistのオフィシャルサイト内の こちらのページ をご確認ください。

※ OpenRTM-aistは、レジストリの情報と環境変数を使いますので、すべてのユーザに対してインストールする必要があります。

Visual C++ Expressをインストールする

コンパイラをインストールします。以下のリンク先から環境にあったインストーラを選んでインストールを完了します。ただし、Visual Studio 2015 Expressは、現在(2017/09/29)は、英語版のみダウンロードできるようですので、下記のサイトからダウンロードし、インストールしてください。

CMakeをインストールする

OpenRTM-aist、OpenHRIAudioはコンポーネントのビルドシステムを生成にCMakeを使用しています。以下リンク先からインストーラをダウンロードしてインストールして下さい。
OpenHRIAuduoは、32ビット版でビルドしますが、CMakeは、64ビット版でも32ビット版でもどちらでも問題なく動作いたします。

doxygenをインストールする

OpenRTM-aistではドキュメントを作成するためにdoxygenを使用しています。
以下のリンクをクリックするとインストーラをダウンロードします。OpenHRIAudioをビルドする場合には、必須ではありませんがインストールすることを推奨しております。インストーラを起動してインストールを完了してください。

ライブラリのビルド及びインストール

ここではOpenHRIAudioに必要なライブラリPortAudio、Speex、libesampleのビルドとインストールとlibsndfileのインストールを行います。
ライブラリのソースコードとバイナリの配置場所は特に問いませんが、ここでは、ライブラリは、C:\Developの下、バイナリとヘッダファイルは、C:\localの下に配置したいと思います。

PortAudioをビルドする

ここでは、PortAudioをビルドしてportaudio_x86.dll, portaudio_x86.libを作成します。
手順:
  1. PortAudioのサイトからソースコードpa_stable_v190600_20161030.tgz をダウンロードし、C:\Developの下に展開します。展開するには、7z等の圧縮・解凍ソフトをご利用ください。
    現在のソースコードは、CMakeに対応していますので、特に修正は必要ありません。
  2. CMakeをそのまま実行してもよいのですが、このページの添付資料にVS2015とVS2017に対応したビルドスクリプトをアップしていますので、このバッチファイル(msbuild.bat)をダウンロードし、C:\Develに配置してください。
  3. コマンドプロンプトを起動して、バッチファイルを実行し、portaudioのライブラリを生成します。
 # msbuild.bat portaudio 14

  1. このバッチファイルでは、C:\Devel\portaudio_vs14 というディレクトリを生成して、ライブラリのビルドを行います。C:\portaudio_vs14\src\Releaseにportaudio_x86.lib、portaudio_x86.dllが生成されていると思います。
  2. 最後に、生成したライブラリとヘッダファイルをC:\localの下にインストールします。インストールには、このページの添付資料にある install_portaudio.batをご利用ください。
 # install_portaudio.bat 14

以上で、PortAudioのライブラリ生成とインストールは終了です。

Speexをビルドする

次に、Speexをビルドします。Speexは、音声CODECのライブラリなのですが、EchoCancelerの機能がありますので、EchoCancelerには必修のライブラリです。libspeex.libとlibspeexdsp.libの作成を行います。
手順
  1. Speexのオフィシャルサイトからソースコードのダウンロードを行います。現在(2017/09/29)の最新版は、speex-1.2.0.tar.gz, speexdsp-1.2rc3.tar.gzになっています。
  2. Speexライブラリのビルドには、automakeが必要なのですが、VisualStudioでビルドする場合には、VS2008用のソリューションファイルが同梱されています。VS2015,VS2017による自動変換で必要なライブラリはビルドすることは何とか可能なようです。ただし、speex-1.2.0のソースコードには、fftwrap.cというファイルが欠如しています。このファイルは、speexdsp-1.2rc3.tar.gzの方に入っておりますので、コピーすればよいと思います。
  3. 上述のようにオフィシャルサイトのソースコードには少し問題がありますので、このページの添付資料にソースコード(speex-1.2.0.tgz)を添付ています。このファイルをダウンロードして、C:\Developに展開してください。
  4. Speexのビルドには、win32\VS2015(または win32\VS2017)にあるソリューションが利用できますが、コマンドラインでビルドするためのバッチファイル(build_speex.bat)を用意していますので、ダウンロード&C:\Develに配置後、実行してください。
 # cd c:\Devel
 # build_speex.bat 14

  1. 最後に、SpeexライブラリとヘッダーをC:\localにインストールします。インストール用のバッチファイル(install_speex.bat)をダウンロード&実行してインストールを行ってください。
 # install_speex.bat 14

libresampleをビルドする

次に、libresampleをビルドし、libresample.libを作成します。libreassembleのライブラリは、現在メンテナンスされていないようですが、Githubに resample-1.7をベースとしたソースコードがGithubにアップされています。
ここのソースコードは、CMakeには未対応ですが、ForkされたリポジトリでCMake対応がされていますので、そちらを使います。
手順
  1. ソースコード Githubをダウンロードして、C:\Develに展開します。
  2. このページに添付されいるバッチファイル msbuild.batを利用してビルドを行います。
 # msbuild.bat libresample 14

  1. バッチファイル実行後、C:\libresample\Relaseにlibresample.libが生成されいたら終了です。
  2. 最後にlibresample.libとlibresample.hのインストールを行います。インストールには、添付のバッチファイル(install_resample.batを利用してください。
 # install_libresample.bat 14

libsndfileのインストール

libsndfileは、音響ファイルの入出力のために利用するライブラリです。このライブラリは、オープンソースで公開されていますが、CMakeがUnix系のOSにのみ対応になっていますので、ここでは、バイナリインストールを行います。
libsndfileのオフィシャルサイトから32ビット版のライブラリをダウンロード後、インストールを行ってください。
libsndfileは、デフォルトでは C:\Program Files (x86)\libsndfile にインストールされますが、途中でインストール場所を入力するダイアログがでますので、C:\loal に変更してインストールしてください。

OpenHRIAudioのビルド

ビルドに必要なソフトやライブラリの準備ができたら、バッチファイルを使ってOpenHRIAudioをビルドします。
手順
  1. OpenHRIAudioのソースコード をダウンロードしてC:\Develに展開します。
    • OpenHRIAudio Githubページ
    • OpenHRIAudioのビルド用バッチファイルを開き、ライブラリなどのPathを自分の環境の合わせて変更してください。上記の通りインストールしている場合には、修正する必要はありません。
  2. コマンドプロンプトを起動して、バッチファイル(build_OpenHRIAudio.bat)を実行します。
 # cd C:\Devel\OpenHRIAudio
 # build_OpenHRIAudio.bat 14

  1. バッチファイル終了後、C:\Devel\OpenHRIAudio\bin ディレクトリに以下のバイナリ、dllライブラリができていたら完了です。
    • AutoGainControl.dll
    • AutoGainControlComp.exe
    • BeamForming.dll
    • BeamFormingComp.exe
    • ChannelSelector.dll
    • ChannelSelectorComp.exe
    • CombFilter.dll
    • CombFilterComp.exe
    • DSArray.dll
    • DSArrayComp.exe
    • EchoCanceler.dll
    • EchoCancelerComp.exe
    • EchoSuppressor.dll
    • EchoSuppressorComp.exe
    • Gate.dll
    • GateComp.exe
    • Mixer.dll
    • MixerComp.exe
    • NoiseReduction.dll
    • NoiseReductionComp.exe
    • PortAudioInput.dll
    • PortAudioInputComp.exe
    • PortAudioOutput.dll
    • PortAudioOutputComp.exe
    • SamplingRateConverter.dll
    • SamplingRateConverterComp.exe
    • SignalGeneration.dll
    • SignalGenerationComp.exe
    • WabPlay.dll
    • WebPlayComp.exe
    • WavRecord.dll
    • WavRecordComp.exe
※現在、WebRTCVAD.exeはWindowsサポートを一時中止しております。

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

ネームサービスとRTSystemEditerを起動して、コンポーネントの実行ファイルを起動します。

資料