Skip to content

YuukiOgino/VoicevoxEngineForUE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VoicevoxEngineForUE

GitHub

VOICEVOX ENGINE非公式UnrealEngine5対応プラグインです。
ヒホ氏が制作・公開されている、VOICEVOX COREを利用しています。

動作要件

Windows

  • UnrealEngine5.0以上
  • Windows10以上
  • VisualStudio2022もしくはJetBrains Rider

Mac

  • UnrealEngine5.2以上(Apple シリコン)
  • 12.5 Monterey 以降
  • XCode14.1~15.4

Note

5.4までXCode16以上はビルドが通りません。
過去バージョンはApple Developerにアクセスすれば入手できます。

プラグイン構成

VOICEVOXのマルチエンジン機能をUEで実現させるために、プラグインを以下のように構成しています。

  • C++のみ

    • VoicevoxUECoreプラグイン
    • VoicevoxNativeCoreプラグイン
    • VoicevoxNativeCoreNemoプラグイン(NEMOを使用する場合)
  • Blueprint+C++

    • VoicevoxUECoreプラグイン
    • VoicevoxEngineプラグイン
    • VoicevoxNativeCoreプラグイン
    • VoicevoxNativeCoreNemoプラグイン(NEMOを使用する場合)

VoicevoxUECoreプラグイン

  • VOICEVOX COREをUEで使用するための共通プラグインです。
  • VOICEVOXをUEで使用するためのクラスが一通り入っています。
    • VOICEVOX CORE及びVOICEVOX NEMO COREのAPIにアクセスするSubsystem
    • AudioQueryを編集するWidgetの基礎クラス(C++)とWidget Blueprint
    • AudioQueryをUEで使用するためのアセットクラス
  • 他のプラグインは全てVoicevoxUECoreプラグインに依存するように作られています。

VoicevoxEngineプラグイン

  • Blueprint、及びAudioQueryを編集するEditor Utility Blueprintがまとめられたプラグインです。
  • Blueprintを使用したい、もしくはエディターを利用したい場合に有効にしてください。

Note

エディター機能はα版であり、全ての値を編集することはできません。
VOICEVOXのエンジン機能はプラグインに持たせていません。

VoicevoxNativeCoreプラグイン

  • VOICEVOX COREライブラリを読み込むためのプラグインです。
  • VOICEVOX CORE製品版をこのフォルダに配置します。

VoicevoxNativeCoreNemoプラグイン

  • VOICEVOX NEMO COREライブラリを読み込むためのプラグインです。
  • VOICEVOX製品版におけるプラグイン機能を再現しています。
  • VOICEVOX NEMO CORE製品版をこのフォルダに配置します。
    • COREで共通使用する動的ライブラリ及びOpenJtakはVoicevoxNativeCoreプラグインで行っています。
    • 上記仕様のため、VoicevoxNativeCoreNemoプラグイン単体では動作しません。

プラグイン使用準備

VOICEVOX COREのReadMEに従って、CPUモード、もしくはGPUモードの動作に必要なライブラリを取得します。

Note

v1.1は以下のVOICEVOX COREライブラリで開発しました。

VOICEVOX CORE 0.14.6
VOICEVOX NEMO CORE 0.14.0

VOICEVOX CORE 0.15.5
VOICEVOX NEMO CORE 0.15.0

VOICEVOX CORE、Open JTalk、ONNX Runtimeの取得

v1.0以上の場合、各プラグインのREADMEに詳しい説明を記載したので、そちらを見てください。

Windows VOICEVOX CORE設置場所のReadME
Windows VOICEVOX NEMO CORE設置場所のReadME

Mac VOICEVOX CORE設置場所のReadME
Mac VOICEVOX NEMO CORE設置場所のReadME

v0.2~0.6の場合

VOICEVOX COREライブラリを取得、適当なフォルダに展開してください。

※v0.6はVOICEVOX CORE 0.14.6を元に開発しました。

次にOpen JTalk から配布されている辞書ファイル をダウンロードして、上記コアライブラリを展開したディレクトリに展開してください。

VOICEVOX CORE 0.14.6はONNX Runtimeが含まれているため、別途ダウンロードする必要はありません。
※MacはONNX Runtimeは不要です。

v0.1の場合

v0.1はVOICEVOX CORE 0.13.2を元に開発しました。

v0.1で使用するVOICEVOX CORE 0.13.2はONNX Runtimeが同梱されていません。
ONNX Runtimeをダウンロード、上記コアライブラリを展開したディレクトリに展開してください。

プラグインへ展開

v1.0以上の場合、各プラグインのREADMEに詳しい説明を記載したので、そちらを見てください。

Windows VOICEVOX CORE設置場所のReadME
Windows VOICEVOX NEMO CORE設置場所のReadME

