这个项目能做什么

# podgenai podgenai 是一个 Python 应用,使用 OpenAI LLM 针对给定主题生成信息性的单说话人或双说话人有声书/播客 MP3 文件。内容来自模型的内部知识或提供的 markdown 源文档;不使用网络搜索。 ## 工作原理 对于给定主题,该工具: 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` 接受 markdown 源文档 - 输出可以在章节边界包含音频标记 - 本地缓存在 `./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` 也可以作为 Python 库使用,通过 `generate_media()` 函数。 ## 许可证 GNU 宽通用公共许可证(LGPL)