ailia_voice  1.5.0.0
機能

ailia AI Voiceの機能

本ページでは、CとC#で共通に使用できる機能を解説します。

音声合成

音声合成モデル

ailia AI Voiceでは、音声合成のアルゴリズムにTacotron2とGPT-SoVITS(v1/v2/v2-pro/v3)を使用することができます。

GPT-SoVITSモデルの比較

GPT-SoVITSには複数のバージョンがあり、用途に応じて選択できます。

項目 v1 v2 v3 v2-pro
特徴 初期モデル アクセント対応を追加 高精度な音声合成 高速性と精度を両立
日本語アクセント なし あり あり あり
中国語G2P jieba g2pw + jieba g2pw + jieba g2pw + jieba
再生速度の変更 不可 可能 可能 可能
推論速度 高速 高速 低速 高速
音声合成方式 HiFi-GAN HiFi-GAN CFM+DiT+BigVGAN(拡散モデル) HiFi-GAN + 話者ベクトル
出力サンプリングレート 32kHz 32kHz 32kHz 32kHz
  • v1/v2 : 軽量で高速に動作するため、リアルタイム性が求められる用途に適しています。v2ではv1に比べて日本語のアクセント(高低)の再現性が向上しています。
  • v3 : 拡散モデル(CFM+DiT)とBigVGANを使用した最高精度のモデルです。音質は最も高いですが、推論に時間がかかります。
  • v2-pro : GPT-SoVITSの最新モデルです。v3と同じテキスト解析(T2S)パイプラインを使用しつつ、v2ベースの高速なボコーダに話者ベクトル(Speaker Verification)を組み合わせることで、高速な推論と高い音質を両立しています。速度と品質のバランスを重視する場合に推奨されます。

日本語の音声合成

日本語を音声合成するには、日本語のテキストを音素に変換する必要があり、音素への変換にはOpenJtalkを使用しています。OpenJtalkはailia AI Voiceのライブラリに内蔵しています。

任意の声色での音声合成

GPT-SoVITSを使用した場合、10秒程度の音声ファイルを与えることで、任意の声色で音声合成を行うことが可能です。

ユーザ辞書

ユーザ辞書を定義することで日本語の発音を補正することが可能です。GPT-SoVITS v3の標準のユーザ辞書を使用することも可能です。

GPUの使用

WindowsとLinux環境ではcuDNNを使用したGPU推論が可能です。 cuDNNを使用するには、NVIDIAのサイトから、CUDA ToolkitとcuDNNをインストールする必要があります。

CUDA Toolkitはインストーラに沿ってインストールしてください。cuDNNはダウンロード後に、環境変数のPATHに通してください。cuDNNのダウンロードにはNVIDIAのデベロッパー登録が必要です。

ユーザ辞書の作成

ユーザ辞書を作成するには、下記のようなuserdic.csvを準備します。後半の0/5は、音数が5で、アクセントが0番目にあることを示しています。

超電磁砲,,,1,名詞,固有名詞,一般,*,*,*,超電磁砲,レールガン,レールガン,0/5,*

ユーザ辞書は、pyopenjtalkを使用してcsvからdicファイルに変換します。

import pyopenjtalk
pyopenjtalk.mecab_dict_index("userdic.csv", "userdic.dic")

変換したdicファイルはailiaVoiceSetUserDictionary APIを実行することで読み込み可能です。