Skip to content

tomy-kyu/gemini-25-tts-plugin

Repository files navigation

Dify Plugin for Google Gemini 2.5 Flash TTS

Author: tomy-kyu Version: 0.1.0 Type: tool

Description

Gemini 2.5 TTSモデルを使ってNotebook LMっぽい感じの対話音声データを生成するプラグインです。やっつけで作ったのでだいぶ作りは微妙です。

  • DifyでGemini 2.5 TTSの対話Wavファイルを出力するための処理を作成しました。

    • 出力形式はwavファイル形式一択です。これはGemini APIで出力する仕様に合わせています。
    • 使用するAPIはGemini APIを想定しています。VertexAIは想定していません。
    • まだプロンプトとして展開する際の制約等がハッキリわかっておらず、場合によっては時間がかかったり、短時間の対話なのに10分無音区間が設定された状態でデータ生成されるなど弱点がありますのでご注意ください。
  • 入力値

    • API-KEY Gemini APIのキーを入力してください。ENV-Secret型変数を定義することをお勧めします。
    • senario-data 所定フォーマットに沿ったSpeaker 1 とSpeaker 2のセリフデータを入力してください。
      • 私の場合、このセリフデータの出力はGemini 2.5 Pro Preview 05-06に実行させていたりします。
    • static_prompt 場面設定やそれぞれの話者の設定を入力します。どんなトーンで話す必要があるかについて指示をしてください。
      • 実際にGeminiへ送信するメッセージの冒頭にセットされます。
    • temperature 温度サンプリング値です。1.0でもよさげな気がします。Constantで設定をお願いします。
    • model 使用するTTSモデルです。2種類から選択します。
    • speaker-1 話者1(司会者役割を持つ人)の声を指定します。30種類の声から選択できます。
    • speaker-2 話者2(回答者役割を持つ人)の声を指定します。リストはSpeaker-1と同じです。
  • 出力値

    • text string 不具合が起きた時、エラーメッセージはこちらに出力されます。
    • files array/(file) wavファイルが出力されます。Google AI Studioで出力されるものと同じ仕様です。

処理時間の目安

  • Gemini 2.5 Flashの場合、5分程度のwav出力に凡そ2.5分程度かかるようです。10分の音声データであれば、凡そ6分前後ぐらいでした。

License

これをベースにもっと多機能なプラグインがあるといいなと思っておりまして、MITライセンスにて公開します。

About

Gemini 2.5 TTSを使って対話コーパスを出力する簡易的なプラグイン

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages