English | 日本語
piper-plusのUnityプラグイン - 高品質なニューラル音声合成エンジン
- 🎤 高品質な音声合成(piper-plusベース)
- 🌍 多言語対応(日本語、英語)
- 🚀 Unity AI Inference Engineによる高速推論
- 📱 マルチプラットフォーム対応
- 🔧 OpenJTalkによる高精度な日本語音素化(Windows/macOS/Linux/Android)
- ⚡ GPU推論サポート(GPUCompute/GPUPixel)
- 🎭 高度なサンプル(ストリーミング、複数音声、リアルタイム)
- Unity 6000.0.55f1
- Unity AI Interface (Inference Engine) 2.2.x
- Windows: Visual Studio 2022以降
- macOS: Xcode 14以降
- Linux: GCC 9以降
- Android: NDK r21以降
- iOS: Xcode 14以降、iOS 11.0以降のデバイス
- Unity Editorで
Window > Package Managerを開く +ボタンからAdd package from git URL...を選択- 以下のURLを入力:
https://github.com/ayutaz/uPiper.git?path=Assets/uPiper
Package Managerからインストール後、必ず以下の手順でデータをインポートしてください:
- Package Managerで「In Project」を選択
- 「uPiper」パッケージを選択
- 「Samples」セクションを展開
- 以下のサンプルをインポート:
- 📚 OpenJTalk Dictionary Data (必須) - 日本語音声合成用辞書
- 📚 CMU Pronouncing Dictionary (必須) - 英語音声合成用辞書
- 🎤 Voice Models (推奨) - 高品質音声モデル
- 🎮 Basic TTS Demo (オプション) - デモシーン
サンプルをインポートした後:
- メニューから
uPiper > Setup > Install from Samplesを実行 - インストールダイアログで「Install」をクリック
- セットアップが完了するまで待つ
💡 注: 以前の「Run Initial Setup」メニューは削除されました。「Install from Samples」が唯一のセットアップ方法です。
📁 モデルファイルの保存場所: 音声モデルは
Assets/Resources/uPiper/Models/に保存されます(パッケージの外側)。
- メニューから
uPiper > Setup > Check Setup Statusを実行 - すべての項目が「✓ Installed」になっていることを確認
- Basic TTS Demoシーンを開いて動作確認
⚠️ 重要: 辞書データをインポートしないとTTS機能は動作しません
Releasesから最新のパッケージファイルをダウンロード:
- Unity Package (.unitypackage): レガシー形式、全てのUnityバージョンで使用可能
- UPM Package (.tgz): Unity Package Manager用、Unity 2019.3以降
- Unity Editorを再起動
- Package Managerで「Refresh」ボタンをクリック
uPiper > Setup > Install from Samplesを実行したか確認uPiper > Setup > Check Setup Statusで状態を確認
- Basic TTS Demoに含まれるNotoSansJP-Regular SDFフォントを使用
- プロジェクト設定で「Active Input Handling」を確認
- Edit > Project Settings > Player > Active Input Handling
- 「Input Manager」に設定されている場合、EventSystemAutoSetupコンポーネントが自動的に対応
- 詳細は
Samples~/BasicTTSDemo/BasicTTSDemo_README.mdを参照
- ✅ Windows (x64)
- ✅ macOS (Apple Silicon/Intel)
- ✅ Linux (x64)
- ✅ Android (ARM64/ARMv7/x86/x86_64)
- ✅ iOS (ARM64, iOS 11.0+) - NEW!
- ❌ WebGL - 技術調査中(piper-plus連携により将来対応予定)
- mainブランチへのプッシュ時に自動的に全プラットフォーム向けのビルドが実行されます
- リリースタグ(v*)をプッシュすると、自動的にリリースとパッケージが作成されます
Unity Editorから手動でパッケージを作成:
uPiper/Package/Export Unity Package (.unitypackage)- レガシー形式uPiper/Package/Export UPM Package (.tgz)- Unity Package Manager形式uPiper/Package/Export Both Formats- 両形式を同時にエクスポート
uPiperはGPU推論をサポートしており、より高速な音声生成が可能です:
var config = new PiperConfig
{
Backend = InferenceBackend.Auto, // 自動選択
AllowFallbackToCPU = true, // GPU失敗時にCPUフォールバック
GPUSettings = new GPUInferenceSettings
{
MaxBatchSize = 4,
UseFloat16 = true,
MaxMemoryMB = 512
}
};詳細はGPU推論ガイドを参照してください。
開発環境では以下の構造で辞書データを管理しています:
Assets/
├── uPiper/
│ ├── Samples~/ # Package Manager配布用データ(Unity Editorからは非表示)
│ │ ├── OpenJTalk Dictionary Data/ # 日本語音声合成用辞書(約50MB)
│ │ │ └── naist_jdic/ # OpenJTalk辞書本体
│ │ │ └── open_jtalk_dic_utf_8-1.11/
│ │ ├── CMU Pronouncing Dictionary/ # 英語音声合成用辞書(約3MB)
│ │ │ └── cmudict-0.7b.txt # CMU辞書本体
│ │ └── Voice Models/ # 音声モデル(ONNX形式)
│ │ ├── ja_JP-test-medium.onnx # 日本語音声モデル
│ │ └── en_US-ljspeech-medium.onnx # 英語音声モデル
│ ├── Runtime/ # ランタイムコード
│ ├── Editor/ # エディタ拡張
│ └── Plugins/ # ネイティブプラグイン
└── StreamingAssets/ # 実行時データ(Package Manager版のみ)
- Samples~フォルダ: Unity Editorからは見えません(Unityの仕様)
- 開発環境判定:
UPIPER_DEVELOPMENTプリプロセッサディレクティブが定義されています - 辞書の読み込み: 開発環境では
Samples~から直接読み込み、Package Manager版ではStreamingAssetsから読み込みます - セットアップ不要: 開発環境では初回セットアップは不要で、クローン後すぐに動作します
Package Manager経由で配布される場合:
- ユーザーがPackage Managerから辞書サンプルをインポート
uPiper/Setup/Install from Samplesメニューを実行- 辞書データが
StreamingAssets/uPiper/にコピーされる
このプロジェクトは Apache License 2.0 の下でライセンスされています。詳細は LICENSE ファイルを参照してください。
- Noto Sans Japanese: SIL Open Font License, Version 1.1
- Copyright 2014-2021 Adobe (http://www.adobe.com/)
- TextMeshProでの日本語表示に使用
- 詳細は
Assets/Fonts/LICENSE.txtを参照