Mac で Open JTalk を使って日本語を喋らせてみた

かつて Text To Speech で作られた Flash を楽しんでいた自分。最近は東方も知らないのに「ゆっくり実況」や「ゆっくり解説」動画をたまに眺める日々。

そこで自分も音声読み上げツールを触ってみようと思い、簡単そうな Open JTalk を試してみることにした。

目次

Open JTalk をインストールする

Open JTalk は Homebrew でインストールできる。辞書ファイルなどもセットで導入できるようになっている。

$ brew install open-jtalk

んおー簡単。

Open JTalk を使う

コマンドラインで使うには、次のようにする。

# 喋らせたい文字列をテキストファイルに書き出しておく
$ echo 'こんにちは世界' > input.txt

# 辞書と音声を指定して WAVE ファイルを書き出す
$ open_jtalk \
  -x /usr/local/Cellar/open-jtalk/1.11/dic/ \
  -m /usr/local/Cellar/open-jtalk/1.11/voice/mei/mei_normal.htsvoice \
  -ow output.wav \
  input.txt

# 書き出した WAVE ファイルを Mac 標準搭載の Audio File Play コマンドで実行する
$ afplay output.wav

-m オプションで指定する音声ファイルを voice/ ディレクトリ配下から適当に選ぶと、声色が変えられる。

ワンライナーにするならこんな感じ。

$ echo 'こんにちは世界' | open_jtalk -x /usr/local/Cellar/open-jtalk/1.11/dic/ -m /usr/local/Cellar/open-jtalk/1.11/voice/mei/mei_normal.htsvoice -ow output.wav && afplay output.wav

なめらかに喋るし良い感じだ。ラズパイでも動作するライブラリらしいので、音声認識ツールと組み合わせてスマートスピーカーっぽいこと出来そう。

参考文献

英語だけなら espeak というコマンドもあるらしい。

$ brew install espeak
$ espeak 'Hello World'