2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IoTLT (IoTや電子工作ネタなど)Advent Calendar 2024

Day 16

Raspi上でずんだもんにしゃべってもらう方法

Last updated at Posted at 2024-12-15

この記事は、「IoTLT Advent Calendar 2024」の 16日の記事です。

Raspi上で音声合成をしたかったので、Voicevoxを使ってずんだもんにしゃべってもらいました。
同様のことをしたい人のため、要点だけに絞って説明します。

スクリーンショット 2024-12-15 223036.png

ちなみに、今回の使用環境は下記となります。

使用環境:

Hard: Raspberrypi 5
OS: Ubuntu24.04 LTS

まずは仮想環境を構築します

Dockerのインストール

以下コマンドでインストールして、ユーザー権限で実行できるようになります。

$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh
$ sudo gpasswd -a $USER docker
$ newgrp docker

Dockerの動作確認

Dockerが正しくインストールされていることを確認するため、Docker上のHello worldしてみます。

$ docker run --rm hello-world

Voicevox のサーバを起動する

次にDockerコンテナを使用してVoicevoxのサーバを起動します。
以下のようにコンテナを起動すればOKです。

docker pull voicevox/voicevox_engine:cpu-ubuntu20.04-latest
docker run --rm -p 'localhost:50021:50021' voicevox/voicevox_engine:cpu-ubuntu20.04-latest

起動したサーバに対して

  1. 音声合成用のクエリ作成(JSONファイル作成)し、
  2. 生成された合成音声の出力(WAVEファイル作成)を行い
  3. 合成された音声をaplayコマンドでスピーカに出力します
$ curl -s -X POST "localhost:50021/audio_query?speaker=1" --get --data-urlencode "text=こんにちは、世界" > query.json \
&& curl -s -H "Content-Type: application/json" -X POST -d @query.json "localhost:50021/synthesis?speaker=1" > audio.wav \
&& aplay audio.wav

これでRaspiにつながったモニター・スピーカからずんだもんの声が聞こえます。
スピードは上記コマンドを打って体感で2秒くらいになりました。

おわりに

Raspberry Pi 5からDocker上のVOICEVOX APIにアクセスして、音声合成を行うことができました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?