ほとんど以下のサイトの焼き直しです。感謝!
Mac OS X Lion で OpenJTalk-1.05 を動かす
これはclangでOpenJTalkのビルドにつまずいた人向けの文書です。
clangでやりたい人は以下参照
http://qiita.com/yawara/items/2cb20f7bbb07615229ec
準備
/usr/local以下にOpenJTalkディレクトリを用意する。
その下にvoiceディレクトリをそれぞれ用意する。
mkdir -p /usr/local/OpenJTalk/voice
ストレートにclangでビルドしようとすると、unknown argumentsのエラーに出会うのでgccを用意する。
以下ではHomebrew経由でgccをインストールしたものとする。
brew install gcc
hts_engine APIのインストール
ターボールは以下のリンクから。
http://sourceforge.net/projects/hts-engine/files/hts_engine%20API/hts_engine_API-1.09/hts_engine_API-1.09.tar.gz/download?use_mirror=jaist
例によって
tar xzvf hts_engine_API-1.09.tar.gz
cd hts_engine_API-1.09
CC=/usr/local/bin/gcc-4.9 CXX=/usr/local/bin/g++-4.9 ./configure --prefix=/usr/local/OpenJTalk
make && make install
おそらくhts_engineのビルドにはgccは必要ない。ただ使っても問題ない。
OpenJTalkのインストール
ターボールは以下のリンクから。
http://downloads.sourceforge.net/open-jtalk/open_jtalk-1.08.tar.gz
例によって
tar xzvf open_jtalk-1.08.tar.gz
cd open_jtalk-1.08
ここで内容によって読み上げの間延びをしてしまうのをふせぐために以下のパッチを用意する。
詳しくは『OpenJTalkの導入』を参照のこと。
パッチのコードは上記サイトからコピペしてきた。
cat<<EOF>manobi.patch
*** jpcommon/jpcommon_label.c.orig 2012-12-24 17:18:53.000000000 +0900
--- jpcommon/jpcommon_label.c 2013-05-27 16:35:45.195252424 +0900
***************
*** 284,289 ****
--- 284,290 ----
if (index == a)
break;
}
+ if (i > 3) i = 3;
return i;
}
***************
*** 383,388 ****
--- 384,390 ----
for (i = 0, index = m->next; index != NULL; index = index->next)
i++;
+ if (i > 10) i = 10;
return index_mora_in_utterance(m) + i;
}
EOF
パッチを適用する。
patch -p0 < manobi.patch
環境変数CC、CXXでそれぞれC、C++のコンパイラにGCCを指定してビルドする。
CC=/usr/local/bin/gcc-4.9 CXX=/usr/local/bin/g++-4.9 ./configure --prefix=/usr/local/OpenJTalk --with-hts-engine-header-path=/usr/local/OpenJTalk/include --with-hts-engine-library-path=/usr/local/OpenJTalk/lib --with-charset=UTF-8
make && make install
ここで、-with-hts-engine-header-pathと--with-hts-engine-library-pathとが先ほどインストールしたhts_engine APIのヘッダーとライブラリを参照している。
HTS Voiceのインストール
バイナリなので解凍してvoice以下に設置する。
利便性のために適当なシンボリックリンクを貼る。
tar xzvf hts_voice_nitech_jp_atr503_m001-1.05.tar.gz
mv hts_voice_nitech_jp_atr503_m001-1.05 /usr/local/OpenJTalk/voice
cd /usr/local/OpenJTalk/voice
ln -s hts_voice_nitech_jp_atr503_m001-1.05 m001
インストール完了!
OpenJTalkを使ってみる。
sample.txt中のテキストを読み上げてout.wavとして出力。
open_jtalk -x /usr/local/OpenJTalk/dic -m /usr/local/OpenJTalk/voice/m001/nitech_jp_atr503_m001.htsvoice -ow out.wav sample.txt
- -xで辞書ディレクトリを指定。
- -mでHTS Voiceファイルを指定。
- -owでアウトプットのファイル名指定。