>100 Views
April 16, 26
スライド概要
Godot 4.4+ 向けのオフライン音声合成 addon「godot-piper-plus」の紹介です。ノベルゲームや会話イベントに日本語 TTS を組み込みたいけど、クラウド依存や GPU 前提は避けたい——そんな課題に対して、VITS + ONNX
Runtime ベースの軽量な音声合成をローカルで動かすアプローチを取りました。Unity 向けに公開済みの uPiper / piper-plus の知見を Godot に展開し、モデルダウンローダ・辞書エディタ・試聴 UI など addon
としての使いやすさも整えています。
GodotでローカルTTSを使うための addonを作ってみた ようさん
自己紹介 ようさん X: @ayousanz 普段やっていること • スマホゲームの Unity エンジニア • 個人では Godot でも開発を始めました • 音声合成、AIキャラクター、ツール作りが好きです 関連OSS • piper-plus : C++ TTS core • uPiper : Unity integration • godot-piper-plus : Godot addon Godot Meetup Tokyo / godot-piper-plus 2
個人開発でも Godot を触っています Character I8u76rl Level Lv.1 EXP 58 / 100 Money 580円 SHOP HATTA REST 最近の個人開発 • Godot で非同期通信のオンライン釣 りゲームを制作中 • 個人開発でも、ゆるくつながる遊びを 試しています • こういう体験にもローカル TTS を入 れたくて手を動かしました Godot Meetup Tokyo / godot-piper-plus 3
こんなこと思ったことありませんか? ノベルゲーム、会話イベント、NPC ボイス。 日本語の音声合成をゲームに入れたいけど、ちょうどいい選択肢が見つからない。 重い 高品質系は GPU 前提で、個人開発には運用が重い。 クラウド依存 課金、API キー管理、遅延、ネット必須がつらい。 日本語の壁 軽量 OSS で日本語対応まで含む選択肢が少ない。 ライセンス 商用ゲームに載せるときは GPL 系も気になる。 Godot Meetup Tokyo / godot-piper-plus 4
Unity では uPiper を公開しています uPiper • Unity からローカル TTS を使える • 軽量、オフライン、6 言語対応 • スマホ展開も視野に入る設計 次の自然な疑問 同じこと、Godot でもできないのか? 最近 Godot を触り始めた自分にとって、ここが出発点 でした。 その知見を Godot 向けに展開したものが godot-piper-plus です。 Godot Meetup Tokyo / godot-piper-plus 5
godot-piper-plus とは Godot 4.4+ 向けに開発中の、オフライン・ニューラル音声合成 addon 6 対応言語 Godot Meetup Tokyo / godot-piper-plus 6
デモ 1: いま試せるところ Editor からできること • Piper Plus: Download Models... • Piper Plus: Dictionary Editor... • Piper Plus: Test Speech... 触りやすさ • PiperTTS ノードに custom Inspector • preset 適用、辞書導線、試聴 UI • プログラマ以外でも触り始めやすい まだ開発中ですが、TTS が「動く」だけでなく「試しやすい」ところまで来ていま す。 Godot Meetup Tokyo / godot-piper-plus 7
Windows ビルドでも動きます Piper Plus Demo Piper Plus 音声合成デモ 状態: 音声を再生中 言語選択 日本語 日本語: Rust WASM jpreprocess 音素化 内蔵辞書付きの Rust WASM jpreprocess を使った高精度な日本語音素化です。 テンプレート選択 -- 自由入力 -- こんにちは、今日はとても良い天気ですね。 音声合成 (同期) 音声合成 (非同期) 停止
piper-plus で整えていたこと 音声合成の土台 • VITS + ONNX Runtime • いくつかの実行環境で動かせるように整備 • ゲームに載せやすい軽さを意識 多言語対応 • 日本語と英語まわりを先に整備 • ja/en/zh/es/fr/pt の 6 言語に対応 Godot 用に一から作り直したのではなく、既存の core を土台にしています。 Godot Meetup Tokyo / godot-piper-plus 9
godot-piper-plus で作ったもの Runtime • PiperTTS ノード • 同期 / 非同期 / streaming で合成できる Editor • モデルダウンローダ • 辞書エディタ • 試聴しながら調整できる UI Godot につなぐだけでなく、addon として使いやすい形に整えているところです。 Godot Meetup Tokyo / godot-piper-plus 10
いちばん大変だったところ Packaging / distribution • voice model は package に同梱しない • 導入しやすい配布導線を考える必要がある • CI で smoke と package 検証を回す Native library • PF ごとに必要な library が異なる • 不足や組み合わせ違いを validator で検出する • addon として配れる形まで整えるのが難しい Godot Meetup Tokyo / godot-piper-plus 11
Roadmap 次にやること • Asset Library 登録 • Android runtime 最終確認 • ドキュメントとサンプルの整備 ほしい反応 • 使ってみた感想 • ほしい言語 / 配布形態の要望 • Issue / PR / テスト協力 まだ完成ではなく、ここから公開に向けて仕上げていく段階です。 Godot Meetup Tokyo / godot-piper-plus 12
生成AI なんでも展示会 Vol.5 05/06 Wen