Mac VOICEVOX CORE設置場所のReadME
Mac VOICEVOX NEMO CORE設置場所のReadME

v0.6以下の場合

展開したCOREライブラリを、以下のフォルダに配置してください。

  • Windows
Plugins\VoicevoxEngine\Source\ThirdParty\VoicevoxCore\x64
  • Mac
Plugins\VoicevoxEngine\Source\ThirdParty\VoicevoxCore\osx

※格納例(v0.2以降)

image

v0.1の場合
Plugins\VoicevoxEngine\Source\ThirdParty\VoicevoxCore\x64\VoicevoxCore  

※格納例(v0.1)

image.png

上記COREライブラリ展開済みのPluginフォルダを、プロジェクトフォルダに配置してください。

Windows

uprojectファイルを右クリックして『Generate Visual Studio project files』を選択し、sln作成をしてください。
あとはuprojectを起動してビルドが通れば成功です。

Mac

GenerateProjectFiles.shをターミナルから実行してください。

  • コマンド例
sh "/Users/Shared/Epic Games/UE_5.2/Engine/Build/BatchFiles/Mac/GenerateProjectFiles.sh" -project="/Users/yukiogino/Documents/VoicevoxEngineForUE/Sample/VoicevoxEngineSample.uproject" -game

生成した.xcworkspaceファイルを起動後、Runを実行してUEのエディターが起動すれば成功です。

各クラスについて

v1.0で破壊的変更を行ったため、記事を再度作成しています。 もうしばらくお待ちください。

基本的にUVoicevoxCoreSubsystemを経由して各COREライブラリのAPIにアクセスします。

const TArray<uint8> OutputWAV = GEngine->GetEngineSubsystem<UVoicevoxCoreSubsystem>()->RunTextToSpeech(SpeakerType, Message, bRunKana, bEnableInterrogativeUpspeak);
v0.1の場合

Qiitaに記事を公開していますので、そちらを見てください。

現在判明している不具合

  • COREのAPIを非同期で行った場合、特にRunTextToSpeechからの戻りを待たずにプレイ終了したり、続けてRunTextToSpeechを実行するとクラッシュします。

    • この部分はどうしようか、現在模索中です。
  • パッケージングを行うとOpen JTalkフォルダとmodelフォルダのコピーが失敗します。(解決済)

    • 修正しました。(v0.3)
  • GPUモードに対応したCOREライブラリでGPUに切り替えるとエラー、もしくはクラッシュする(解決済)

    • VOICEVOX CORE 0.14.4以上にアップデートしたところ発生しなくなりました。

利用規約

VOICEVOX Engine for UE5の利用規約はVOICEVOXのホームページに記載された利用規約を継承するため、利用前に必ず一読してください。
各スピーカーモデルのライセンスはVOICEVOX公式ホームページのキャラクター一覧を参照してください。

問い合わせに関して

VOICEVOX Engine for UE5プラグインに関して質問があれば、Twitterで聞いてもらうか、Qiitaのコメント欄、及びissueに記載してください。

※VOICEVOX CORE作者のヒホ氏、VOICEVOX公式Twitterアカウント及びVOICEVOX ホームページで、VOICEVOX Engine for UE5プラグインの問い合わせをしないようにお願いいたします。

ライセンス

VOICEVOX ENGINEのライセンスを継承し、LGPL v3と、ソースコードの公開が不要な別ライセンスのデュアルライセンスとなります。

更新履歴

  • 2024/12/05
    • 1.1 UE5.5対応。不具合修正。
  • 2024/11/28
    • 1.0 大型アップデートを実施。以下、更新内容要約。
      ・VOICEVOX NEMO CORE対応。
      ・マルチCORE対応。
      ・UE5.4対応。
      ・破棄したLatentノードを名前を変更して復活。
      ・VOICEVOXのAPIアクセスをUtilからSubsystemへ移行、それに伴う破壊的変更を実施。
      ・エディターに読み方のテキストボックスを追加。
  • 2024/08/11
    • 0.6 VOICEVOX CORE 0.14.6対応。(新規モデルデータ追加対応) 不具合修正。簡易的なエディタ機能実装
  • 2024/01/10
    • 0.5 一部Enumのエディタ表示名を日本語化。中品質のリップシンクが可能なデータリストを取得する関数を追加。
  • 2024/01/09
    • 0.4 VOICEVOX CORE 0.14.5対応。(新規モデルデータ追加対応)
  • 2023/10/06
    • 0.3 パッケージングでOpen JTalkフォルダとmodelフォルダのコピーが失敗する原因を修正。修正により、MacでXCodeのプロジェクトが正常に生成できるようになりました。
  • 2023/08/10
    • 0.2 VOICEVOX CORE 0.14.4対応。Mac対応。一部APIの破壊的変更を実施。
  • 2022/12/01
    • 0.1 公開バージョン