2020/09/23(水) [n年前の日記]
#1 [raspberrypi] Raspberry Pi Zero WでOpenJTalkを使って音声合成
Raspberry Pi Zero W + Raspbian Buster で、OpenJTalk を使って音声合成をしてみたり。
以下、参考ページ。
_Speaker pHAT 単体で音楽再生+Bluetoothボタン制御
_Raspberry Pi | ラズパイに喋ってもらう作戦(Open JTalk1.08のインストールと音声出力設定) - たぷん日記
必要なパッケージをインストール。OpenJTalk、男性の声のデータ、辞書をインストールする。
音声合成を指示するためのスクリプトを新規作成。OpenJTalkに音声データや辞書を指定してwavファイルを作成して、ソレを鳴らしてから、wavファイルを削除、という処理をしているらしい。
スクリプトに実行権限を追加。
再生確認。
女性の声も鳴らしてみる。
以下、参考ページ。
_Speaker pHAT 単体で音楽再生+Bluetoothボタン制御
_Raspberry Pi | ラズパイに喋ってもらう作戦(Open JTalk1.08のインストールと音声出力設定) - たぷん日記
必要なパッケージをインストール。OpenJTalk、男性の声のデータ、辞書をインストールする。
sudo apt install open-jtalk open-jtalk-mecab-naist-jdic hts-voice-nitech-jp-atr503-m001
音声合成を指示するためのスクリプトを新規作成。OpenJTalkに音声データや辞書を指定してwavファイルを作成して、ソレを鳴らしてから、wavファイルを削除、という処理をしているらしい。
vi jsaym.sh
#!/bin/sh TMP=/tmp/jsay.wav echo "$1" | open_jtalk \ -m /usr/share/hts-voice/nitech-jp-atr503-m001/nitech_jp_atr503_m001.htsvoice \ -x /var/lib/mecab/dic/open-jtalk/naist-jdic \ -ow $TMP && \ aplay --quiet $TMP rm -f $TMP
スクリプトに実行権限を追加。
chmod +x jsaym.sh
再生確認。
./jsaym.sh "hello world talk test"男性の声で音声が鳴った。
女性の声も鳴らしてみる。
mkdir ~/temp cd ~/temp wget --content-disposition https://sourceforge.net/projects/mmdagent/files/MMDAgent_Example/MMDAgent_Example-1.8/MMDAgent_Example-1.8.zip/download unzip MMDAgent_Example-1.8.zip sudo cp -R ./MMDAgent_Example-1.8/Voice/mei /usr/share/hts-voice/ cd ..
vi jsayf.sh
#!/bin/sh CMDNAME=`basename $0` if [ $# -lt 1 ]; then echo "Usage: ${CMDNAME} [ text ]" 1>&2 exit 1 fi TMPFILE=`mktemp /tmp/tmp.XXXXXXXX.wav` DIC=/var/lib/mecab/dic/open-jtalk/naist-jdic VOICE=/usr/share/hts-voice/mei/mei_normal.htsvoice echo "$1" | open_jtalk \ -m ${VOICE} \ -x ${DIC} \ -ow ${TMPFILE} && \ aplay --quiet ${TMPFILE} rm -f ${TMPFILE} exit 0
chmod +x jsayf.sh
./jsayf.sh "新しい朝が来た 希望の朝だ"女性の声で音声が鳴った。
[ ツッコむ ]
以上です。