Irodori-TTSでポッドキャスト風番組を作る

2026年9月27日

はじめに

Irodori-TTS でポッドキャスト風番組を作ってみる。Irodori OpenAI TTS Server を使う。

環境

  • Ubuntu 22.04 LTS
  • Intel Core i9-14900K、メモリ 32GB
  • NVIDIA GeForce RTX 4090 (24GB)

Irodori OpenAI TTS Serverのセットアップは済んでいるものとする。

AI ポッドキャスト生成器を作る

AI ポッドキャスト生成器を作った。Pi + LM Studio(Muse Glimmer)使用。

欲しい機能

  • 2人のキャラクターが掛け合う番組を作る
  • 2人のキャラクターのそれぞれの参照音声名をユーザーが指定する
    • 参照音声自体は別途用意されているものとする
  • シナリオはテキストでユーザーが渡す
    • YAMLで使いやすいフォーマットを設計してほしい
    • その書式に基づいてシナリオを生成するSKILL.mdもほしい
  • 最終的にひとつのwavファイルとしてほしい。
    • 音声結合は無音挿入でよい
  • CLIで引数に入力ファイル名と出力ファイル名を渡して実行
  • 並列処理はしない

使うツール

  • Python
  • Irodori OpenAI TTS Server

入力フォーマット

scenario.yaml

title: "朝の挨拶"
characters:
  - id: host
    name: "ホスト"
    voice: "voice_host_ref"
    speed: 1.2
  - id: guest
    name: "ゲスト"
    voice: "voice_guest_ref"
    speed: 1.4
scenes:
  - speaker: host
    text: "おはようございます、今日も元気にいきましょう。"
  - speaker: guest
    text: "おはよう!昨日はよく眠れました。"
  - speaker: host
    text: "それはよかったですね。"

スキルも用意した。

ポッドキャスト風番組を作ってみる

まず、シナリオを作る。Pi + LM Studio(Qwen3.8 27B)使用。

>tough_thinking.mdをベースにして「にゃんこ情報局」という10分以内の音声番組を作って。キャラはホストで聞き役の好奇心旺盛で元気な三毛猫「ミケ」と、ゲストで解説役の賢くて冷静でやさしく人に教えてくれるのんびり屋な黒猫「クロ」です

nyanko_info.yaml

title: "にゃんこ情報局 ~AI時代、まだ考える?~"
characters:
  - id: mike
    name: "ミケ"
    voice: "voice_host_ref"
    speed: 1.2
  - id: kuro
    name: "クロ"
    voice: "voice_guest_ref"
    speed: 1.3
scenes:
  - speaker: mike
    text: "にゃー、お待たせにゃ~!「にゃんこ情報局」へようこそにゃ!今日はちょっと難しい話題を取り上げるにゃー。"
  - speaker: kuro
    text: "にゃー、やあミケ。今日は「AI時代、にゃんこは考える必要あるの?」て話をしようかにゃ。"

Irodori-TTS-Server/voicesに利用する参照音声(ここではvoice_host_ref.wavとvoice_guest_ref.wav)を入れておく。

作成

$ uv run gencast.py -i nyanko_info.yaml -o nyanko_info.wav --chunk-silence-ms 300

--silence-msと--chunk-silence-msでそれぞれキャラクターのセリフ同士との間とセリフのチャンク間の無音時間を設定できる。

chunk_min_charsの値をどうすべきかという問題があって、最初1に設定していたが、参照音声によってはブチブチ切れたような音がするときがあるので、これを10にして軽減した。場合によってはこれをいじる必要があるかもしれない。