音声&効果音ジェネレーター は何をしますか?
ボイスオーバー(TTS)と効果音を生成します。TTSの場合は、submit_voice を呼び出す前に具体的なプロバイダーと音声を選択してください。
使用タイミング
- テキストからナレーション/ボイスオーバーを生成する
- 動画用のテキスト読み上げ音声を作成する
- 既存の動画、タイムライン、スクリーンレコーディング、スライドアニメーション、製品デモ、Bロール編集、MG解説、またはその他のビジュアルシーケンスにナレーション/ボイスオーバーを追加、置換、またはやり直す
- ビジュアルをトリミング、高速化、低速化、移動、並べ替え、または置換した後も、既存のナレーション/ボイスオーバーを揃えたままにする
- ユーザーが具体的な音声を選択していない場合に、TTS音声の選択肢を提供し試聴させる
- 効果音ライブラリを最初に確認した後、テキスト説明からカスタム効果音を生成する
TTS(テキスト読み上げ)
現在のリクエストに既存のビジュアルターゲットがあり、ユーザーがそのターゲットに対してナレーション、ボイスオーバー、吹き替え、または置換音声を希望する場合、新しいナレーションを作成する前に、既存のナレーションテキストを使用してTTSを生成したり、オーディオを配置したりする前に、references/video-sync.md を読んでください。これは、ユーザーが明示的に「同期」や「ビジュアルに合わせる」と言わなかった場合でも行ってください。ビジュアルターゲットが存在するということは、ナレーションのタイミングと意味が画面上のコンテンツに従う必要がある可能性があることを意味します。ビジュアルターゲットがない場合、またはユーザーがテキストから単にオーディオアセットを必要としている場合にのみ、通常のスタンドアロンTTSパスを使用してください。
また、タイムラインにすでにナレーション/ボイスオーバーがあり、ユーザーがそのボイスオーバーを揃えたままビジュアルを変更するよう要求した場合は、references/video-sync.md を読んでください。これは、新しいTTSが必要ない場合でも、同期を維持するタスクです。
submit_voice を使用してTTSオーディオアセットを作成します。現在のMCPツールの契約は次のとおりです:
providerは必須です。設定可能な選択肢はdoubao、elevenlabs、minimax、inworld、fishaudio、speechify、openai、gemini、mistral、またはcartesiaです。すべてのプロバイダーはオプトイン制です。機能プロンプトで設定済みとして表示されているプロバイダーのみを使用してください。voiceIdは必須で、具体的であり、プロバイダー固有です。唯一の例外は、意図的なMiniMaxtimbreWeightsミキシングの場合で、その場合はvoiceIdを空にする必要があります。カタログを混在させないでください。- references/voices.md のキュレーションカタログは、Doubao、ElevenLabs、およびMiniMaxのみをカバーしています。他のプロバイダーには、OpenChatCutにバンドルされたプリセットやサンプルカタログはありません。ユーザーまたはそのプロバイダーアカウントから具体的な音声IDを要求してください。プリセットや
/voice-samples/...URLを決して発明しないでください。 - AI SDK バックエンドのフィールドはプロバイダー固有です:OpenAI は
modelId、speed、outputFormat、およびinstructionsをサポートしています。Gemini はmodelId、outputFormat、およびinstructionsをサポートしています。Mistral はmodelIdおよびoutputFormatをサポートしています。Cartesia はmodelId、speed、languageCode、およびoutputFormatをサポートしています。サポートされていない、または要求されていないフィールドは省略してください。 - Inworld、Fish Audio、および Speechify は、
voiceIdとオプションのmodelIdのみを受け入れます。これらのプロバイダーに表現力、速度、言語、または出力制御を渡さないでください。 submit_voiceはオーディオアセットのみを作成します。タイムラインへの配置、置換、トリミング、およびアライメントは、後でタイムラインツールを使用して行われます。- 長いナレーションの場合、複数の
submit_voice呼び出しが役立つことがあります。ワークフローが個別にタイミング調整または配置された音声クリップの恩恵を受ける場合、自然なポーズ、文グループ、またはスクリプトのビート境界で分割してください。 - Doubao は
speedRatio、loudnessRatio、pitch、emotion、emotionScale、performancePrompt、およびexplicitDialectをサポートしていますが、すべての音声がすべての表現力制御をサポートしているわけではありません。使用する前に references/voices.md を確認してください。 - ElevenLabs は、公式の音声設定、言語、シード、出力、正規化、発音辞書、継続性、ロギング、およびレイテンシ制御を保持します。MiniMax は、references/minimax-tts.md に文書化された専用の制御を保持します。
現在のキュレーション音声に対するDoubao制御のサポート:
vivi、xiaohe、yunzhou、xiaotian、naiqimengwa、yingtaowanzi、wenroumama、zhixingnv、dayi、jitangnv、liuchang、ruyayichen、morgan、qingcang、huiben、popo、yuanboxiaoshu、baqiqingshu、およびtangsengは、明示的なemotion/emotionScale、performancePrompt、およびASMRスタイルのプロンプト指示をサポートしています。shuanglangshaonianはperformancePromptおよびCOT/QAスタイルの指示追従をサポートしていますが、明示的なemotion/emotionScaleまたはASMRスタイルの制御はサポートしていません。explicitDialectはviviのみでサポートされており、dongbei、shaanxi、またはsichuanを指定できます。
現在のキュレーション音声に対するElevenLabs制御のサポート:
amelia、brittney、hope、jessica、arabella、jane、maria、mark、frederick、peter、james、jon、sully、david、およびalexはすべて同じリクエストレベルの制御をサポートしています。モデル固有のサポートは引き続きElevenLabsによって検証されます。- これらの制御は、特定の演技スタイルの音声ごとの保証ではありません。プリセットタグ/サンプルを使用して自然に適した音声を選択し、制御を適度な配信変更に使用してください。
- ElevenLabs
eleven_v3の場合、ユーザーが感情、トーン、非言語的手がかり、アクセントのヒント、またはローカルペーシングなどの表現力豊かな配信を要求した場合、インラインオーディオタグが利用可能です。公式の例は、これらの有用なTTSカテゴリに適合します:[happy]、[sad]、[angry]、[excited]、[curious]、[sarcastic]、[crying]、[annoyed]、[appalled]、[thoughtful]、[surprised]、および[mischievously]などの感情/トーンタグ。[whispers]、[laughs]、[sighs]、[exhales]、[inhales deeply]、[clears throat]、[snorts]、[swallows]、[wheezing]、および[coughs]などの発声と非言語的手がかりタグ。[slowly]、[pause]、[short pause]、[long pause]、[rushed]、および[drawn out]などのペーシング/ポーズ/ローカル速度タグ。そして[strong X accent](例:[strong French accent])に加えて、[sings]、[singing]、[woo]、および[pirate voice]などのアクセント/特別パフォーマンスタグ。公式の例は網羅的ではありません。ユーザーがその配信を明示的に要求し、タグが音声の聞こえ方を説明しており、視覚的なアクションではない場合、同様の聴覚タグを試すことができます。タグは直接textに、影響を与える短いフレーズの近くに記述してください。タグを段落全体の制御ではなく、ローカルなガイダンスとして扱ってください。 eleven_v3のポーズとペーシングについては、必要に応じて句読点、テキスト構造、より短い生成セグメント、または[short pause]や[slowly]などのローカルオーディオタグを使用してください。
// ElevenLabs経由の英語/多言語
submit_voice({
provider: "elevenlabs",
text: "Hello world",
voiceId: "peter",
});
// Doubao経由の中国語
submit_voice({
provider: "doubao",
text: "你好世界",
voiceId: "liuchang",
});
// 速度調整あり(Doubaoのみ)
submit_voice({
provider: "doubao",
text: "这是一段稍快的中文旁白。",
voiceId: "liuchang",
speedRatio: 1.5,
});
// 表現力豊かなDoubao制御あり
submit_voice({
provider: "doubao",
text: "这次事故提醒我们,安全永远不能侥幸。",
voiceId: "liuchang",
emotion: "sad",
emotionScale: 3,
performancePrompt: "痛心但克制,语速稍慢,像新闻专题旁白",
pitch: -1,
speedRatio: 0.92,
});
// ElevenLabs配信制御あり
submit_voice({
provider: "elevenlabs",
text: "The launch changed how teams plan their daily work.",
voiceId: "peter",
speed: 0.95,
stability: 0.4,
similarityBoost: 0.8,
outputFormat: "wav_44100",
});
// MiniMax TTS(設定されている場合)— references/minimax-tts.md を参照
submit_voice({
provider: "minimax",
text: "欢迎使用视频编辑助手。",
voiceId: "female-yujie",
speed: 1,
name: "VO · welcome",
});
// Cartesia はユーザーが正確なアカウント音声IDを確認した後の形式。
// confirmedCartesiaVoiceId はその指定された値を表し、プリセットではありません。
submit_voice({
provider: "cartesia",
text: "A concise product introduction.",
voiceId: confirmedCartesiaVoiceId,
modelId: "sonic-3",
speed: 1,
languageCode: "en",
outputFormat: "mp3",
});
生成前の音声試聴
ユーザーがTTSを必要としており、まだ具体的な音声を選択していない場合、まずキュレーションされたOpenChatCutの選択肢があるプロバイダーと、アカウント固有の音声IDが必要なプロバイダーを分けてください。
Doubao、ElevenLabs、またはMiniMaxの場合、オプションを推奨、レンダリング、または送信する前に references/voices.md をお読みください。これを、キュレーションされたプリセットID、プロバイダー選択、表示ラベル、タグ、およびバンドルされたサンプルURLの唯一のソースとして使用してください。記憶、翻訳された名前、または大まかなユーザー記述から音声オプションを作成しないでください。
Inworld、Fish Audio、Speechify、OpenAI、Gemini、Mistral、またはCartesiaの場合、発明された試聴リストやサンプルURLを提供しないでください。その設定されたプロバイダーから具体的な音声IDをユーザーに尋ねてください。「温かい女性」のような大まかな説明は有効な voiceId ではありません。
まず、2つの異なる言語を特定します:
- ユーザー会話言語:ユーザーがあなたと話すために使用した言語。これを使用して、応答、
form-visual label、visual-option name、およびsummaryを記述します。 - ターゲットナレーション言語:合成されるテキストの言語。これはプロバイダーと音声カタログを選択するためだけに使用します。
試聴ウィジェットの送信ボタンは、このビルドのデフォルトラベルに固定されています(submitLabel は受け入れられますがレンダリングされません)。質問ラベルとオプションラベルは、ターゲットナレーション言語ではなく、ユーザー会話言語で保持してください。例:英語ユーザーには submit_label="Submit"、中国語ユーザーには submit_label="提交"、スペイン語ユーザーには submit_label="Enviar"。
「help me generate ... voice over in Chinese」は、中国語のナレーションを要求する英語の会話であるため、試聴ウィジェットのコピーは英語のまま、音声候補はDoubaoから提供されます。
キュレーションプロバイダーの場合:
references/voices.mdをターゲットナレーション言語/プロバイダーおよび性別、年齢層、トーン、使用例などの明示的な要件でフィルタリングします。- すべての明示的な要件に一致するプリセットがない場合、正確な一致はないと伝え、明確な注意事項とともに最も近いサポートされているプリセットを提供します。
- 一致するキュレーションプリセットを2〜4つ選択します。
widget-formsをロードし、音声オプションと実際のバンドルオーディオサンプルを使用してask_followup_questionsを呼び出します。- ユーザーが選択するのを待ちます。
- 選択されたプリセットIDを
voiceIdとしてsubmit_voiceを呼び出します。
キュレーションされたOpenChatCutカタログがないプロバイダーの場合は、代わりにフリーテキストの具体的なプロバイダー音声IDを要求します。media を追加したり、/voice-samples/... パスを合成したりしないでください。submit_voice を呼び出す前に、ユーザーが正確なIDを提供/確認するのを待ちます。
各キュレーション試聴オプションについて、value、表示ラベル、media、および summary を references/voices.md の同じプリセット行に結び付けてください。そこに記録されたサンプルURLのみを使用してください。value をプリセットID、media をその一致するサンプルURLとして保持します。name と summary はユーザーの会話言語で記述してください。ターゲットナレーション言語はプロバイダー/音声カタログのみを決定します。送信後、同じ候補リストから表示名をプリセットIDにマッピングし直します。
中国語ナレーションの英語リクエスト:
<widget submit_label="Submit">
<form-visual
id="voiceId"
label="For Chinese voiceover, I recommend a few voices to try:"
required="true"
>
<visual-option
value="vivi"
name="Vivi"
media="/voice-samples/doubao-vivi.mp3"
aspect-ratio="16:5"
summary="Female / young / friendly, general"
/>
<visual-option
value="xiaohe"
name="Xiaohe"
media="/voice-samples/doubao-xiaohe.mp3"
aspect-ratio="16:5"
summary="Female / young / soft, clear"
/>
<visual-option
value="yunzhou"
name="Yunzhou"
media="/voice-samples/doubao-yunzhou.mp3"
aspect-ratio="16:5"
summary="Male / young / neutral, business"
/>
</form-visual>
</widget>
中国語ナレーションの中国語リクエスト:
<widget submit_label="提交">
<form-visual
id="voiceId"
label="我推荐这几个中文旁白音色,先试听一下:"
required="true"
>
<visual-option
value="morgan"
name="Morgan"
media="/voice-samples/doubao-morgan.mp3"
aspect-ratio="16:5"
summary="男 / 中年 / 低沉知识解说"
/>
<visual-option
value="zhixingnv"
name="知性女声"
media="/voice-samples/doubao-zhixingnv.mp3"
aspect-ratio="16:5"
summary="女 / 中年 / 冷静知识讲解"
/>
<visual-option
value="vivi"
name="Vivi"
media="/voice-samples/doubao-vivi.mp3"
aspect-ratio="16:5"
summary="女 / 年轻 / 亲切通用口播"
/>
</form-visual>
</widget>
効果音
通常の編集効果音(SFX)の場合は、最初に生成しないでください。生成する前に、組み込みの効果音ライブラリを使用してください:
browse_libraryをcategory:"sound-effects"と"whoosh"、"camera shutter"、"notification"、"censor beep"、または"record scratch"などのクエリで呼び出します。- 返された
library:sound:<id>を検査します。 edit_itemを使用し、fromFrameをサウンドのアンカー/編集モーメントフレームとして配置します:
browse_library({
category: "sound-effects",
query: "short whoosh transition",
});
edit_item({
adds: [
{
type: "audio",
assetId: "library:sound:whoosh-short",
fromFrame: 120,
trackId: "A1",
},
],
});
以下の場合にのみ、テキスト説明から submit_sound を使用して効果音を生成します:
- ユーザーが生成された/オリジナル/カスタムサウンドを明示的に要求した場合。
- 要求されたサウンドが既存の効果音ライブラリに対して具体的すぎる場合。
browse_library({ category:"sound-effects", query })が適切な一致を返さなかった場合。
// ライブラリに適切な一致がない場合のカスタム/生成効果音
submit_sound({ prompt: "A dog barking in the distance" });
// カスタム長さ(0.5〜22秒)
submit_sound({
prompt: "Thunder and heavy rain",
durationSeconds: 15,
});
// 高いプロンプト順守
submit_sound({
prompt: "Sci-fi laser gun firing",
promptInfluence: 0.8,
});
より良い結果を得るためのヒント:
- 具体的に:「A dog barking loudly」と「A dog barking loudly」
…
[truncated for translation]