MMDAgentのmeiの音声データを利用する
「Open JTalk」では、「MMDAgent」のmeiの音声データを利用することができます。ここではmeiの音声データで「Open JTalk」を利用してみます。
1.MMDAgentのサンプルをダウンロードする
meiの音声データがサンプルに含まれているため、まず「MMDAgent」のサンプルをダウンロードします。ブラウザーで「MMDAgent」のページを開き、「MMDAgent "Sample Script"」の「Binary Package」をクリックすれば、「MMDAgent」のサンプルをダウンロードできます。
2.音声データの展開
ダウンロードしたサンプル(圧縮ファイル)を「アーカイブマネージャー」で開きます。「/MMDAgent_Example-1.4/Voice/」に移動すると、以下のように「mei」フォルダーが見つかります。
「mei」フォルダーを展開します。
ここでは例として「~/」に展開しました。
3.音声データの確認
展開した「mei」フォルダーを開くと、以下のように5種類の音声データが見つかります。5種類の感情が用意されています。
ファイル | 感情 |
---|---|
mei_angry.htsvoice | 怒り |
mei_bashful.htsvoice | 恥じらい |
mei_happy.htsvoice | 喜び |
mei_normal.htsvoice | 平常 |
mei_sad.htsvoice | 悲しみ |
使い方
音声データの使い方です。すでに「open_jtalkコマンドの説明」でも説明しているとおり、「-m」オプションで音声データ(ファイル)を指定すればよいです。
ここでは「Open JTalkのテストを行う」で行ったテストを、音声データのみ変更して行ってみます。
赤字の箇所が変更した箇所です。
echo 今日の天気は晴れです。 | open_jtalk -x /var/lib/mecab/dic/open-jtalk/naist-jdic -m ~/mei/mei_normal.htsvoice -ow ~/open_jtalk.wav
出来上がったWAVファイルを再生してみてください。
meiの音声で文章を読み上げるシェルスクリプト
meiの音声で文章を読み上げるシェルスクリプトを作成しました。また比較のため、「Open JTalkのテストを行う」でインストールした音声データでも文章を読み上げます。
1.シェルスクリプトの作成
「テキストエディター」を起動し、シェルスクリプトを作成します。シェルスクリプトの中身は、以下をコピー&ペーストしてください。
#!/bin/bash text=$1 dictionary=/var/lib/mecab/dic/open-jtalk/naist-jdic if [ -z "$text" ]; then echo "日本語の文章を指定してください。" exit fi function createAndPlay(){ echo $text | open_jtalk -x $dictionary -m $1 -ow $2 echo "音声データ:$1 , WAVファイル:$2" if [ -f $2 ]; then aplay $2 rm -f $2 else echo "WAVファイルの生成に失敗しました。" fi } function talk(){ local voiceFile=~/mei/mei_$1.htsvoice local wavFile=~/open_jtalk_mei_$1.wav createAndPlay $voiceFile $wavFile } function talknitech(){ local voiceFile=/usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice local wavFile=~/open_jtalk_nitech.wav createAndPlay $voiceFile $wavFile } talk angry talk bashful talk happy talk normal talk sad talknitech
2.シェルスクリプトの保存
シェルスクリプトを保存します。ここでは例として「~/mei.sh」に保存しました。
3.実行権限の付与
シェルスクリプトなので、以下のように実行権限を付与します。4.シェルスクリプトの実行
作成したシェルスクリプトは、事前に「端末」を起動し、「端末」から行ってください。オプションに指定した日本語の文章を読み上げます。
ここでは例として以下のコマンドを実行します。
~/mei.sh ウブントゥとは、コミュニティにより開発されているオペレーティングシステムです。
5.文章の読み上げ
以下のように文章の読み上げが始まります。WAVファイルを残したい場合は
このシェルスクリプトでは、生成したWAVファイルを再生後に削除しています。生成したWAVファイルを削除せずに残したい場合は、17行目の「rm -f $2」の記述をシェルスクリプトから削除してください。