普通にmake install
すると中間生成物も含めて/usr
や/usr/local
に生成される羽目になることが多い.
可搬性がないし,環境を汚したくないので,ビルド用ディレクトリで完結するようにビルドする.
Open Jtalkを例にして解説する.
1. ビルド用のディレクトリを作る
mkdir tmp
cd tmp
2. 依存関係のビルド
hts_engine APIがOpen JTalkのビルドに必要なのでビルド.
インストールはしない.
wget http://downloads.sourceforge.net/hts-engine/hts_engine_API-1.10.tar.gz
tar -xzf hts_engine_API-1.10.tar.gz
cd hts_engine_API-1.10
./configure
make
3. 目的物のビルド
ポイントは依存のパス指定の時にpwd
を使って絶対パスで指定すること.
tmp/openjtalk
にインストール.
wget http://downloads.sourceforge.net/open-jtalk/open_jtalk-1.11.tar.gz
tar -xfz open_jtalk-1.11.tar.gz
cd open_jtalk-1.11
./configure \
--with-hts-engine-header-path=`pwd`/../hts_engine_API-1.10/include \
--with-hts-engine-library-path=`pwd`/../hts_engine_API-1.10/lib \
--with-charset=UTF-8 \
--prefix="`pwd`/../openjtalk"
make
make install
このように生成される.
tmp
└── openjtalk
├── bin
│ └── open_jtalk
└── dic
このopenjtalk
を固めれば,持ち運ぶことができる.
4. 使用例
テキストを音声ファイルに変換するのにはvoiceファイルが必要なのでダウンロードする.
wget http://downloads.sourceforge.net/project/mmdagent/MMDAgent_Example/MMDAgent_Example-1.8/MMDAgent_Example-1.8.zip
unzip MMDAgent_Example-1.8.zip
そして変換する.
echo "Open JTalkのソースコードはオープンソースで修正BSDライセンスとなっていますが、
ボイスファイルはクリエイティブコモンズ3.0非移植となっています。" \
> sample.txt
openjtalk/bin/open_jtalk \
-m ./MMDAgent_Example-1.8/Voice/mei/mei_normal.htsvoice \
-x openjtalk/dic/ \
-ow sample.wav \
sample.txt