All posts

NPCボイスジェネレーター:NPCとナレーター向けAIボイスオーバー

プレースホルダーのセリフにNPCボイスジェネレーターを使う方法を解説します。ライブラリからボイスを選ぶ方法、Voice stabilityとVoice closenessで実際に変わること、バーク、クエストのセリフ、チュートリアル、ナレーションを5,000文字の上限内で書く方法、スクリプトからゲームエンジンへ取り込むワークフロー、そして生成をやめて実際の声優に依頼すべきタイミングまで紹介します。

Andreas Edesberg10 min read
NPCボイスジェネレーター:NPCとナレーター向けAIボイスオーバー

ゲーム内のセリフの多くは、聞くものではなく読むものです。衛兵には1行、クエストの依頼人には4行、チュートリアルには十数行あり、そのすべてが画面上で無音のまま表示され、あなたはペース配分について議論し続けます。バーティカルスライスの前に2回は書き直されるテキストのために、声優をキャスティングする人はいません。

生成ボイスオーバーが埋めるのは、その空白です。セリフを貼り付けてボイスを選べば、数秒後にはそのバークがうまく決まるか、チュートリアルのヒントが3語長すぎるかを耳で確認できます。このガイドでは、プレースホルダーのセリフにNPCボイスジェネレーターを使う方法を解説します。ライブラリからボイスを選ぶ方法、Voice stabilityとVoice closenessの設定が行うこと、バーク、クエストのセリフ、チュートリアル、ナレーションの書き方、クリップをゲームエンジンに取り込む方法、そして生成をやめて収録セッションを予約すべきタイミングまで紹介します。以下のクリップはすべてSloydのAIオーディオジェネレーターで作成しています。クリップは英語で話し、同じテキストを貼り付けて同じテイクを得られるよう、英語のセリフとボイスをそれぞれの横に記載しています。

スクリプトが変わり続ける間のプレースホルダー用ボイスオーバー

セリフには、ドキュメントだけでは分からない問題が2つあります。1つ目は長さです。ページ上では短くキレよく読めるバークでも、声に出すとアニメーションに与えられた3秒を超えてしまいます。2つ目はトーンです。「the old mine has gone quiet」は頭の中では不穏でも、文章に説得力がなければ、読み上げでは退屈に聞こえます。

生成ボイスオーバーなら、この2つを30秒で確認できます。

  • タイミング。 アニメーションや字幕のタイマーにクリップを合わせれば、声優がブースに入る前にセリフが収まるか分かります。
  • 負荷がかかった状態でのバーク。 プレイテストで200回聞く戦闘の叫び声は、すぐに問題が分かります。生成し、戦闘をループさせ、耳障りなものを削除しましょう。
  • チュートリアルのペース。 音声による説明は、教えている対象と競合します。プレイヤーに行動する余裕があるかを判断するには、実際に聞くしかありません。
  • 場の反応を見る。 仮ボイス付きのビルドをプレイテスターに渡せば、彼らはシーンに反応します。無音の字幕だけのビルドを渡せば、字幕に反応します。

出力は、グレーボックスのレベルアートやtext to 3Dのプレースホルダー用プロップと同じように、仮音声として扱いましょう。意思決定には十分ですが、トレーラーでそのまま使うものではありません。すでにコンセプトアートにimage to 3D、リファレンスにtext to imageを使っているなら、仮のセリフも新しいサブスクリプションを契約せず同じアカウントから作成できます。ゲーム開発向けのユースケースでは、この一連の流れを詳しく説明しています。

NPCボイスジェネレーターを使う:ライブラリと2つの設定

Sloyd Audioの音声機能は、ボイスライブラリ、テキストボックス、2つのスライダーで構成されています。セリフに関する操作はこれですべてで、キャラクターらしさを決めるのが2つのスライダーです。

まずボイスを選ぶ

ボイス選択画面には、アプリが提供する標準ボイスが一覧表示されます。各行にはプレビューボタンがあり、生成を使う前に声を聞けます。また、お気に入りをリストの上部に固定するハートもあります。キャスト用に4つのボイスを決めた後、残りをスクロールして探したくない場合に便利です。

