podcast-producer-agent について
ポッドキャスト、インタビュー、台本形式の会話、オーディオドラマを制作するオーケストレーションスキルです。台本作成、複数話者の音声合成、インストゥルメンタルのイントロ・アウトロ生成、音声編集を組み合わせます。
主な機能
- 01ポッドキャストやインタビューの台本作成
- 02複数話者の音声合成
- 03インストゥルメンタルのイントロ・アウトロ生成
- 04音声のミキシングと連結
- 05完成音声の出力
活用シーン
- 012人のホストによるポッドキャスト制作
- 02インタビュー台本の音声化
- 03複数キャラクターのオーディオドラマ編集
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ michaelboeding/ skills --skill podcast-producer-agentインストール後、Claude Code で/podcast-producer-agentを入力して読み込まれたか確認します。
詳細
Podcast プロデューサー
完全なポッドキャストエピソード、インタビュー、会話形式の音声コンテンツを作成します。
これはオーケストレーターのスキルで、次の要素を組み合わせます。
- 台本/対話の生成(Claude)
- 複数話者の音声合成(Gemini TTS)
- オープニング/エンディング音楽(Lyria)
- 音声の編集(media-utils 経由の FFmpeg)
作成できるもの
| 種類 | 例 |
|---|---|
| ポッドキャストエピソード | 2 人のホストがあるトピックについて話し合う |
| インタビュー | ホストとゲストによる質疑応答形式 |
| 対話 | 登場人物同士の脚本化された会話 |
| オーディオドラマ | 複数の登場人物が登場するストーリー |
| ラジオ番組 | セグメントで構成された音声番組 |
前提条件
GOOGLE_API_KEY- Gemini TTS(音声)と Lyria(音楽)に必要です- FFmpeg のインストール:
brew install ffmpeg(macOS)またはapt install ffmpeg(Linux)
ワークフロー
ステップ 1:要件を確認する(必須)
⚠️ このステップを省略しないでください。対話形式で質問し、一度に質問するのは 1 つだけにしてください。
質問の流れ
⚠️ 以下の各質問には AskUserQuestion ツールを使用してください。 回答に質問を表示するだけではなく、示されている選択肢を使って対話形式のプロンプトを作成するためにツールを使用してください。
Q1:トピック
「ポッドキャストエピソードを作成します!まず、トピックは何ですか?
(ホストには何について話し合ってほしいですか?)」
回答を待ちます。
Q2:ホスト
「ホスト/話者は誰ですか?
(名前と簡単な性格の説明。例:「Sarah、熱意あふれるテックの専門家」— TTS では最大 2 人)」
回答を待ちます。
Q3:長さ
「エピソードの長さはどれくらいにしますか?
- 5 分
- 10 分
- 15 分
- または任意の長さを指定」
回答を待ちます。
Q4:トーン
「どのようなトーンにしますか?
- プロフェッショナル
- カジュアル/会話調
- 面白く/楽しく
- 真面目/教育的
- または独自のトーンを説明」
回答を待ちます。
Q5:音楽
「オープニング/エンディングの音楽スタイルはどうしますか?
- アップビートなポップ
- 落ち着いたローファイ
- 企業向け/プロフェッショナル
- エレクトロニック
- または独自のスタイルを説明」
回答を待ちます。
クイックリファレンス
| 質問 | 決定する内容 |
|---|---|
| トピック | 台本の内容と話し合うポイント |
| ホスト | 音声の選択と台本のスタイル |
| 長さ | 台本の分量 |
| トーン | 文章のスタイルと雰囲気 |
| 音楽 | オープニング/エンディング用の Lyria プロンプト |
ステップ 2:台本を生成する
Claude を使って、話者ラベル付きの対話台本を作成します。
[INTRO MUSIC: 10 seconds, upbeat tech podcast vibe]
Sarah: Welcome back to Tech Talk! I'm Sarah, and today we have something exciting.
Mike: Hey everyone! I'm Mike, and yes - we're diving into AI in healthcare.
Sarah: So Mike, what's the biggest change you've seen this year?
Mike: Great question! The use of AI for diagnostic imaging has exploded...
[Continue dialogue...]
[OUTRO MUSIC: Fade under last lines, 5 seconds after]
Sarah: Thanks for listening! Follow us for more episodes.
Mike: See you next time!
台本のガイドライン:
- TTS で設定する話者名をそのまま使用します
- 角括弧で音楽キューを含めます:
[INTRO MUSIC: description] - 自然な会話の流れと、話者同士のやり取りにします
- 音声 1 分あたり約 150 語を目安にします
ステップ 3:アセット生成を計画する
生成が必要なもののマニフェストを作成します。
{
"project": "tech_talk_ai_healthcare",
"duration_target": "5 minutes",
"speakers": [
{"name": "Sarah", "voice": "Kore", "style": "Enthusiastic, upbeat"},
{"name": "Mike", "voice": "Puck", "style": "Friendly, knowledgeable"}
],
"assets": [
{
"type": "music",
"name": "intro_music",
"prompt": "upbeat tech podcast, electronic, modern",
"duration": 15,
"script": "lyria"
},
{
"type": "dialogue",
"name": "main_content",
"speakers": ["Sarah", "Mike"],
"text": "[the dialogue script]",
"script": "gemini_tts"
},
{
"type": "music",
"name": "outro_music",
"prompt": "same as intro, fade out",
"duration": 10,
"script": "lyria"
}
],
"assembly": [
{"action": "mix", "voice": "intro_with_music", "music": "intro_music", "music_volume": 0.8},
{"action": "concat", "files": ["intro_with_music", "main_content"]},
{"action": "mix", "voice": "main_content_end", "music": "outro_music", "fade_out": 5}
]
}
ステップ 4:アセットを生成する
各生成ステップを実行します。
オープニング音楽を生成(Lyria):
python3 ${CLAUDE_PLUGIN_ROOT}/skills/music-generation/scripts/lyria.py \
--prompt "upbeat tech podcast, electronic, modern, positive energy" \
--duration 15 \
--bpm 120
対話を生成(Gemini TTS マルチスピーカー):
python3 ${CLAUDE_PLUGIN_ROOT}/skills/voice-generation/scripts/gemini_tts.py \
--multi \
--speaker "Sarah:Kore" \
--speaker "Mike:Puck" \
--text "[dialogue script from Step 2]" \
--style "Make Sarah sound enthusiastic and upbeat. Mike sounds friendly and knowledgeable."
エンディング音楽を生成(オープニングと同じ、またはアレンジ):
python3 ${CLAUDE_PLUGIN_ROOT}/skills/music-generation/scripts/lyria.py \
--prompt "upbeat tech podcast, electronic, fade out feel" \
--duration 10 \
--bpm 120
ステップ 5:ポッドキャストを組み立てる
media-utils を使ってすべてをつなぎ合わせます。
オープニング音楽を対話の冒頭にミックスする:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/audio_mix.py \
--voice dialogue.wav \
--music intro_music.wav \
--music-volume 0.4 \
--fade-out 3 \
-o intro_mixed.wav
すべてのセグメントを連結する:
python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/audio_concat.py \
-i intro_mixed.wav main_dialogue.wav outro_mixed.wav \
--crossfade 1.0 \
-o final_podcast.mp3
ステップ 6:結果を納品する
以下を提供します。
- 最終的な音声ファイル
- 作成内容の概要
- 調整の提案
納品例:
「✅ ポッドキャストエピソードが完成しました!
ファイル: tech_talk_ai_healthcare.mp3(5:23)
作成した内容:
- Sarah(Kore の音声)と Mike(Puck の音声)の対話
- 15 秒のアップビートなエレクトロニックのオープニング音楽
- 10 秒のフェードアウト付きエンディング音楽
次の調整もできます:
- 音声やトーンを調整する
- 音楽スタイルを変更する
- セクションを延長または短縮する
- 話し合うトピックを追加する」
音声のペアリング候補
| ホストのタイプ | おすすめの音声 | 説明 |
|---|---|---|
| メインホスト(エネルギッシュ) | Kore, Puck, Laomedeia | 力強く、明るい |
| 共同ホスト(落ち着いた) | Charon, Algieba | 情報豊富で、滑らか |
| ゲスト(専門家) | Rasalgethi, Gacrux | 知識豊富で、落ち着いた |
| インタビュアー | Achird | 親しみやすい |
| ナレーター | Charon, Orus | 情報豊富で、明瞭 |
音楽スタイルの候補
| ポッドキャストのタイプ | 音楽のプロンプト |
|---|---|
| テクノロジー/ビジネス | "明るいエレクトロニック、モダン、企業向け、前向き" |
| カジュアル/コメディ | "楽しい、遊び心のある、アコースティックギター、軽快" |
| ニュース/シリアス | "控えめ、プロフェッショナル、アンビエント、落ち着いた" |
| ストーリーテリング | "シネマティック、感情的、オーケストラ、雰囲気のある" |
| 健康/ウェルネス | "穏やか、安らか、アンビエント、優しいピアノ" |
| 実録犯罪 | "暗い、サスペンスに満ちた、ミニマル、緊張感" |
制限事項
- Gemini TTS の呼び出しごとに最大 2 人の話者(それ以上の場合は、別々のファイルを生成して連結してください)
- Lyria はインストゥルメンタルのみです。音楽にボーカルはありません
- 再生時間の見積もりは変動する場合があります。会話の長さは話すペースによって異なります
- 音楽が会話より短い場合は、ループ再生されます
エラー処理
| エラー | 解決方法 |
|---|---|
| "GOOGLE_API_KEY not set" | README の手順に従って API キーを設定してください |
| "FFmpeg not found" | インストールしてください:brew install ffmpeg |
| "google-genai not installed" | 実行してください:pip install google-genai |
| TTS が長すぎる | スクリプトをセグメントに分割し、個別に生成してから連結してください |
プロンプトの例
シンプル:
"2 人のホストがリモートワークのヒントについて話す、3 分間のポッドキャストエピソードを作成してください"
詳細:
"5 分間のテクノロジーポッドキャストエピソードを作成してください。ホスト:Alex(熱心で、テクノロジーに詳しい)と Jordan(懐疑的で、的確な質問をする)。トピック:AI アシスタントの未来。明るいエレクトロニックのオープニング/エンディング音楽を入れてください。カジュアルながらも情報豊富なトーンにしてください。"
台本を指定する場合:
"次の会話を、オープニング/エンディング音楽付きのポッドキャストエピソードにしてください: Alex: 皆さん、こんにちは!お帰りなさい! Jordan: 今日は、……について話します"