はじめに
告白シーンを生成したら声が完璧でした。低くて、迷いがあって、最後の言葉で少し震える。次のシーンを生成したら、ラジオアナウンサーみたいな声になっていた。同じキャラクター、同じジェネレーター、でも別の日。観客には「モデルがばらついた」とは聞こえません。「別の人だ」と聞こえるだけで、シリーズはキャラクターをキャラクターたらしめる唯一のものを失ってしまいます。
AIキャラクターボイスジェネレーターは声を作ります。それをキャラクターボイスにするのはワークフローの問題です。声は一度定義してキャラクターに紐付け、毎回同じ方法でセリフごとにディレクションしなければなりません。このガイドでは、ArcLoopでそれを実現する方法を解説します。アセットへのボイス定義から、状態とシーンによるセリフのディレクション、用途に合ったモデルの選び方、そして声と顔を合わせた確認まで。
ボイスの居場所
ArcLoopのcharacter assetが持つのは顔だけではありません。Main image やリファレンスと並んでキャラクターボイスをアセットに Bind すると、@Mira を参照するすべての shot が顔と同様に同じボイスを引き出します。ボイスはクリップごとの設定ではなく、アイデンティティの一部になります。
これには実践的な意味があります。必要になる前にボイスを定義しておくこと。第4話でやっと声を決めたキャラクターは後付け感が出ます。最初の3話は当て推量だったからです。ターンアラウンドを作るのと同じセッションで、アセットを構築するときにボイスをキャスティングしてください。
ライブラリからさっとボイスを選びたい場合は、AIキャラクターボイスジェネレーターのツールページでボイスの選び方、セリフの貼り付け方、パフォーマンスのディレクション方法を確認できます。この記事はシリーズの中で使うバージョンです。
一貫性を保つためのルール
- キャラクターごとに一つのプロフィール、文章で書いておく。 見た目の年齢、ピッチ、ペース、質感、声が揺れる場所。アセットの説明欄に残しておきましょう。ボイスプロンプトガイドにフィールドの書き方があります。
- 状態をディレクションする、形容詞ではなく。 「悲しい」は平均値です。「静かでいようとしているが、最後の言葉で怒りが滲み出る」はパフォーマンスです。
- すべてのセリフにシーンを添える。 彼女がどこにいて、誰に話しかけていて、何を隠しているか。モデルはそのコンテキストを演じます。
- シーズンを通して同じキャラクターには同じモデルを使う。 途中でエンジンを変えるのが、声が変わる最速の方法です。
- ボイスは必ず顔と合わせて確認する。単独では確認しない。 単体で聞いて問題なくても、その上に乗る表情と合わないことがあります。
キャラクターボイスの構築と使い方:ステップ・バイ・ステップ
- マイアセットのcharacter assetにボイスプロフィールを書く。 年齢、トーン、ペース、質感、感情の幅、一つのクセ(「嘘をつくとき語尾を切る」など)。
- キャラクターボイスをアセットに Bind する。 ライブラリから選ぶか形成する。これで
@Miraの一部になります。 - 用途に応じてエンジンを選ぶ。 セリフの中で感情が動く演技シーンには Seed Audio 1.0、
[whispers]や[crying]のようなタグで安定した再利用しやすい声が必要なときは ElevenLabs。吹き替え比較ガイドに使い分けが載っています。キャラクターごとに一度だけ決める。 - shot card に状態とシーンとともにセリフを書く。 誰に話しかけているか、何を求めているか、声がどこで揺れるか。
- 先にショットの映像を生成する。 顔とタイミングが存在してから。
- Edit で Generate Voiceover を実行する。 セリフがタイムライン上の対応する shot に配置されます。
- 映像と合わせて確認する。 声と一緒に shot を観て、デリバリーが表情と噛み合わない場合はボイスプロフィールではなくセリフのディレクションを変える。
- エピソードをまたいで再利用する。 アセットがボイスを持っているので、新しいエピソードに必要なのは新しいセリフだけ。複数キャラクターのシーンでは、マルチキャラクターボイスオーバーガイドに声を混同しない方法があります。
例1:アセットのボイスプロフィール
@Mira voice profile: female, reads 26–28, low-medium pitch, slightly dry texture, unhurried pace with short pauses before the words that cost her something. Emotional range: controlled to breaking; never shouts, gets quieter when angry. Signature: clips the ends of words when she is lying, and laughs only on an exhale. Engine: Seed Audio 1.0 for the whole season; do not switch engines for one-off lines.
例2:対決シーンのディレクション付きセリフ
Line for @Mira, Shot 9, kitchen, facing @Daniel across the counter, she has already seen the boarding pass. State: calm on the surface, anger under it, trying not to give him the satisfaction. Pace: slower than normal; a full pause before the last word. Line: "How was Osaka." Delivery note: not a question — flat, the period audible, no rise at the end, and no breath before she says it.
例3:同じキャラクター、別のシーン、同じ声
Line for @Mira, Shot 3 of EP4, hospital corridor, alone, on the phone to @Sora. State: exhausted, relieved, close to laughing at herself. Pace: quicker, breath audible, the dry texture stays. Line: "I know. I know. I'm coming home." Delivery note: the third phrase is almost a whisper; keep the pitch where it was in EP1 — same person, worse night.
キャラクターボイスが崩れるよくある原因
- クリップごとにボイスを選んでいる。 生成するたびに違う声になる。アセットに Bind する。
- 形容詞でディレクションしている。 「感情的」はランダムな感情を生む。状態とシーンを書く。
- シーズン途中でエンジンを変えた。 第5話でキャラクターの喉が変わる。キャラクターごとに一つのエンジンを。
- ページのために書かれたセリフ。 声が急がなければならない長い文章。字幕に収まる長さに削る。
- 顔なしで確認した。 単体では問題なかったが、間違った表情に乗っていた。タイムラインで確認する。
よくある質問
2人のキャラクターで生成ボイスを共有できますか? すべきではありません。ディレクションが違っても、観客は音色で判断します。繰り返し登場するキャラクターにはそれぞれ独自のプロフィールとライブラリの選択を与えてください。
複数の言語でボイスを使いたい場合は? プロフィールとディレクションを保持したまま、同じエンジンで各言語のセリフを生成してください。そうすることでロケールをまたいでもキャラクターが同じ人物に聞こえます。
ディレクションはどこまで書けばいい? ノートがセリフより長くなったら、ノートを削ってください。状態、シーン、ペース、デリバリーの詳細一つで十分です。
ナレーションにも使えますか? はい、ただしナレーションは別のキャラクターです。ナレーターが主人公と同じ声にならないよう、独自のプロフィールを作ってください。
次のステップ
ArcLoop でメインキャラクターのアセットを開き、一段落でボイスプロフィールを書いてください。年齢、ピッチ、ペース、質感、揺れる場所、一つのクセ。ボイスを Bind し、エンジンを選び、状態とシーンとともにセリフを一本ディレクションする。生成して shot に合わせて再生し、声と顔が同じ人物になるまでディレクションを調整してください。





