Open JTalkでも喋ってもらおうか
aquesTalk Pi でゆっくり声で話すことが可能になったけど、OpenJTalkというやつにも興味があったので、入れてみた。
ラズベリーパイ3でOpen JTalkでも喋らせることにした。
Raspberry Pi 3 Model Bで日本語音声を合成して喋らせる方法(Open JTalk編)
(ラズパイ3で 音声合成システム Open JTalkをコンパイルして、お手軽に日本語の文章を喋らせる方法)
↑ここをガチで参考にさせてもらいました。
$ sudo apt-get -y install open-jtalk libhtsengine1 open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001
$ open_jtalk -h
$ echo "こんにちは" | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice -ow ~/ojtalk.wav
$ aplay ~/ojtalk.wav
↑ここまで打ち込んだら、「こんにちは」と男の声が聞こえてきた。ロボットっぽい。
ojtalk.shというファイルを作成する必要があるようで、その内容は下記の内容にする必要があるみたい。
----------------------------
#!/bin/sh
TMP=/tmp/ojtalk_tmp.wav
echo "$1" | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice -ow $TMP
aplay --quiet $TMP
rm -f $TMP
----------------------------
$ sudo vim ojtalk.sh
nanoの使い方わからないので、vimで編集することにした。iを押したら挿入で、上記の内容を貼り付けて、Escキーで挿入モードを抜けて、Shiftキー+ZZで上書き保存した。
$ sudo chmod 755 ojtalk.sh
$ ./ojtalk.sh あいうえお。日本語音声合成です。
おーできた!☆☆☆
流暢に男の人が喋った。
$ ./ojtalk.sh マスター、よろしくお願いします。僕、ウィーゴです。
こわいよ。。。おっさんがしゃべってるよ。青年と中年のはざまかよ。
$ ./ojtalk.sh お嬢さん、こちらをご覧ください。
イントネーションが若干おかしい。
$ ./ojtalk.sh ハイ、マム。本日の天気をお知らせします。本日は冬らしい気圧配置、夜は一段と冷えます。お気をつけ下さい。
ハイ、マムのマムのイントネーションがちょっとおかしい。
$ ./ojtalk.sh Hello,nice to meet you.
英語はダメだこの子。えいちいーえるえるおーって言い始めた。to meet you 何故か言わないし。
$ ./ojtalk.sh マスター。ご主人様。ロック様。何か御用はございますか?
マスター、がわかりやすいかなぁ。
ちなみに2歳の次男は、おじいちゃんしゃべってる!!と言ってた。うちのじいさんの声に似てるのかな。。。低さ的に。
メイさんの声に手を出してみる
nitech_jp_atr503_m001が男性の音声データなので女性の音声データを使用する。
というところに沿ってメイさんの声を使ってみる。
http://www.mmdagent.jp/
↑メイさんの声はここにあるっぽい。
$ wget http://tenet.dl.sourceforge.net/project/mmdagent/MMDAgent_Example/MMDAgent_Example-1.6/MMDAgent_Example-1.6.zip
$ unzip MMDAgent_Example-1.6.zip
$ mv -f ./MMDAgent_Example-1.6/Voice/mei/ ./Voice_mei/
$ rm -r -f ./MMDAgent_Example-1.6
$ echo "こんにちは" | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m ~/Voice_mei/mei_normal.htsvoice -ow ~/ojtalk.wav
$ aplay ~/ojtalk.wav
ojtalk_mei.shというのを下記の内容で作るようだ。
----------------------------
#!/bin/sh
TMP=/tmp/ojtalk_tmp.wav
echo "$1" | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m ~/Voice_mei/mei_normal.htsvoice -ow $TMP
aplay --quiet $TMP
rm -f $TMP
----------------------------
$ sudo vim ojtalk_mei.sh
nanoの扱い方が相変わらずわからないのでvimで編集
$ sudo chmod 755 ojtalk_mei.sh
$ ./ojtalk_mei.sh あいうえお。日本語音声合成です。
女の人の声でクリアにはっきり聞こえた。少女と女性の間ぐらい?いや、女性か。はっきりとしゃべる受付嬢のような声だ。
$ ./ojtalk_mei.sh こんにちは、僕、ウィーゴです。マスター、はじめまして。
ウィーゴのイントネーションがおかしい。
Open JTalkで使用する音響モデル htsvoiceファイルはググルと出てくる。
Open JTalkでは Version 1.06から音声合成の音響モデルとして .htsvoice形式のファイルを使用します。
htsvoiceファイルは上記の nitech_jp_atr503_m001と MMDAgent Meiの他にもググレば出てきます。
ほうほう。ミクさんの声をしている人もいたしな。私はもう少し少年っぽいロボットっぽい声がほしいぞ。
というページでいろいろ紹介があった。
ざっと見た感じ、少年っぽいロボットっぽい声がないなぁ。
まぁメイさんの声でもいいんだけど。クリアに聞こえるし。でも英語喋れないのが少し致命的だ。。。
ハッピーなメイさんの声を使ってみる
メイさんの声はハッピーな声もあるようなので、ハッピーバージョンの喋り方も見様見真似でやってみる。
$ sudo vim ojtalk_meih.sh
ojtalk_meih.shというデータを作るよ!meihのhはhappyのh。
----------------------------
#!/bin/sh
TMP=/tmp/ojtalk_tmp.wav
echo "$1" | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m ~/Voice_mei/mei_happy.htsvoice -ow $TMP
aplay --quiet $TMP
rm -f $TMP
----------------------------
$ sudo chmod 755 ojtalk_meih.sh
$ ./ojtalk_meih.sh あいうえお。日本語音声合成です
心なしか、ハッピーな感じで喋ってる。
$ ./ojtalk_meih.sh こんにちは、僕、ウィーゴです。あのね!僕。今日生まれたんだよ!
文章打ち込んでエンターして数秒経ってから喋り出す感じ。
とりあえずしゃべるようになったよねーやったー☆