ライブラリについて知っておきたいことが2つあります。キャスティングは一覧にある標準ボイスから行います。Sloydはボイスをクローンしないため、人物の録音をアップロードしてその人の声を再現することはできません。また、音声モデルは多言語対応なので、英語以外の言語でもセリフを読み上げます。ローカライズ版にも仮音声が必要な場合に便利です。

プロトタイプで役立つキャスティングのアドバイスがあります。ゲーム用ボイスジェネレーターは、組み立てたキャスト次第です。登場するNPCの役割ごとに専用のボイスを割り当て、最初のクリップからファイル名に役割を入れましょう。一貫して使った4つのボイスはキャストとして聞こえます。ランダムに散りばめた8つのボイスはバグのように聞こえます。

Voice stability:一貫性と表現力

Voice stabilityスライダーは0から1までで、初期値は0.50です。折りたたまれたコントロールでは50%、開いたスライダーでは0.50と表示されます。アプリ内のヒントが、その意味を正確に説明しています。値を下げるとより表現豊かな読み上げになり、値を上げると読み上げがより一貫します。

実際の使い分けは次のとおりです。

  • 安定性を下げるのは、演技が必要なセリフです。叫び声、パニック、楽しそうな悪役などに向いています。テイクごとの差は大きくなりますが、1つを選ぶ場合には問題ありません。
  • 安定性を上げるのは、平坦さが必要なセリフです。チュートリアル、メニュー、システムメッセージなど、プレイヤーが何度も聞き、やがて意識しなくなるべきものに向いています。
  • バークは中間に設定します。 平坦すぎると戦闘がロボットのように感じられ、自由度が高すぎると4回に1回は不自然なテイクになります。

Voice closeness:類似性と自然さ

Voice closenessスライダーも0から1までで、初期値は0.75です。折りたたまれたコントロールでは75%と表示されます。ヒントにはトレードオフが明記されています。選択したボイスにどれだけ忠実に読み上げるかを調整し、値を上げると類似性が高まる一方で、自然さが下がる場合があります。

キャスティング中は初期値に近い設定にしておきましょう。そこではボイスがまだ本来の声らしく聞こえるからです。複数のセッションにわたってキャラクターのセリフを生成し、声を一致させる必要がある場合は値を上げます。セリフが硬く聞こえ、プレビューとの完全な一致よりも人間らしさを重視したい場合は値を下げます。

スライダーは一度に1つだけ変更し、同じセリフを2回生成しましょう。1つのセリフを2つのテイクで聞く方が、2つのセリフを1テイクずつ聞くより設定の違いが分かります。

バーク、クエストのセリフ、チュートリアル、ナレーションを書く

1回の生成で最大5,000文字のテキストを入力できます。およそ800語、または数分間の音声に相当します。この数字は書ける内容を制限するというより、スクリプトをどう分割するかを決めるものです。

実用的な分割方法は、ゲームエンジンがトリガーする単位ごとに1クリップにすることです。

  • 1行につき1クリップにします。バーク、挨拶、確認など、トリガーがあるものが対象です。ゲームエンジンはそれぞれを個別に再生する必要があります。
  • 1シーンにつき1クリップにします。カットシーンやロード画面で最初から最後まで流れるナレーションが対象です。
  • キャラクターごとに1クリップにはしないでください。 クエストチェーン全体を1回の生成に貼り付けると、1つのMP3ができ、それをエディターで手作業で分割する必要があります。

指示として使えるのは句読点だけです。ピリオドは1拍、コンマはより短い間、三点リーダーはポーズになります。正しく聞かせたいものは、聞こえるとおりに書きましょう。「50g」ではなく「fifty gold」と書き、綴りが誤読を招く名前は発音どおりに表記します。ステージ指示は機能しません。モデルは入力したものを読み上げるため、[angrily]はその単語として発音されます。怒りを表現したい場合は、怒ったセリフを書いて安定性を下げましょう。

バーク:短く、繰り返し使い、数を揃える

行(英語):「You picked the wrong road, stranger. Drop the coin and walk away.」、ボイス George、stability 0.50、closeness 0.75。

バークは約3秒以内に収め、状況ごとに4~5種類を書きましょう。戦闘がループのように聞こえなくなるのは、バリエーションがあるからです。各セリフを別々のクリップにすれば、ゲームエンジンがランダムに選べます。

