Debian 12 Bookwork。Chromebook の Linux 環境で動作
デスクトップ版 VOICEVOX をインストールするとプログラムファイルは $HOME/.voicevox 以下に設置されます。
> ls $HOME/.voicevox
uninstaller_linux.sh VERSION VOICEVOX.AppImage
VOICEVOX.AppImage の圧縮された内容を同じディレクトリに展開します。
cd $HOME/.voicevox
./VOICEVOX.AppImage --appimage-extract
> ls
squashfs-root uninstaller_linux.sh VERSION VOICEVOX.AppImage
HTTP API サーバーを起動させる run コマンドは squashfs-root/vv-engine のなかにあります。
cd $HOME
ls .voicevox/squashfs-root/vv-engine
base_library.zip libonnxruntime.so model
_cffi_backend.cpython-311-x86_64-linux-gnu.so libpython3.11.so.1.0 numpy
engine_manifest.json libquadmath-96973f99-934c22de.so.0.0.0 numpy-2.2.3.dist-info
importlib_metadata-8.0.0.dist-info libreadline.so.8 pydantic_core
jaraco libscipy_openblas64_-6bb31eeb.so pyopenjtalk
libbz2.so.1.0 libssl.so.3 pyworld
libcrypto.so.3 libstdc++.so.6 pyworld-0.3.5.dist-info
lib-dynload libtinfo.so.6 resources
libffi.so.8 libuuid.so.1 run
libgcc_s.so.1 libvoicevox_core.so _soundfile_data
libgfortran-040039e1-0352e75f.so.5.0.0 libz.so.1 soxr
liblzma.so.5 markupsafe yaml
libmvec.so.1 MarkupSafe-3.0.2.dist-info
ヘルプメッセージを表示させてみます。
.voicevox/squashfs-root/vv-engine/run --help
今度は起動させてみます。
> .voicevox/squashfs-root/vv-engine/run
.voicevox/squashfs-root/vv-engine/run
Warning: cpu_num_threads is set to 0. Setting it to half of the logical cores.
Info: Loading core 0.15.8.
reading /home/masakielastic/.local/share/voicevox-engine/user.dict_csv-1ba2ce5d-5565-4382-acba-9b588c314bcd.tmp ... 82
emitting double-array: 100% |###########################################|
done!
INFO: Started server process [1884]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://localhost:50021 (Press CTRL+C to quit)
INFO: ::1:60280 - "GET / HTTP/1.1" 200 OK
起動時にポート番号を指定することもできます。
.voicevox/squashfs-root/vv-engine/run --port 50029
デスクトップ版 VOICEVOX と併用する場合、ポート番号が重複しないようにしたほうがよいでしょう。
毎回ディレクトリパスを入力するのがめんどうだったらエイリアスを登録します。
alias voicevox-run=$HOME/.voicevox/squashfs-root/vv-engine/run
alias vv-run=$HOME/.voicevox/squashfs-root/vv-engine/run
systemd に VOICEVOX の HTTP API サーバーを登録して自動起動させることができます。
/etc/systemd/system/voicevox.service に次のような内容を保存します。
[Unit]
Description=Voicevox Engine Service
After=network.target
[Service]
User=[your name]
WorkingDirectory=/home/[your name]/.voicevox/squashfs-root/vv-engine/
ExecStart=/home/[your name]/.voicevox/squashfs-root/vv-engine/run --port 50029
Restart=on-failure
[Install]
WantedBy=multi-user.target
サービスに登録します。
sudo systemctl enable voicevox.service
起動させます。
sudo systemctl enable voicevox.service
正常に動いているか確認します。
sudo systemctl enable voicevox.service
今度は停止させます。
sudo systemctl stop voicevox.service
自動起動から除外させます。
sudo systemctl disable voicevox.service
自動起動の登録をしていなくても手動で起動できます。
sudo systemctl start voicevox.service
sudo systemctl status voicevox.service
● voicevox.service - Voicevox Engine Service
Loaded: loaded (/etc/systemd/system/voicevox.service; disabled; preset: enabled)
Drop-In: /run/systemd/system/service.d
└─zzz-lxc-service.conf
Active: active (running) since Fri 2025-06-20 15:02:49 JST; 5s ago
Main PID: 2492 (run)
Tasks: 5 (limit: 4915)
Memory: 68.2M
CGroup: /system.slice/voicevox.service
└─2492 /home/masakielastic/.voicevox/squashfs-root/vv-engine/run --port 50029
PORT=50029
echo -n "こんにちは、音声合成の世界へようこそ" >text.txt
curl -s \
-X POST \
"127.0.0.1:$PORT/audio_query?speaker=1"\
--get --data-urlencode [email protected] \
> query.json
curl -s \
-H "Content-Type: application/json" \
-X POST \
-d @query.json \
"127.0.0.1:$PORT/synthesis?speaker=1" \
> audio.wav
生成された音声ファイルを再生します。
aplay audio.wav
Debian で aplay を利用するには alsa-utils をインストールします。
sudo apt install alsa-utils
毎回、複数のコマンドを入力するのはめんどうなので、コマンドを作成します。
#!/bin/sh
if [ "$#" -lt 1 ]; then
echo "メッセージを入力してください"
exit 1
fi
PORT=50029
echo -n $1 >text.txt
curl -s \
-X POST \
"127.0.0.1:$PORT/audio_query?speaker=1"\
--get --data-urlencode [email protected] \
> query.json
curl -s \
-H "Content-Type: application/json" \
-X POST \
-d @query.json \
"127.0.0.1:$PORT/synthesis?speaker=1" \
> audio.wav
aplay -q audio.wav
say ファイルに実行権限を付与します。
chmod +x say
コマンドを試してみます。
./say こんにちは
いくつかの機能を追加した say コマンドはこちらをご参照ください。