このプロジェクトについて

# podgenai podgenaiは、OpenAI LLMを使用して、指定されたトピックに関する情報提供型の単一話者または二人話者のオーディオブック/ポッドキャストMP3ファイルを生成するPythonアプリケーションです。コンテンツはモデルの内部知識または提供されたマークダウンソースドキュメントから取得され、ウェブ検索は使用されません。 ## 仕組み 指定されたトピックについて、このツールは以下のことを行います: 1. LLMを使用して適用可能なサブトピックをリストアップします(トピックが不明またはサポートされていない場合は中止) 2. LLMを介して音声を選択します(モノローグ用に単一の音声、デュオローグ用に男性と女性の音声) 3. 各サブトピックに対してモノローグテキストを並行して生成します 4. 赤黒奇数偶数アプローチを使用して隣接するサブトピック間のテキストを重複排除し、全長を6〜40%削減します 5. デュオローグの場合、対話テキストとトーン指示を生成します 6. OpenAI TTSモデルを使用してテキストを並行して音声に変換します 7. `ffmpeg`でオーディオセグメントを連結し、パート間およびサブトピック間にポーズを追加します ## 使用されるモデル - **知識モデル**(`gpt-6-sol`):サブトピックのリストアップ、音声選択、モノローグテキスト生成(内部知識から)、デュオローグテキスト生成 - **テキストモデル**(`gpt-6-sol`):ソースドキュメントからのモノローグテキスト生成、重複排除 - **TTSモデル**(`gpt-4o-mini-tts-2025-12-15`):音声生成 ## 使用方法 - [OpenAI APIキー](https://platform.openai.com/api-keys)が必要です - デフォルトの出力時間は約1時間を目標としています。包括的なカバレッジでは、しばしば複数時間のファイルが生成されます - `--max-sections`(最小3)でセクションを制限して時間を制御できます - 単一話者(`--speakers 1`)および二人話者モードをサポートします - `--document`を介してマークダウンソースドキュメントを受け入れます - 出力にはセクション境界にオーディオマーカーを含めることができます - `./work/<topic>`ディレクトリにローカルでキャッシュされます ## 設定 - `.env`ファイルまたは環境に`OPENAI_API_KEY`を設定します - オプションで`PODGENAI_OPENAI_MAX_WORKERS`を設定します(デフォルト:16、最大:32) - オーディオ連結には`ffmpeg`と`ffprobe`が必要です ## コスト見積もり 10時間のポッドキャストで約10米ドルのコストがかかり、コストの大部分はTTS生成によるものです。時間が短いほどコストは比例して低くなります。 ## 出力形式 - オーディオブック/ポッドキャスト消費用の生成MP3ファイル - 推奨再生速度:非技術トピックでは1.05倍、技術トピックでは1.0倍、外国語コンテンツでは0.95倍 ## インストール PyPIから利用可能:`pip install podgenai`または`uv add podgenai` `generate_media()`関数を使用してPythonライブラリとしても使用できます。 ## ライセンス GNU Lesser General Public License(LGPL)