GameMaker の音声読み上げ:ゲームにセリフのボイスを
GameMaker は多くの個人開発者に選ばれるツールですが、ボイスはたいてい真っ先に予算から外れます。音声合成なら、書いたその日にすべてのセリフに声が付きます。プロトタイプでも、仮のセリフでも、あえて合成音声を残すゲームでも。
無料の SuperClonica エンジンは、ふつうのCPUでオフラインにセリフを作り、GameMaker が読み込める OGG、WAV、MP3 で書き出します。このガイドでは、台本の音声化、プロジェクトへの取り込み、GML からの再生、製品版で使える声を紹介します。
GameMaker のボイスのしくみ
ボイスは事前に作ったファイルなので、製品版のゲームにはプレイヤーのPCにエンジンは必要ありません。
- セリフ1つが、WAV、OGG、MP3 ファイルから読み込んだサウンドアセット1つになります。
- audio_play_sound で再生し、audio_play_sound_at ならルーム内の位置から鳴らせます。
- セリフが数百あるなら、1つずつ読み込まずに OGG を Included Files に置き、audio_create_stream でストリーミングします。
- エンジンは31言語を話します。中国語にはまだ対応していません。
無料でオンラインで声を選ぶ
どの声のページでも、キャラクターのセリフを30〜100文字で入力し、言語を選んで生成ボタンを押します。数秒で、その声が店主、騎士、ラスボスに合うかが分かります。アカウントは不要です。
台本を音声化する
セリフは id、言語、テキストの列を持つ表で管理し、短いスクリプトで1行ずつ音声化しましょう。
- エンジンをインストール:python -m pip install superclonica-cpu。
- セリフを1つずつ音声化:superclonica --text "ようこそ、旅の人!今日はポーションが半額だよ。" --voice F2 --lang ja --normalize --output snd_shopkeeper_01.ogg。--normalize で全セリフの音量がそろいます。
- ファイル名をアセット名とそろえておくと、読み込みとコードがずれません。
- 同じテキスト、声、seed からは常に同じ音声が出るので、作り直すのは変更したセリフだけで済みます。
GML からセリフを再生
読み込んだセリフは audio_play_sound(snd_shopkeeper_01, 10, false) で再生します。10は優先度、false はループなしの意味です。ストリーミングするファイルは audio_create_stream("voice/shopkeeper_01.ogg") で一度サウンドを作り、返ってきたインデックスを同じように再生します。数字は「50ゴールド」より「ごじゅうゴールド」のように読みで書くのが確実です。
製品版で使える声
ゲームジャムの作品やプロトタイプなら、カタログのどの声でも構いません。製品版では、権利を持っている声を使いましょう。モデルの標準ボイス10種(M1〜M5、F1〜F5)、同意を得た声優のクリーンな5〜10秒の録音から NVIDIA のグラフィックカードを積んだPCで SuperClonica のスタジオで学習させた声、あるいはエクスチェンジで依頼した声です。ファンが作ったキャラクターの声は、パロディやファンゲーム向けで、商用作品向けではありません。