kledgeb Ubuntuの使い方や日本語化、アプリの使い方を紹介しています。

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」の記述をシェルスクリプトから削除してください。


関連記事一覧
オプション