🎵

VOICEVOX CentOS9で音声生成APIの設置

2024/07/08に公開

まえがき

AI音声もなかなかナチュラルになってきました。サブスクサービスもいいんですが、
OSSで自前のサーバで生成できるエンジニアさんルートをご紹介します。

環境

# cat /etc/redhat-release
CentOS Stream release 9

です。

なにをするか

centosでずんだもんの声を生成するAPIを設置します。
VOICEVOXは、pm2で実行管理をします。

nodejs,pm2をインストールしてなければしておく

# dnf install -y nodejs
# npm install -g pm2

あと解凍用に

dnf install -y epel-release
dnf install -y p7zip

VOICEVOXをいれる

0.19.1をいれました。0.20も出ているようですが、安定性を考えて一つ前にしました。
https://github.com/VOICEVOX/voicevox_engine/releases/tag/0.19.1

linux-cpuをいれます。

こういうファイルが落とせると思うのでサーバにアップしてね。
voicevox_engine-linux-cpu-0.19.1.7z.001

VOICEVOXを解凍して実行の確認

# 7za x voicevox_engine-linux-cpu-0.19.1.7z.001
# cd linux-cpu
# ./run

たちあがった?そしたらもう一個コンソール開いて、公式のサンプルを実行してください。
公式がオススメな理由は、入力ミスとか起きなくなるためです。

https://github.com/VOICEVOX/voicevox_engine?tab=readme-ov-file#http-リクエストで音声合成するサンプルコード

echo -n "こんにちは、音声合成の世界へようこそ" >text.txt

curl -s \
    -X POST \
    "127.0.0.1:50021/audio_query?speaker=1"\
    --get --data-urlencode text@text.txt \
    > query.json

curl -s \
    -H "Content-Type: application/json" \
    -X POST \
    -d @query.json \
    "127.0.0.1:50021/synthesis?speaker=1" \
    > audio.wav

再生できる環境でaudio.wavも叩いてみる

流れた?うぇーぃ♪

pm2でプロセスを実行管理しておく

$ pm2 start /path/..../linux-cpu/run --name voicevox

こんな感じで。

$ pm2 list
$ pm2 logs voicevox

さぁ、あなたのサーバにcurlで叩けるVOICEVOX APIの完成です。未来が見えた?そらあんさん天才やで。応援するけんな、がんばりーや。

Discussion