商人と挨拶:場所の雰囲気を作るセリフ

行(英語):「Fresh steel, fair prices. Everything must go before the frost sets in.」、ボイス River、stability 0.50、closeness 0.75。

環境音としてのセリフは、低コストで舞台設定を伝えます。天気や収穫についての1行は、メニュー内の伝承を説明する段落よりも、町についてプレイヤーに多くを伝えることがあります。同じAudioページの群衆音と組み合わせる方法については、AIでゲームの効果音を作る方法のガイドで解説しています。

チュートリアルとヒント:キャラクター性より明瞭さ

行(英語):「Raise your shield to block, then strike while their guard is open.」、ボイス River、stability 0.50、closeness 0.75。

1クリップにつき1つの指示にし、動詞から始め、ジョークは入れません。繰り返し表示するヒントが同じ内容になるよう安定性を上げ、再生中でもプレイヤーが行動できる長さに収めましょう。

ナレーション:生成する最も長いセリフ

行(英語):「Long before the towers fell, this valley answered to no king.」、ボイス George、stability 0.50、closeness 0.75。

ナレーター用ボイスジェネレーターは、イントロ、チャプターカード、コーデックスの項目、ロード画面で力を発揮します。文章が頻繁に変わり、まだ何にもアニメーションが合わせられていない場面です。ナレーションは短い文で書き、句読点で間を指定します。プロローグ全体ではなく段落ごとに生成し、書き直しのたびに1回の生成で済むよう、各段落を別々のクリップにしましょう。

同じ用途はゲーム以外にもあります。ストアのウォークスルーや製品紹介動画でも、スクリプトが固まるまでは同じように仮ナレーションが必要です。これはこのワークフローのeコマース向けユースケースにあたります。

ワークフロー:スクリプト、生成、インポート

4つのステップがあり、判断が必要なのは最初の1つだけです。

  1. スクリプト。 セリフ、キャラクター、トリガー、ファイル名の列を用意し、1つのシートにまとめます。ファイル名は例えばvo_guard_bark_01のようにします。書き直した後に再生成するために使うのが、このシートです。
  2. 生成。 セリフを貼り付け、キャラクターのボイスを選び、セリフの用途に合わせてスライダーを設定し、生成します。すべてのクリップはMy Activityに保存されるため、昨日気に入ったテイクも残っています。
  3. ダウンロード。 各クリップは1つのMP3としてダウンロードされます。Sloyd Audioが提供する形式はこれだけで、ゲームエンジンに取り込むファイルもこれです。
  4. インポート。 ファイルを取り込み、トリガーに接続し、シーンを再生します。
エンジンMP3のサポート対応方法
UnityMP3を直接インポート可能Assets/Audio/VOに入れます。バークにはDecompress On Load、ナレーションにはStreamingを設定します。Unityはインポート時に再エンコードするため、ランタイムの品質はプロジェクトの圧縮設定で決まります。
Unreal EngineWAVが安全な方法AudacityまたはDAWでMP3を16-bit 44.1 kHz WAVに変換し、Sound Waveとしてインポートします。複数のバークは、ランダムノードを使ったSound Cueにまとめます。
Godot 4MP3を直接インポート可能プロジェクトにコピーし、AudioStreamPlayerから参照します。セリフではLoopをオフにします。
Roblox StudioMP3を直接アップロード可能Creationsからアップロードし、モデレーションの承認を待ってから、Soundオブジェクト内でアセットIDを参照します。承認には時間がかかるため、仮のセリフは早めにアップロードしましょう。

実用上の注意が2つあります。ボイスオーバーは効果音より早く増えていくため、シートのファイル名をそのまま使いましょう。tts_outputという名前のクリップが100個あると、1日が失われます。また、バークをトリガーに接続する前に、Audacityのような無料エディターで両端の無音を削除しましょう。セリフが攻撃に合わせて再生される場合、冒頭の0.25秒が遅延のように聞こえるためです。

ビルド用のトレーラーを編集していますか?Sloyd Video Studioでは5~15秒のクリップをレンダリングでき、Extendでショットを延長できます。3Dモデルのカメラ移動のレンダリングは1~10秒に対応しています。自分で用意したナレーションを編集映像に重ねましょう。

