登壇したのは,NEXON Games IO本部 ユグドラシルMLチームのキム・ミョンジ氏。ゲームクライアントプログラマを経て,現在は機械学習エンジニアとして同チームに所属する人物だ。「ブルーアーカイブ -Blue Archive-」(iOS / Android)のキャラクターに,より自然で没入感のある声を与えるためのTTS(Text-to-Speech,音声合成)開発を紹介した。
![]() |
「話す」ことではなく,キャラクターに没入できる声を
キム氏が所属するIO本部は,サブカルチャー系ゲームを開発する組織だ。そこには「キャラクターとプレイヤーの相互作用体験を提供し,実際にコミュニケーションしていると感じてもらう」という哲学があるという。
「ブルーアーカイブ」ではリリース初期から,キャラクターがTTSでプレイヤーのニックネームを直接呼ぶ機能を搭載しており,ゲーム内のセリフもTTSで更新されている。
その役割を担うのが,いつも元気なアロナと,クールなプラナという2人のキャラクターだ。
![]() |
キム氏のチームは,そこからさらに一歩進めることを目指した。単にセリフを喋らせるだけでなく,キャラクター性を損なうことなく,状況に合った感情を込めて自然に話してほしい――というのが狙いだ。
会場では,初期のモデルと現在のモデルとで合成したアロナの音声が再生され,「うまく言葉にはできないが,本当に困っている感じが伝わる」など,感情やニュアンスの再現度が大きく向上していることが体感として共有された。
モデル選定の基準と,たどり着いたStyle-Bert-VITS2
最初の関門は,数多く存在するオープンソースのTTS学習モデルの中から,どれを採用するかだった。
やみくもに選ぶわけにはいかないため,キム氏は「キャラクター性」「感情表現」「自然さ」という3つの選定基準を立て,それぞれをさらに具体的に分解していった。
キャラクター性は,音色(声の質感やトーンが元キャラクターにどれだけ似ているか),発声習慣(固有の発音が自然に出ているか),話し方やリズム(速さ・イントネーション・息づかいが性格と合致しているか),そして感情表現の4点に整理した。感情表現は「普段」「喜び」「悲しみ」「怒り」の4つに分けた。
![]() |
難しかったのが「自然さ」の定義だ。
キム氏はこれを,社内の音声検収で繰り返し寄せられるフィードバックのパターンから逆算した。具体的には,
・単語と単語の間に自然な呼吸を感じさせる無音(ポーズ)の長さ調整
・特定の音節を長く伸ばす長音の発音
・不自然に聞こえる箇所のピッチ(声の高低)の調整
・ノイズの除去
という4種類。
なお,長音とピッチに関する要望は,韓国語よりも日本語で多く寄せられたという。日本語は長音やピッチアクセントによって意味が変わる言語であることが,その理由だと説明された。
![]() |
これらの基準でさまざまなモデルを試した結果,最終的に採用されたのが「Style-Bert-VITS2」だ。
Bert-VITS2をベースに日本語向けに設計されたモデルで,漢字変換・ピッチ・長音処理などに対応する。さらに,句読点などの記号を音素として扱い,疑問符・感嘆符・読点といった記号ごとの発声パターンを個別に学習する点が特徴だ。
そして最大の特徴がスタイルベクトルである。一般的なTTSが単一のトーンで学習・生成されるのに対し,このモデルは同一話者が複数のスタイルで話し分けられるよう実装されている。普段は落ち着いて話すキャラクターが,緊迫した場面では緊張感をもって,イベントではうれしそうに,といった表現が可能になるわけだ。
日本語特化モデルを,韓国語へ
ただし,Style-Bert-VITS2には大きな制約があった。日本語特化であり,韓国語の学習をサポートしていないのだ。そこで,まず日本語特化モデルとして性能を確認することにした。
ブルーアーカイブのアロナ・プラナのデータセット,スタジオ収録で,声優の話し方や呼吸まで含めて収録した音声ファイルに,モデル推奨の文中記号を取り入れた台本を用いてファインチューニングを実施した。
その結果,感嘆符のある部分が強く表現され,コンマの部分では間が置かれ,長音記号の部分は長めに発音されるなど,狙いどおりの挙動が確認できたという。
![]() |
日本語での手応えを得たうえで,キム氏は残されたソースコードを活用し,韓国語学習モードを新たに開発する決断を下す。Style-Bert-VITS2の構造のうち言語依存の部分は,大きく「G2P」と「BERTモデル」の2つに分けられた。
G2Pは,台本テキストを学習可能なデータへ変換する処理だ。記号や数字を読み上げ可能な表記に直す正規化や,表記と実際の発音が異なる箇所の発音変換などを行う。
日本語のG2Pは「正規化」「形態素解析」「アクセント抽出」「カタカナ音素変換」の4工程からなるが,韓国語では漢字の読み解析(形態素解析)やアクセント抽出,カタカナ変換は不要。代わりにハングルの音素変換を追加し,正規化を韓国語向けに変更した。
一方で,アクセント抽出を省いたことで,学習によるピッチ調整機能が使えなくなるという欠点も生じた。台本にピッチ情報を持たせる案も検討したが,韓国語では声の高低を客観的に「正解」と判断する根拠が現時点では存在しないため,今後の研究課題として残したという。
もう一方のBERTモデルは,文中の単語の意味を文脈から数値ベクトルへ変換するモデルだ。文全体の文脈があれば意味を特定できる判断を担う。キム氏は日本語BERTを韓国語BERTに置き換えるにあたり,3つの候補から「beomi/kcbert-large」を選択した。理由は,Style-Bert-VITS2がベクトルサイズ1024を前提に設計されており,その条件に合致したためだという。ベースモデル学習用のデータセットはAI Hubから取得し,当初はおよそ900GBを用意したが,最終的には600GBを使用したとのことだ。
![]() |
ベースモデル学習で直面した2つの壁
ファインチューニング中心だったキム氏にとって,ベースモデルをゼロから構築する作業は予想外の問題の連続だったという。中でも重要な2つが共有された。
1つ目はアンバランシングトレーニングの問題だ。Style-Bert-VITS2は,音声を生成するジェネレータ(G)と,その音声の真偽を判別するディスクリミネータ(D)が競い合いながら共に成長していく構造になっている。
理想的には両者の損失が均衡しながら収束するはずだが,学習ではGの損失が上昇し,Dの損失が下降,正反対の方向へ進んでしまった。これは判別器が生成器より賢くなりすぎる「ディスクリミネータのオーバーフィッティング」だ。
白紙の状態から始まるジェネレータに対し,ディスクリミネータはデータセットという“解答”を持っているため,すぐに賢くなりすぎてしまうのが原因だという。これに対しては,
・はじめにジェネレータだけを先行学習させ,ある程度音声を生成できるまで育ててから両者を競わせる
・ジェネレータとディスクリミネータの学習速度に差をつけ,判別器の学習を遅らせる
という2つの手法で対処し,両者がほぼ同じペースで成長するようになった。
![]() |
2つ目はデータセットの組み合わせの問題だ。
使用したデータセットは3つのグループ(A/B/C)に分かれており,各群は約300GB。当初は合計900GBをすべて使う予定だったが,3群すべてを投入するとトレーニングロスがいくら学習を重ねても収束しなかったという。
そこでデータを分割・再結合しながら検証したところ,C群のデータに問題があることが判明した。C群は平均して音声が長く,さらに全体の約半分にノイズが含まれており,これが学習に悪影響を及ぼしたと考えられるとのことだ。
「ロスが低い=高品質」とは限らない
韓国語ベースモデルが完成すると,次はファインチューニングだ。
日本語と同様にアロナ・プラナの韓国語データセットを用い,Style-Bert-VITS2が提供する基本パラメータでの学習と,学習途中でパラメータを変更する学習の2通りを試した。
グラフ上では,パラメータを変更したモデル(ミント色の線)のほうが損失がやや低く収束しており,一見すると学習がうまく進んだように見えた。
ところが実際にイヤホンで音声を聞き比べると,基本パラメータで学習した最初のモデルのほうがノイズが著しく少なかったという。ここからキム氏は,グラフ上の数値が低く収束していても,必ずしもクオリティが高いとは限らないという知見を得た。
![]() |
この現象はベースモデル構築時には起きず,Style-Bert-VITS2をファインチューニングするときに限って生じたとのこと。そのため,このモデルをファインチューニングする際は,提供されているパラメータをそのまま使うようにしているという。
最終的に,基本パラメータで学習した“ピンクのモデル”がSOTA(基準)モデルとして採用された。仕上がったモデルは,以前は再現できなかった三点リーダーや伸ばし符号といった記号もきちんと表現できるようになり,アロナをアロナのスタイルで,あるいはプラナのスタイルで話し分けることも確認できたという。
また,キム氏はモデルをさらに高度化するための課題を2つ挙げた。
1つ目はモデル評価体系の構築だ。これまでは自身の耳だけで評価していたが,今後は「定量評価」と「定性評価」の2段階でより客観的に評価したいという。
第1段階の定量評価は学習過程に自動で組み込み,一定周期ごとにモデルを取り出してスコアを算出。スコアの伸びが鈍るタイミングで実際に聞いてみて,学習を続けるか,方法を修正するか,終了するかを判断する。第2段階の定性評価では,定量評価を通過したモデルだけを対象に,人が実際に聞いて総合判断する。
毎回すべてを人が聞くのはリソース的に現実的でないため,定量評価をフィルターとして使う狙いだ。現在は,モデルや音声ファイルを入力するとスコアが出力される自動化ページと,A/Bテスト形式で評価できる定性評価用ページを制作中だという。
![]() |
2つ目はコーパスの構築だ。
キム氏は,音声ファイルと台本の組み合わせである「データセット」に対し,特定の目的のために設計されたデータを「コーパス」と定義。TTSにおけるコーパス構築とは,望む音声を得るためにどの文を学習させるかを設計する作業だと説明した。実際,完成した韓国語モデルは日本語モデルに比べ,長音符や三点リーダーの表現が弱かったという。
原因はとなるのは,それらの記号が韓国語のベースデータセットには含まれず,ファインチューニング用台本にしかなかったこと。日本語ではベースモデルの段階から記号を多く含めていたとみられ,常に安定して表現できていた。
また,データセットに含まれない単語や,歯擦音を含む単語はうまく発音できない傾向もあった。こうした経験から,正確な発音が求められる単語ほど,さまざまな文脈の台本に含めてコーパスを設計することが最も確実な解決策だと結論づけた。
![]() |
キム氏は最後に,「TTSモデルにしゃべらせること自体は簡単だが,私たちが重要だと考えているのは,話すという行為そのものではなく,そのキャラクターにもっと没入できる瞬間を作ることだ」と語り,より自然で本物に近い声の実現に向けて前進し続けると締めくくった。
![]() |



















