IPFactory Advent Calender 2022 19日目の記事です。
COEIROINKとは
COEIROINKはシロワニさんが開発しており、VOICEVOX派生のテキスト読み上げソフトです。
公式での対応環境はWindows(CPU,GPU)とMac(CPU)です。
きっかけ
Discord用の読み上げBOT(0kqBee)を開発していてCOEIROINKにも対応させたいと思っていました。
しかし、上記の通り公式での対応はWindowsとMacのみでありCOEIROINKのためだけにわざわざWindows環境を用意するのも面倒でした。
使用した環境
OS: Ubuntu 20.04 LTS
GPU: RTX3060 12GB
Python 3.8.10
手順
今回はGPU版を動かします。
CUDA 11.3以上に対応したGPUが必要です。
CPUのみの場合も基本的には同じ手順で動きます。
VOICEVOXと構造が似ているのでVOICEVOXをソースから動かしたことがある人であればおそらく簡単です。
1. リポジトリのクローン
COEIROINKのソースはGitHubで公開されています。
https://github.com/shirowanisan/voicevox_engine
$ git clone https://github.com/shirowanisan/voicevox_engine.git
ブランチをc-1.6.0+v-0.12.3+gpu
に切り替え
$ cd voicevox_engine
$ git checkout c-1.6.0+v-0.12.3+gpu
2. 必要なパッケージのインストール
requirements.txt
だけではespnet
が不足していると怒られるためインストール
$ pip install -r requirements.txt
$ pip install typing-extensions>=4.1.0
$ pip install espnet
3. 音声ライブラリの追加
このまま起動しようとするとspeaker_infoがないためエラーが出てしまいます。
ここから好きな音声ライブラリをダウンロードして導入してください。
今回はつくよみちゃんを使っています。
$ mkdir speaker_info
$ wget -O tsukuyomi_chan.zip https://www.dropbox.com/s/lvxit2svbi1dvdf/3c37646f-3881-5374-2a83-149267990abc.zip?dl=1
$ unzip tsukuyomi_chan.zip -d speaker_info
4. 起動
--host 0.0.0.0
でlocalhost以外からのアクセスを許可
--use_gpu
でGPU処理を指定
$ python run.py --host 0.0.0.0 --use_gpu
感想
VOICEVOXと構造が似ているせいか普通に動きます。
試したらGoogle Colabでも動きました。
そしてVOICEVOXよりもVRAM消費が少ないのがGood
読み上げBOTでも問題なく使えてます。
課題
MYCOE対応による弊害なのか、前回のリクエストと違うspeaker_idのリクエストが飛んでくると数秒ほど処理が遅れます。(おそらくモデルの読み込みが入る)
18日目の記事
futabatoさん
https://01futabato10.hateblo.jp/entry/2022/12/18/204929
20日目の記事
n01e0さん
https://feneshi.co/chromoly/