モバイルでも動く 軽量日本語ローカルTTSの作成と Unity向けライブラリの開発 ~ piper-plusとuPiperの開発の秘話 ~

2K Views

September 08, 25

スライド概要

生成AIなんでも展示会 vol.4のLT会 資料

profile-image

Unity Engineer: Individual Activities → Making Games

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

モバイルでも動く 軽量日本語ローカルTTSの作成と Unity向けライブラリの開発 ~ piper-plusとuPiperの開発の秘話 ~ 2025/09/06 ようさん 1

2.

自己紹介 お仕事 ● スマホゲームのUnityエンジニア ● 音声合成 を使ったエンタメ作り 個人 ようさん ● インディーゲーム制作 ● 音声合成や歌声分析 2

6.

ローカルで音声合成をする場合、 外部ソフトを使わないといけないのか? 6

7.

Unityでアプリを作るときは、 音声合成ソフト・ライブラリを 起動してもらう? 7

8.

スマホゲームでキャラクターに 自由に話してほしいのに.. 8

9.

1. 日本語の音声合成がPC/スマホで動く 2. 独自のデータで追加学習ができる 3. Unityだけで日本語音声合成がしたい そんなライブラリが欲しい!! 9

11.

作りました! piper-plus uPiper 11

12.

piper-plus ラズパイで動く VITSベースの 軽量 TTS(piper)のfork版 uPiper piper-plusのUnityライブラリ対応 ● 改善したこと ● 日本語対応 ● 学習環境の改善 ● カスタム辞書対応 ● その他 etc… 多言語対応の軽量 TTSモデル PC(windows,mac,linux)とスマホ (Android, iOS)のネイティブプラグイン対 応 ● 高速で実行される マルチプラットフォームで動く 多言語TTSライブラリ 12

13.

piper-plus ラズパイで動く VITSベースの 軽量 TTS(piper)のfork版 uPiper piper-plusのUnityライブラリ対応 ● 改善したこと ● 日本語対応 ● 学習環境の改善 ● カスタム辞書対応 ● その他 etc… 多言語対応の軽量 TTSモデル PC(windows,mac,linux)とスマホ (Android, iOS)のネイティブプラグイン対 応 ● 高速で実行される マルチプラットフォームで動く 多言語TTSライブラリ 13

14.

背景 ● 日本語対応のローカルTTSがまだ少ない ● 軽量なものだと限られてくる ● 自由に学習可能なものは割と少ない ○ 学習コードまで出てこない 14

15.

piper-plusの経緯 対応する選択肢 1. Unity公式のjetsを日本語化対応 2. StyleTTS2のモバイル対応 3. piper-ttsの日本語対応 15

16.

piper-plusの経緯 対応する選択肢 1. Unity公式のjetsを日本語化対応 2. StyleTTS2のモバイル対応 3. piper-ttsの日本語対応 16

17.

piper-plusの日本語対応 ● pyopenjtalkで日本語対応 ● 学習環境を改善 ● 日本語のモデルを一から学習 17

18.

piper-plusの日本語対応 課題 ● モデルサイズが小さいため精度が出せない ● アクセントなどがちょっと悪い ● 多言語モデルが存在しない → 今後改善を予定 18

19.

piper-plus デモ 19

20.

piper-plus 日本語事前学習モデル 20

21.

piper-plus ラズパイで動く VITSベースの 軽量 TTS(piper)のfork版 uPiper piper-plusのUnityライブラリ対応 ● 改善したこと ● 日本語対応 ● 学習環境の改善 ● カスタム辞書対応 ● その他 etc… 多言語対応の軽量 TTSモデル PC(windows,mac,linux)とスマホ (Android, iOS)のネイティブプラグイン対 応 ● 高速で実行される マルチプラットフォームで動く 多言語TTSライブラリ 21

22.

背景 ● Unityで使える軽量TTSモデルがない ○ Unity公式のjetsは英語のみ ○ StyleTTS2の日本語対応は開発途中 ○ piper.unityはwindowsのみ 22

23.

uPiper 開発 ● ゲーム、AIキャラクター、対話などで使いたい ● マルチプラットフォームで動いてほしい → PC(Windows,Mac) + スマホ(Android,iOS) で動かしたい 23

24.

uPiper ● AI Interface(旧Sentis)対応 ● プラットフォーム別プラグイン対応 ● 日本語・英語の辞書を内包 24

25.

uPiper g2p プラグイン対応 ● 日本語・英語はそれぞれg2pをC#で動くものを実装 ● Windows,Mac,Linux,Androidで動かすにはプラグイン ○ ○ ○ windows : dll mac : dylib android : so 25

26.

uPiper g2p プラグイン対応 ● 日本語のOpenjtalk ● 英語は 以下の順に処理 1. Flite 2. EnhancedEnglishPhonemizer 3. SimpleLTSPhonemizer → espeak-ngは GPV v3ライセンスなので、ライセンス汚染の回避 26

27.

uPiper Openjtalk プラグイン対応 Unity C# (マネージドコード) ↓ P/Invoke ネイティブC API ラッパー ↓ OpenJTalk/Mecab (C++実装) ↓ 辞書ファイル 27

28.

uPiper Package Manger 配置問題 ● 日本語・英語の辞書の配布 ● プラグインの配布 → 辞書は100MBもあるので、package managerに入れると重たく なる 28

29.

uPiper Package Manger 配置問題 29

30.

uPiper 1. AIキャラクター /接客 a. 特定の声に追加学習可能 (全てがOSS) 2. ゲームのキャラクター音声 a. 21世紀の通信と映像アクセシビリティ法 (CVAA), b. 欧州アクセシビリティ法 (EEA) 3. カーナビやロボットなどのエッジ端末の音声 a. ラズパイでも動く軽量モデル 30

31.

その他ゲームエンジン対応(予定) 日本語でPC/スマホで動く 独自のデータで追加学習ができる そんなライブラリが欲しい!! 31