Ccmmutty logo
Commutty IT
4 min read

COEIROINKエンジンをLinuxのVOICEVOXエディター上で動かしてみる

https://cdn.magicode.io/media/notebox/0dd667a7-8411-41a6-8fe2-ccd8e833d522.jpeg

TL;DR

COEIROINKのエディターは、Windows/Mac用しか提供されていないので、Linuxで直接動かすことができません。ですが、音声を合成するプログラム本体(エンジン)ならLinuxで動きます。そこで、今回はCOEIROINKエンジンをVOICEVOXエディター経由でいじってみます。

Requirements

  • Anaconda3
  • git
  • VOICEVOXエディター

動作確認済環境

  • Ubuntu 22.10
  • Conda 22.9.0
  • Linux 6.2.0-rc1
  • CUDA 12.0
  • NVIDIA Driver 525.78.01

手順

1. COEIROINKエンジンをclone

COEIROINKのエンジンをcloneします。
git clone https://github.com/shirowanisan/voicevox_engine coeiroink_engine
# git clone git@github.com:shirowanisan/voicevox_engine coeiroink_engine
# gh repo clone shirowanisan/voicevox_engine coeiroink_engine

2. condaでエンジンのビルド用の環境を作ってそれに入る

conda create -n coeiroink python==3.8
conda activate coeiroink

3. エンジンのブランチを切り替える

次のコマンドを実行して、エンジンのブランチを切り替えます。
pushd coeiroink_engine
git checkout c-1.7.1+v-0.14.5+gpu # ブランチ名に「+gpu」とありますが、別にGPUがなくても動くはずです。気になるようであれば+gpuを削除してもらっても構いません。
popd

4. エンジンのビルドなどに必要なRequirementsをインストール

python3 -m pip install -r coeiroink_engine/requirements.txt sklearn espnet typeguard==3.0.0b2 git+https://github.com/shirowanisan/coeiroink_core.git pyinstaller

5. COEIROINKエンジンをビルド

エンジンをビルドして、必要なファイルをコピーします。
pyi-makespec run.py
cat run.spec | sed -e "3i import sys ; sys.setrecursionlimit(sys.getrecursionlimit() * 5)" > run.spec.new
cat run.spec.new>run.spec
rm run.spec.new
pyinstaller run.spec
mkdir -p dist/run/espnet
cp ~/anaconda3/envs/coeiroink/lib/python3.8/site-packages/espnet/version.txt dist/run/espnet/
mkdir -p dist/run/librosa/util/example_data
cp ~/anaconda3/envs/coeiroink/lib/python3.8/site-packages/librosa/util/example_data/{registry.txt,index.json} dist/run/librosa/util/example_data/
mkdir -p dist/run/jamo/data
cp ~/anaconda3/envs/coeiroink/lib/python3.8/site-packages/jamo/data/* dist/run/jamo/data/
cp engine_manifest.json default.csv default_setting.yml dist/run/
cp -r engine_manifest_assets dist/run/
cp -r speaker_info dist/run/ >/dev/null 2>&1 || mkdir dist/run/speaker_info
popd

6. キャラクターのデータを入れる

手順5でエンジン自体は完成していますが、まだキャラクターが一人もいないので、そのまま起動するとエラーを吐いてしまいます。
残念ながら、筆者はCOEIROINK本体に同梱されている3人のデータの配布元がわからない(恐らく配布されてないのかも)ので、それ以外のキャラクター(ex. つくよみちゃん, MYCOEIROINKのキャラクター)を使います。
その3人以外はここから入手できます。真ん中らへんに「音声ライブラリ ダウンロード」ってやつがあるので、そこから使いたいキャラクターをダウンロードしてください。
キャラクターのインストール方法は基本的にはMYCOEIROINKと一緒です。
speaker_infoディレクトリ(フォルダー)は、[インストール作業をしたディレクトリ]/coeiroink_engine/dist/run/speaker_info/にあるので、そこに入れてやってください。
注) 公式音声ライブラリとMYCOEIROINK以外の合成音声をCOEIROINKエンジンで動かすことはCOEIROINKソフトウェア利用規約で禁止されています。絶対にやらないようにしてください。

7. エンジンの再配置(任意)

エンジンは、ビルド直後では[インストール作業をしたディレクトリ]/coeiroink_engine/dist/run/にあります。自由に移動させてやってください。(権限に気をつけて)

8. VOICEVOXエディターに登録・起動

VOICEVOXエディターを開いてから、マルチエンジンを有効化し、メニューバー/エンジン/エンジンの管理/追加/既存エンジンをクリックしていき、エンジンの位置を指定して追加してください。
追加が終わると、COEIROINKのキャラクターが使えるようになると思います。

9. condaの環境を削除(任意)

ビルドが終わったので、不要な環境を削除しておきます。
conda env remove -n coeiroink

参考

Discussion

コメントにはログインが必要です。