ボイス
スクリプトのパスはこの SKILL.md からの相対パスであり、speak.py はフィルムフォルダから実行されます。この手順はオプションです。録音や他のツールからの音声も同様に機能します。それらを audio/voice/<line id>.wav に配置するか、行に file を設定してください。
相手の言語で話しかけてください。
キーの設定(一度だけ)
費用は相手自身のアカウントに請求されます。相手に自分のターミナルでこれを実行するよう依頼してください:
python <dula-start フォルダ>/scripts/configure.py
Claude Code では、! python <path>/configure.py と入力してもらうことができます。
**会話の中でキーを尋ねたり、~/.dula-craft/config.env を読んだり表示したりしないでください。**設定されているかどうかを確認するには、configure.py --status を使用してください。誰かが会話内にキーを貼り付けた場合は、コンソールでキーを失効させて新しいものを作成するように伝えてください。
声のデザイン
config/film.json のトップレベルに voices を追加します:
"voices": {
"mochi": {"desc": "8歳くらいの男の子、明るく活発、テンポが速く、軽い息づかい"},
"gran": {"desc": "70歳の女性、温かくややハスキー、ゆっくりで非常に明瞭な発音"}
}
行には delivery を設定できます:
{"id": "l03", "who": "mochi", "text": "ほ、本当?", "delivery": "驚きと喜び、最初の単語で震え、最後に向かって上がる"}
オプションの音声フィールド:lang で言語を設定(デフォルトは行の言語)、speaker で公式の火山エンジン音声 ID を設定、reference で権利を持つ参照音声を指定できます。
desc と delivery は英語、または行の言語で記述してください。声そのもの(年齢、緊張感、息づかい、テンポ、重み)を説明してください。「嬉しい」だけでは声は変わりません。「特定の俳優やキャラクターのように聞こえる」とは書かず、有名なキャラクターや実在の人物を模倣する声を選ばないでください。声にも肖像権や著作権のリスクがあります。
生成
python <このフォルダ>/scripts/speak.py --dry-run # 料金が発生せずにプロンプトを確認
python <このフォルダ>/scripts/speak.py
各キャラクターの最初の行は、その後の行の音声リファレンスになります。**最初の行の音声を最初に聞いてください。**適切でない場合は、desc を変更してやり直してください。最初の行を変更した後は、--only を使用してそのキャラクターの後続の行を新しい声に合わせてやり直します。
行や声を変更して再度実行すると、変更された部分だけが再生成されます。
環境音と効果音
python <このフォルダ>/scripts/speak.py --sound "静かな古い部屋、時々遠くで鳥の声" --seconds 10 --out audio/sfx/room.wav
**必ず --seconds を指定してください。**課金は長さに基づくため、指定がないとクリップが30秒以上になることがあります。これはおおよその値であり、非常に短いリクエストは長く返ってくる傾向があります。生成されたクリップはしばしば音量が小さいため、film.json に level_db を指定してストーリーのサウンドのレベルを調整してください(film.json のリファレンスを参照)。
一度に1つずつ生成してください。セリフ、効果音、音楽をまとめて1つのプロンプトでリクエストしないでください。レベルを個別に調整できず、口の動きが合わなくなります。
結果の確認
- 可能であれば聞いてください。聞けない場合は、「この音声は耳で確認されていません」と相手に伝えてください。
- 自分でできること:長さが妥当かどうか確認してください(短いセリフで5秒は問題です)。Whisper などの文字起こしツールが利用可能な場合は、テキストをスクリプトと比較してください。非常に小さな単語が欠落している場合があり、それは再実行のサインです。
deliveryはリクエストであり、正確な制御ではありません。特にポーズの長さは信頼できないため、テンポがおかしい場合はセリフを短くするか再生成してください。- 同じプロンプトでも毎回異なる結果が得られるため、エラーが発生した場合は再生成してください。
よくある問題
| 症状 | 修正方法 |
|---|---|
Key rejected, or Audio Generation 1.0 is not enabled | サービスが有効になっているか確認してください。キーは音声コンソールからのものでなければならず、Ark キーは機能しません |
| 単語が誤って読まれる | 再生成するか、セリフを言い換えてください |
| セリフが一人の人間のように聞こえない | 最初のセリフが正しいことを確認し、--only で後続のセリフをやり直すか、speaker を設定してください |
| セリフの終わりが切れる | より遅い delivery をリクエストするか、再生成してください |