mieki256's diary



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、男性の声のデータ、辞書をインストールする。
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 "新しい朝が来た 希望の朝だ"
女性の声で音声が鳴った。

以上です。

過去ログ表示

Prev - 2020/09 - Next
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project