Raspberry PiとVOICEVOXを使って好みの音声で喋らせてみる

Raspberry PiとVOICEVOXを使って好みの音声で喋らせてみるサムネイル画像 RaspberryPi

はじめに

ラズパイを喋らせたく、OpenJTalkを使っていろんな文章を読み上げさせてみました。

OpenJTalkは非常に便利でシンプルなコーディングでPythonでも簡単に実行することが可能です。


しかし、もっと自然な感じで話してほしい!!!というのが正直な感想でした。

いろいろと調べてみるとVOICEVOXというものを使うと様々なキャラクターと性格を指定できるみたいです!
魅力的な機能だったのでラズパイに入れてみました。



OpenJTalk関連の記事はこちらをどうぞ

Raspberry Piで合成音声OpenJTalkに喋ってもらう
今回はRaspberry PiにOpenJTalkという合成音声ライブラリを利用して喋らせてみました! 意外と手順が少ないので簡単に喋らせることができました! OpenJTalkとは OpenJTalkは名古屋工業大学で開発された文章を合成...
Raspberry Piに入れたOpenJTalkをPythonで動かしてみよう
Raspberry Piに導入したOpenJTalkをPythonで実行してみたいと思います。Pythonと組み合わせることで様々な処理と組み合わせることができそうです! OpenJTalkの導入 OpenJTalkをまだラズパイに入れてい...




VOICEVOXの導入

VOICEVOX coreのインストール

まずは作業用ディレクトリの作成と仮想環境の作成を行いました。
ラズパイでの仮想環境の実行方法を備忘録として記載します。

source [仮想環境名]/bin/activate



作業用ディレクトリに移動して仮想環境の準備ができたら、
VOICEVOXのインソールを進めていく。
次のコマンドを順番に実施して必要なデータをダウンロードしていきます。

wget https://github.com/VOICEVOX/voicevox_core/archive/refs/tags/0.11.4.zip
unzip 0.11.4.zip
cd voicevox_core-0.11.4/
mkdir release
cd release
wget https://github.com/VOICEVOX/voicevox_core/releases/download/0.11.4/core.zip
unzip -j core.zip




ONNXのインストール

ラズパイのOSのバージョンによって指定コマンドが違うようなので、
次のコマンドで「32bit OS」か「64bit OS」なのか確認します。

cat /proc/cpuinfo


私のラズパイは「32bit OS」だと判明したので次のコマンドを実行します。

cd ~/voicevox_core-0.11.4/

python configure.py --ort_download_link https://github.com/VOICEVOX/onnxruntime-builder/releases/download/1.10.0.1/onnxruntime-linux-armhf-cpu-v1.10.0.tgz


コマンドを実行すると利用するライブラリを指定しろと出てきます。
ここで64bitではない①を指定します。

please enter number to select which library to use.
0: /home/user/ドキュメント/OpenJTalk_projects/voicevox_core-0.11.4/release/libcore_cpu_arm64.so
1: /home/user/ドキュメント/OpenJTalk_projects/voicevox_core-0.11.4/release/libcore_cpu_armhf.so
2: /home/user/ドキュメント/OpenJTalk_projects/voicevox_core-0.11.4/release/libcore_gpu_x64_nvidia.so
3: /home/user/ドキュメント/OpenJTalk_projects/voicevox_core-0.11.4/release/libcore_cpu_x64.so


指定ができたらrequirementsの内容をインストールします。

pip install -r requirements.txt
pip install .




VOICEVOXを実行してみる

導入が完了したので、実行段階に入っていきます。
次のコマンドを順番に実行していきます。

3つ目のコマンドでは読み上げてほしい文章を–text” “の中に記載しています。コマンドを実行すると音声ファイルが生成されます。

そして4つ目のコマンドで生成したファイルを実行します。

cd ~/voicevox_core-0.11.4/example/python/

pip install -r requirements.txt

python run.py --text "「言葉」ではなく「心」で理解できた!" --speaker_id 7 --root_dir_path="../../release" 

aplay 「言葉」ではなく「心」で理解できた!-7

実行してみると、想像よりも自然な感じで文章が読み上げられました!!

音声ファイルの生成は少し時間がかかるようですが、読み上げに関してはキャラクターボイスの指定やピッチなど細かい指定ができるので文句ないです!


知っておきたい備忘録

音声の変更方法

音声のキャラクターや性格指定はspeaker_idで変更が可能です。
speaker_id を変更することで、様々な文章をいろんな音声で試すことが可能です。

speaker_idの一覧

四国めたん
 ・ノーマル : 2
 ・あまあま : 0
 ・ツンツン : 6
 ・セクシー : 4
ずんだもん
 ・ノーマル : 3
 ・あまあま : 1
 ・ツンツン : 7
 ・セクシー : 5
春日部つむぎ
 ・ノーマル : 8
雨晴はう
 ・ノーマル : 10
波音リツ
 ・ノーマル : 9
玄野武宏
 ・ノーマル : 11
白上虎太郎
 ・ノーマル : 12
青山龍星
 ・ノーマル : 13
冥鳴ひまり
 ・ノーマル : 14
九州そら
 ・ノーマル : 16
 ・あまあま : 15
 ・ツンツン : 18
 ・セクシー : 17
 ・ささやき : 19


コマンドのオプションの内容

音声ファイルを作成する際に、次のオプションを変更することでより好みの音声を出力することが可能です。
特にspeaker_id 音高の補正値などはいろいろと試してみると面白そうです。

# --text 読み上げる文章
# --speaker_id 文章を読み上げるキャラクターid
# --root_dir_path 必要なファイルが置いてあるパスの指定
# --f0_speaker_id 音高の話者id(デフォルト値はspeaker_id)
# --f0_correct 音高の補正値(デフォルト値は0)


参考リンク

https://voicevox.hiroshiba.jp/
https://ponkichi.blog/raspberry-voicevox/
https://tt-tsukumochi.com/archives/5845

タイトルとURLをコピーしました