収録したボイスオーバーに置き換えるタイミング

AIボイスオーバーはプロトタイピング用のツールであり、キャストではありません。録り直すかどうかは、そのセリフが何を担う必要があるかで決まります。

声優に依頼するべきもの:

  • 主人公と、物語上の成長を持つキャラクター。 20時間にわたって変化する演技は、設定ではなく演技です。
  • 感情的な重要シーン。 トレーラーに使うシーン、死、裏切りなどは、息遣いとタイミングで伝わります。
  • コメディ。 ジョークはタイミングがすべてであり、テキストボックスではそのタイミングを演出できません。
  • マーケティング上の重要な要素に依存するもの。 セリフがトレーラーやストアページに登場するなら、収録セッションに価値があります。

生成クリップを残してよいもの:

  • バークと群衆のセリフ。 ここではニュアンスより量が重要です。
  • システム音声とチュートリアル音声。 そもそもニュートラルであるべきものです。
  • ローカライズ版の仮音声。 2つ目のキャストに予算を割く前に、英語以外のビルドをプレイテストできます。
  • まだ書き直しているすべてのセリフ。 スクリプトの大部分は、終盤まで書き直しが続きます。

生成ボイスを使ってリリースする前に、2つ確認しておきましょう。商用リリースで使用するボイスに適用されるライセンス条件を確認すること。そしてプレイテスターに、どの音声が仮のものかを伝えることです。そうすれば、得られるフィードバックが読み上げではなく文章についてのものになります。ワークフローではなくツールを比較している場合は、ゲームオーディオ向けElevenLabsの代替サービスで、それぞれを比較しています。

FAQ

生成する1つのセリフはどれくらい長くできますか?

1回の生成につき最大5,000文字、およそ800語です。どんなバークにも十分すぎる長さなので、実際には1クリップにつき1トリガーにするのが基本です。バークや挨拶はそれぞれ独立したファイルにし、ナレーションは段落ごとに分割します。そうすれば、書き直しのたびに再編集するのではなく、1回の生成で済みます。

Voice stabilityとVoice closenessの設定で何が変わりますか?

Voice stabilityは初期値が0.50(折りたたまれたコントロールでは50%)で、表現力と一貫性のバランスを調整します。値を下げると表現豊かな読み上げになり、値を上げると読み上げがより一貫します。Voice closenessは初期値が0.75(75%)で、選択したボイスへの忠実度を調整します。値を上げると類似性が高まりますが、自然さが下がる場合があります。設定を変更したら、同じセリフを2回生成して比較しましょう。

クリップはどの形式でダウンロードされますか?

クリップごとに1つのMP3として保存され、My Activityからダウンロードできます。Unity、Godot、Roblox Studioでは、そのままインポートできます。Unrealで使う場合や、ロスレスのマスターが必要な場合は、先にAudacityまたはDAWでMP3を16-bit WAVに変換してください。

実在する声優の声をクローンできますか?

いいえ。ライブラリは標準ボイスのみで、Sloydはボイスをクローンしません。そのため、人物の録音をアップロードして、その人の声で音声を生成することはできません。実在する演者をキャスティングする場合は、実際の収録セッションが必要です。

サウンドトラックも生成できますか?

いいえ。Sloyd Audioが対応するのは音声と効果音であり、音楽には対応していません。楽曲は作曲家または専用の音楽ツールに任せることになります。

ボイスオーバーの生成には有料プランが必要ですか?

はい。オーディオの生成とダウンロードにはSloyd PlusまたはSloyd Proが必要です。料金ページで各プランを比較できます。

最もよく聞く20行から始める

プレイテストで実際に表面化するセリフを選びましょう。戦闘のバーク4つ、挨拶2つ、チュートリアルのヒント4つ、死亡時のセリフ、商人のセリフ数個、ナレーターのイントロ1つです。登場するキャラクターごとに1つのボイスを割り当て、ダイアログシートからファイル名を付ければ、キャスティングの段階を経ず、午後のうちにボイス付きプロトタイプを作れます。

この投稿のセリフを使ってSloyd Audioで最初のNPCセリフを生成し、text to 3Dでボイスと対応するキャラクターを組み合わせましょう。