![画像ギャラリー No.001のサムネイル画像 / キャラクターに没入できる声を――「ブルアカ」を支えるTTS開発と,日本語特化モデルを韓国語へ対応させた道のり[NDC26]](/games/915/G091533/20260617028/TN/001.jpg)
![画像ギャラリー No.002のサムネイル画像 / キャラクターに没入できる声を――「ブルアカ」を支えるTTS開発と,日本語特化モデルを韓国語へ対応させた道のり[NDC26]](/games/915/G091533/20260617028/TN/002.png)
![画像ギャラリー No.003のサムネイル画像 / キャラクターに没入できる声を――「ブルアカ」を支えるTTS開発と,日本語特化モデルを韓国語へ対応させた道のり[NDC26]](/games/915/G091533/20260617028/TN/003.png)
![画像ギャラリー No.005のサムネイル画像 / キャラクターに没入できる声を――「ブルアカ」を支えるTTS開発と,日本語特化モデルを韓国語へ対応させた道のり[NDC26]](/games/915/G091533/20260617028/TN/005.png)
![画像ギャラリー No.004のサムネイル画像 / キャラクターに没入できる声を――「ブルアカ」を支えるTTS開発と,日本語特化モデルを韓国語へ対応させた道のり[NDC26]](/games/915/G091533/20260617028/TN/004.png)
![画像ギャラリー No.008のサムネイル画像 / キャラクターに没入できる声を――「ブルアカ」を支えるTTS開発と,日本語特化モデルを韓国語へ対応させた道のり[NDC26]](/games/915/G091533/20260617028/TN/008.png)
![画像ギャラリー No.006のサムネイル画像 / キャラクターに没入できる声を――「ブルアカ」を支えるTTS開発と,日本語特化モデルを韓国語へ対応させた道のり[NDC26]](/games/915/G091533/20260617028/TN/006.png)
![画像ギャラリー No.007のサムネイル画像 / キャラクターに没入できる声を――「ブルアカ」を支えるTTS開発と,日本語特化モデルを韓国語へ対応させた道のり[NDC26]](/games/915/G091533/20260617028/TN/007.png)
![画像ギャラリー No.009のサムネイル画像 / キャラクターに没入できる声を――「ブルアカ」を支えるTTS開発と,日本語特化モデルを韓国語へ対応させた道のり[NDC26]](/games/915/G091533/20260617028/TN/009.png)
![画像ギャラリー No.010のサムネイル画像 / キャラクターに没入できる声を――「ブルアカ」を支えるTTS開発と,日本語特化モデルを韓国語へ対応させた道のり[NDC26]](/games/915/G091533/20260617028/TN/010.png)
![画像ギャラリー No.011のサムネイル画像 / キャラクターに没入できる声を――「ブルアカ」を支えるTTS開発と,日本語特化モデルを韓国語へ対応させた道のり[NDC26]](/games/915/G091533/20260617028/TN/011.png)