ラズパイ3倍美味しいブログ

ラズパイ3を美味しく食べるはずがinto the VR!!!

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の他にもググレば出てきます。

ほうほう。ミクさんの声をしている人もいたしな。私はもう少し少年っぽいロボットっぽい声がほしいぞ。

Open JTalk の音響モデルを試す::まほろば

というページでいろいろ紹介があった。
ざっと見た感じ、少年っぽいロボットっぽい声がないなぁ。
まぁメイさんの声でもいいんだけど。クリアに聞こえるし。でも英語喋れないのが少し致命的だ。。。

 

ハッピーなメイさんの声を使ってみる

メイさんの声はハッピーな声もあるようなので、ハッピーバージョンの喋り方も見様見真似でやってみる。
$ 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 こんにちは、僕、ウィーゴです。あのね!僕。今日生まれたんだよ!
文章打ち込んでエンターして数秒経ってから喋り出す感じ。

とりあえずしゃべるようになったよねーやったー☆