ガジェット

Raspberry Pi(ラズパイ)を音声合成で日本語をしゃべらせてみた!(OpenJTalk)

ラズパイを音声合成で日本語をしゃべらせてみた!

「ラズパイを音声合成でしゃべらせてみたい!」

ラズパイは最近IoTデバイスとして注目されています。

ラズパイはいわば小さいパソコンで、色々なことが出来ます。

前回、そんなラズパイをセットアップしてみました。

ヨシタカ
ヨシタカ
さて、次は何をしてみようかな?

そうだ!

ヨシタカ
ヨシタカ
ラズパイをしゃべらせてみよう!

ってことで、こんな感じでテキストをラズパイが読み上げてくれます。

ラズパイからアレクサに喋りかけると、ちゃんとアレクサも反応してくれました♪

これで、いちいち自分で声をださなくてもラズパイがアレクサに声で頼んでくれますね!

ヨシタカ
ヨシタカ
OpenJTalkを使うことで簡単にできます^^

今回はそんなラズパイを音声合成でしゃべらせる方法をご紹介します。

ラズパイを音声合成でしゃべらせるのに必要なもの

まずラズパイを用意します。

今回はラズパイゼロで動いているこちらのキットを使いました。

created by Rinker
Raspberry Pi Shop by KSY
¥8,800
(2020/04/08 21:24:22時点 Amazon調べ-詳細)

Google AIY Voice Kit V2の組み立てについては、こちらの記事をご参照あれ^^

Google AIY Voice Kit
Google AIY Voice Kit V2の組み立てからセットアップ方法(ラズパイゼロWH)「なにやらスマートスピーカーが流行ってる」 「ちょっと自分でスマートスピーカーの中身をいじってみたいな」 今回は、Googl...

他にも、ラズパイとスピーカーを用意すれば可能です。

Raspberry Pi 3 Model b+のセットアップについてはこちらの記事をお読み下さいね♪

ラズパイセットアップ
Raspberry Pi(ラズパイ)初心者のためのかんたんセットアップ手順(ABOX Raspberry Pi 3 Model b+)Raspberry Pi(ラズベリーパイ)って興味あるけどセットアップって難しそう・・・。 ラズパイって周辺機器と相性があるんだっ...

リモート接続設定についてはこちらの記事をご参考にしてください。

ラズパイにディスプレイを接続する必要がなく、外部PCからいじれるので便利です♪

