この記事は2020年に書いた記録です。商品やサービスの情報は当時のものなので、今の状況は公式のページで確かめてください。
「ラズパイを音声合成でしゃべらせてみたい!」 ラズパイは最近IoTデバイスとして注目されています。 ラズパイはいわば小さいパソコンで、色々なことが出来ます。 前回、そんなラズパイをセットアップしてみました。さて、次は何をしてみようかな?
ラズパイをしゃべらせてみよう!
ラズパイからアレクサに喋りかけると、ちゃんとアレクサも反応してくれました♪ これで、いちいち自分で声をださなくてもラズパイがアレクサに声で頼んでくれますね!【ラズパイを音声合成でしゃべらせてみた!】
ラズパイにOpen JTalkをインストールして、スクリプトファイルを作成。 こんなに簡単に音声合成で喋らせることが出来るなんて便利な世の中です😳 アレクサと楽しくお喋り出来るかな😉#ラズパイいじり pic.twitter.com/W6XZPfxHrZ — ねじま🍤趣味ブログ初級者Lv.2 (@ystk_rl) January 14, 2020
OpenJTalkを使うことで簡単にできます^^
目次
ラズパイを音声合成でしゃべらせるのに必要なもの
まずラズパイを用意します。 今回はラズパイゼロで動いている Google AIY Voice Kit V2 を使いました。 Google AIY Voice Kit V2の組み立てについては、こちらの記事をご参照あれ^^ https://rikei-life.com/google-aiy-voice-kit-v2-setup/ 他にも、ラズパイとスピーカーを用意すれば可能です。 Raspberry Pi 3 Model b+のセットアップについてはこちらの記事をお読み下さいね♪ https://rikei-life.com/raspberry-pi-setup/ リモート接続設定についてはこちらの記事をご参考にしてください。 ラズパイにディスプレイを接続する必要がなく、外部PCからいじれるので便利です♪ https://rikei-life.com/raspberry-pi-ssh-vnc/ラズパイを音声合成でしゃべらせるまでの流れ
では、さっそくラズパイの準備が出来たところで進めていきましょう! 簡単な流れは以下です。ラズパイをしゃべらせるまでの流れ
- Open JTalkをインストール
- スクリプトファイル作成
- オーディオ設定
- MMDagentをダウンロード
- 女性の声に変更
- しゃべらせてみる
ラズパイをしゃべらせよう!
- Open JTalkをインストール
まずは、Open JTalkをインストールします。
sudo apt-get install -y open-jtalk open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001 - スクリプトファイルを作成
次に、スクリプトファイルを作成します。

テキストエディターを使ってjtalk.shというスクリプト名のファイルを作ります。
テキストエディターを開いたら、下記ファイルをコピペします。sudo nano jtalk.sh
コピペしたら、『Ctrlキー』と『Oキー』で書き込みすることが出来ます。 動作は下記です。 open_jtalkコマンドで、tempfileにwavファイルを作り、aplayコマンドでtempfileを再生し、最後にtempfileを削除します。 optionの-mは使う音声データ、-xは使う辞書、-owは保存するファイル名を表しています。#!/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 $tempfileecho "<日本語>" | open_jtalk -m <音響モデル> -x <辞書ディレクトリ> -ow <出力WAVファイル>スクリプトファイルができたら、実行可能になるように権限を変更します。sudo chmod 755 jtalk.shchmod:ファイルのパーミッション(許可属性)を変更するためのコマンドです。755の意味は、rwx(7)r-x(5)r-x(5)= 755を表しています。その所有者は読み出せて、書き込めて、実行できる。そのグループは、読み出せて、実行できる。その他のユーザは、読み出せて、実行できる。という権限を付与しています。 - オーディオ設定
お次はオーディオ設定。
上記のコマンドによりオーディオ出力端子で音声を出力するよう設定します。 HDMIケーブルをつないでいる場合、下記コマンドにより出力先を変更できます。amixer cset numid=3 1
あとは、音量の調整をします。amixer cset numid=3 2
キーボードの↑矢印キーや↓矢印キーで音量を調整できます。alsamixer
お忘れなく、音量設定を確認しましょう♪ これで、下記コマンド実行すると男性の声でしゃべってくれます。
ねじま
はじめ、この設定で音量がゼロになっていて全然音が出ませんでした。。./jtalk.sh "こんにちは!" - MMDagentをダウンロード
次は、MMDagentをダウンロード。
男性の声を女性の声に変更することが出来ます。
wget https://sourceforge.net/projects/mmdagent/files/MMDAgent_Example/MMDAgent_Example-1.7/MMDAgent_Example-1.7.zip --no-check-certificate - 女性の声に変更
女性の声にするために先程ダウンロードしたファイルを参照してあげます。
下記の通りスクリプトファイルを編集します。
先程の男性の声をメイちゃんの声に変更します。
変更箇所は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 - しゃべらせてみる
では、さっそくラズパイをしゃべらせてみましょう!
./jtalk.sh "アレクサ!こんにちは!"
その他、女性の音声データがあるので、スクリプトファイルを書き換えてみると面白いです。【ラズパイを音声合成でしゃべらせてみた!】
ラズパイにOpen JTalkをインストールして、スクリプトファイルを作成。 こんなに簡単に音声合成で喋らせることが出来るなんて便利な世の中です😳 アレクサと楽しくお喋り出来るかな😉#ラズパイいじり pic.twitter.com/W6XZPfxHrZ — ねじま🍤趣味ブログ初級者Lv.2 (@ystk_rl) January 14, 2020
ラズパイで音声合成:まとめ
今回はラズパイを音声合成でしゃべらせてみました!ラズパイをしゃべらせるまでの流れ
- Open JTalkをインストール
- スクリプトファイル作成
- オーディオ設定
- MMDagentをダウンロード
- 女性の声に変更
- しゃべらせてみる
自分の声で喋りたくない時とかに活用できるかも・・・。
ぜひ、こちらもお読み下さい♪
しゃべらせる応用として、Google Homeをしゃべらせてみたもあります。
