【VOICEVOX】GPUモードにしたいが、おすすめのグラフィックボードは?

VOICEVOXはヒホ氏が開発中の無料で使えるテキスト読み上げソフトウェアです。
ダウンロードはこちらから。

GPUモードの利点

VOICEVOXの起動モードにはCPUモードとGPUモードを使うと音声合成にかかる時間が短くなります。

GPUモードをオンにできる条件

1)Nvidia製のGPUが搭載されているグラフィックボードがPCについている
2)そのグラフィックボードのGPUメモリーが3GB以上である

ということで現在PCにNvidiaのグラフィックボードが付いていない場合、GPUモードをとりあえず試してみたい方向けのおすすめのグラフィックボードを紹介します。

最近のグラフィックボードは2スロット厚が主流で、スリムパソコンには2スット占有するグラフィックボードが付かないことが多いです。
筆者のPCも富士通のスリムパソコンで、1スロット厚のグラフィックボードしか付けられません。

1スロット厚2スロット厚

普通にPCに詳しい方ならタワー型PCを自作してたりするでしょうからVOICEVOXで使える2スロット厚のグラフィックボードも簡単に選べるでしょう。
ですので、今回は1スロット厚のグラフィックボードでVOICEVOXのGPUモードが使える最低限のグラフィックボードを紹介します!

Nvida製、1スロット厚、GPUメモリが3GB以上のグラフィックボード

メーカー型番GPUGPUメモリ備考
elsaGeForce GTX 1650 SP V2GTX16504GB最近V2を再販開始したのでAmazonなどで購入可能(3万円位)
elsaGeForce GTX 1050 Ti 4GB SPGTX1050 4GB 既に販売終了品となっているため、ヤフオフなどで入手可能(1.8万円位)
OEMQuadro K2200 GDDR5 4GB K22004GBメーカーパソコンの廃棄品から抜いたものがヤフオクなどで入手可能(8,000円程度)
K2000はGPUメモリーが2GBのため足りませんのでご注意
OEMGeForce GTX 745GTX745 4GB メーカーパソコンの廃棄品から抜いたものがヤフオクなどで入手可能(4,000円程度)
GeForce GTX 1650 SP V2 (30,000円程度)
GeForce GTX 1050 Ti 4GB SP (18,000円程度)
Quadro K2200 GDDR5 4GB  (8,000円程度)
写真はELSAの商品ですがヤフオクではOEM品がよく出品されます。
GeForce GTX 745 (4,000円程度)
ヤフオクでは業務パソコンから引き抜いた品が良く出品されます。

1スロット品でも本体と干渉して入らない場合があるので注意しましょう。
特にロープロファイルしかつかないスリムパソコンもありますのでその場合はGTX745を買ってブラケットを外して使うという手もあります。

ロープロファイルとフルハイトの差

フルハイト
端子サイズと金具のサイズが同じくらい

上記はELSAの1650SP V2です。
フルハイトはスリムパスコンにはつかない
場合があるので注意しましょう
ロープルファィル
端子サイズに比べて金具のサイズが
短い

上記はELSAのQUADRO P400で
16,000程度ですがメモリが2GB
であり3GBないのでVOICEVOX
では使えません。
P1000なら4GBですが新品は非常
に高価なのでお勧めしません。

結論

・PCに1スロットのフルハイトのグラフィックボードがささる場合は、補助電源も不要なELSA 1650SP V2が1スロット厚のグラフィックボードの中では高性能な部類ですのでおすすめです!
・とりあえずGPUモードを使ってみたい方はGTX745が4000円くらいで付けられますのでおすすめです!

オススメその1 (性能重視版)
GeForce GTX 1650 SP V2
1スロット厚、補助電源なしなら最高性能の部類
フルハイトなので入らないスリムパソコンもあります
ライザーケーブルなどを使用して90度曲げて本体
に収める技が使える場合もあります。
(ESPRIMOなどの場合)
おすすめその2(とりあえず版)
GeForce GTX 745
フルハイトですが、ブラケットのネジを外して
VGAコネクタから伸びているケーブルも外せば
ロープロファイルに収まります

ブラケットを外すとスカスカになりますけどねw

VOICEVOXをYMM4で使ってみた(その1)

今まではゆっくりボイスを使っていたのですが、VOICEVOXという、無料で商用利用も可能な音声合ソフトが公開されたため使ってみました!

VOICEBOXは以下で公開されています!
https://voicevox.hiroshiba.jp/

CPUモード、GPUモード

エンジンの起動モードにはCPUモードとGPUモードがあり、GPUモードの方がかなり速いです。

GPUモードの問題点

GPUモードでエンジンを使用していると音声合成できなくなります。
例えば、私の環境ではGPUメモリーが4GBですが、YMM4でセリフが100個くらいあるプロジェクトを開くと、50個位の音声合成したところあたりから以降の音声合成がすべて失敗します。
音声合成が出来るようにするにはVOICEVOXを再起動する必要があります。
ただし、YMM4のプロジェクトを閉じて開きなおすと、再度最初から音声合成するため、また50個目くらいから後すべての音声合成失敗するので解決になりません。

まずは構造を調べてみた

構造は以下の通りでした。

1.VOICEVOX単体で使用する場合
普通に使う場合ですね。画面に入力した文字列はエンジンに対して色々なHTTPリクエストを発行して、最終的に音声ファイルを受け取っていました。

2.YMM4で使った場合
YMM4の画面からVOICEVOXのエンジンに対してHTTPリクエストを発行して音声ファイルを受け取っていました。

エラー時に自動復旧できる構造とは?

以下の4.の構造にするとエラー時の自動復旧が実現できそうだと思いました。

3.YMM4単体で起動する場合(その2)は、実はVOICEVOX.exeは起動しないでもrun.exeを起動すればエンジンは起動できます。
GPUモードにする場合は–use_gpuを指定します。
run.exeのショートカットを作成して、リンク先を
“C:\インストール先\VOICEVOX 0.3.1\VOICEVOX\run.exe” –use_gpu
にしてそれを起動しても良いでしょう。

4.YMM4で使った場合(wrapperを挿入)
このwrapperを挿入することで、すべてのリクエストとレスポンスを監視できるようになります。

wrapperは具体的に何をするのか?


wrapperに最低限必要な機能は以下の通りです。

1.エンジンへのリクエストを中継する
2.エンジンからのレスポンスを中継する

つぎに、wrapperでエンジンの異常に対応するために必要な機能は以下の通りです。

1.エンジンから500エラーが返ってきたら、エンジンを再起動して、再度リクエストを発行する
2.エンジン再起動からリクエストを受け付けられるようになるまでは時間がかかるのでリトライ処理を入れる(1秒間隔で20回など)

基本的に以上の機能があればVOICEVOXエンジン(GPUモード)でエラーが発生してもYMM4は少し待たされるだけで、あたかもすべてのリクエストが成功したと錯覚してくれます。

最後におまけの機能を追加します

1.初回のリクエストが接続失敗した場合に限り、エンジンを起動する。

この機能を入れることで、YMM4がVOICEVOXを自動起動してくれていたことと同じことができます。
YMM4がVOICEVOX.exeを起動しないように、YMM4のVOICEVOX自動起動設定は空欄にします。(VOICEVOXのUIが起動するとYMM4の画面の上に乗っかって邪魔なので)

具体的なwrapperの作り方はその2につづく・・・