VNC VIEWERリモート接続
Raspberry Pi(ラズパイ)をSSHとVNC設定してリモート接続してみた!【Windows10】「さあRaspberry Pi(ラズパイ)の初期設定が完了したぞ!」 「次は何をしようかな?」 Raspberry Pi(ラ...

ラズパイを音声合成でしゃべらせるまでの流れ

では、さっそくラズパイの準備が出来たところで進めていきましょう!

簡単な流れは以下です。

ラズパイをしゃべらせるまでの流れ
  1. Open JTalkをインストール
  2. スクリプトファイル作成
  3. オーディオ設定
  4. MMDagentをダウンロード
  5. 女性の声に変更
  6. しゃべらせてみる
  • STEP01
    Open JTalkをインストール

    まずは、Open JTalkをインストールします。

    sudo apt-get install -y open-jtalk open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001
  • STEP02
    スクリプトファイルを作成

    次に、スクリプトファイルを作成します。

    音声スクリプト作成

    テキストエディターを使ってjtalk.shというスクリプト名のファイルを作ります。

    sudo nano jtalk.sh

    テキストエディターを開いたら、下記ファイルをコピペします。

    #!/bin/bash
    tempfile=`tempfile`
    option="-m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice \
    -x /var/lib/mecab/dic/open-jtalk/naist-jdic \
    -ow $tempfile"
    
    echo "$1" | open_jtalk $option
    aplay -q $tempfile
    rm $tempfile

    コピペしたら、『Ctrlキー』と『Oキー』で書き込みすることが出来ます。

    動作は下記です。

    open_jtalkコマンドで、tempfileにwavファイルを作り、aplayコマンドでtempfileを再生し、最後にtempfileを削除します。

    optionの-mは使う音声データ、-xは使う辞書、-owは保存するファイル名を表しています。

    echo "<日本語>" | open_jtalk -m <音響モデル> -x <辞書ディレクトリ> -ow <出力WAVファイル>

    スクリプトファイルができたら、実行可能になるように権限を変更します。

    sudo chmod 755 jtalk.sh

    chmod:ファイルのパーミッション(許可属性)を変更するためのコマンドです。755の意味は、rwx(7)r-x(5)r-x(5)= 755を表しています。その所有者は読み出せて、書き込めて、実行できる。そのグループは、読み出せて、実行できる。その他のユーザは、読み出せて、実行できる。という権限を付与しています。

  • STEP03
    オーディオ設定

    お次はオーディオ設定。

    amixer cset numid=3 1

    上記のコマンドによりオーディオ出力端子で音声を出力するよう設定します。

    HDMIケーブルをつないでいる場合、下記コマンドにより出力先を変更できます。

    amixer cset numid=3 2

    あとは、音量の調整をします。

    alsamixer

    キーボードの↑矢印キーや↓矢印キーで音量を調整できます。

    オーディオ設定
    ヨシタカ
    ヨシタカ
    はじめ、この設定で音量がゼロになっていて全然音が出ませんでした。。

    お忘れなく、音量設定を確認しましょう♪

    これで、下記コマンド実行すると男性の声でしゃべってくれます。

    ./jtalk.sh "こんにちは!"
  • STEP04
    MMDagentをダウンロード

    次は、MMDagentをダウンロード。

    男性の声を女性の声に変更することが出来ます。

    wget https://sourceforge.net/projects/mmdagent/files/MMDAgent_Example/MMDAgent_Example-1.7/MMDAgent_Example-1.7.zip --no-check-certificate
  • STEP05
    女性の声に変更

    女性の声にするために先程ダウンロードしたファイルを参照してあげます。

    下記の通りスクリプトファイルを編集します。

    先程の男性の声をメイちゃんの声に変更します。

    変更箇所は3行目です。

    sudo nano jtalk.sh
    #!/bin/bash
    tempfile=`tempfile`
    option="-m /usr/share/hts-voice/mei/mei_normal.htsvoice \
    -x /var/lib/mecab/dic/open-jtalk/naist-jdic \
    -ow $tempfile"
    
    echo "$1" | open_jtalk $option
    aplay -q $tempfile
    rm $tempfile
  • STEP06
    しゃべらせてみる

    では、さっそくラズパイをしゃべらせてみましょう!

    ./jtalk.sh "アレクサ!こんにちは!"

以上の流れで、こんな感じでラズパイがしゃべってくれました♪

その他、女性の音声データがあるので、スクリプトファイルを書き換えてみると面白いです。

  1. mei_normal
  2. mei_angry
  3. mei_happy
  4. mei_bashful
  5. mei_sad

ラズパイで音声合成:まとめ

今回はラズパイを音声合成でしゃべらせてみました!

ラズパイをしゃべらせるまでの流れ
  1. Open JTalkをインストール
  2. スクリプトファイル作成
  3. オーディオ設定
  4. MMDagentをダウンロード
  5. 女性の声に変更
  6. しゃべらせてみる

OpenJTalkをインストールしてスクリプトファイルを読み込んでスピーカーで鳴らす。

簡単に設定することが出来ました。

ちょっと喋り方が不自然ですがこれも愛嬌ってことで。

ちゃんとアレクサも反応してくれました♪

ヨシタカ
ヨシタカ
自分の声で喋りたくない時とかに活用できるかも・・・。

ぜひ、色々と遊んでみて下さいね。

今回使ったラズパイキットはこちらです。

created by Rinker
Raspberry Pi Shop by KSY
¥8,800
(2020/04/08 21:24:22時点 Amazon調べ-詳細)

ラズパイの取り組みは下記記事にまとめてます。

ヨシタカ
ヨシタカ
ぜひ、こちらもお読み下さい♪
ラズパイTOP
Raspberry Pi(ラズパイ)初心者のおすすめ活用方法Raspberry Pi(ラズベリーパイ、通称ラズパイ)で色々と遊んでます^^ ラズベリーパイは、英ラズベリーパイ財団が開発した超...

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です