$npx -y skills add chubbyguan/chubbyskills --skill podcast-transcribe播客/小宇宙 → 下载 → 转录 → 存为 Markdown 的完整工作流。 支持 RSS 批量下载、单集链接转录。
| 1 | # 播客转录 Skill |
| 2 | |
| 3 | 将播客音频下载并转录为文字,存为 Markdown 文件。支持小宇宙、喜马拉雅等平台。 |
| 4 | |
| 5 | ## 环境要求 |
| 6 | |
| 7 | ```bash |
| 8 | # Python 3.9+ |
| 9 | python -m venv .venv |
| 10 | source .venv/bin/activate |
| 11 | |
| 12 | # 依赖 |
| 13 | pip install faster-whisper |
| 14 | |
| 15 | # 系统依赖 |
| 16 | # macOS: brew install ffmpeg |
| 17 | # Ubuntu: sudo apt install ffmpeg |
| 18 | ``` |
| 19 | |
| 20 | ## 使用方法 |
| 21 | |
| 22 | ### 单集转录 |
| 23 | |
| 24 | ```bash |
| 25 | python scripts/transcribe.py "https://www.xiaoyuzhoufm.com/episode/xxxxx" |
| 26 | ``` |
| 27 | |
| 28 | ### 批量转录(RSS) |
| 29 | |
| 30 | ```bash |
| 31 | python scripts/batch_transcribe.py --rss-url "http://www.ximalaya.com/album/xxxxx.xml" --count 10 |
| 32 | ``` |
| 33 | |
| 34 | ## 流程 |
| 35 | |
| 36 | ### Step 1: 下载音频 |
| 37 | |
| 38 | 支持多种来源: |
| 39 | - 小宇宙单集链接(自动从页面提取音频 URL) |
| 40 | - 喜马拉雅链接 |
| 41 | - 直接音频 URL(.mp3/.m4a/.wav) |
| 42 | - RSS feed 中的音频链接 |
| 43 | |
| 44 | **注意**:小宇宙/喜马拉雅等平台会从页面 HTML 中自动解析 `og:audio`、`<audio>` 标签或内嵌 JSON 获取真实音频地址,无需手动提取。 |
| 45 | |
| 46 | ### Step 2: faster-whisper 转录 |
| 47 | |
| 48 | ```python |
| 49 | from faster_whisper import WhisperModel |
| 50 | |
| 51 | model = WhisperModel('small', device='cpu', compute_type='int8') |
| 52 | segments, info = model.transcribe( |
| 53 | audio_path, |
| 54 | language='zh', |
| 55 | beam_size=5, |
| 56 | vad_filter=True, |
| 57 | ) |
| 58 | ``` |
| 59 | |
| 60 | ### Step 3: 生成 Markdown |
| 61 | |
| 62 | 自动创建带 frontmatter 的 Markdown 文件。 |
| 63 | |
| 64 | ## 性能数据 |
| 65 | |
| 66 | | 模型 | 速度 (CPU) | 中文准确率 | |
| 67 | |------|------|------| |
| 68 | | faster-whisper tiny | ~149s/1h | 一般 | |
| 69 | | faster-whisper small | ~10min/h | 良好 (~85-90%) | |
| 70 | | faster-whisper large-v3 | ~30-60min/h | 最佳 | |
| 71 | |
| 72 | ## 已知限制 |
| 73 | |
| 74 | - CPU 推理较慢,长播客需要较长时间 |
| 75 | - 中文准确率约 85-90%,需要人工校对 |
| 76 | - 首次运行会下载模型(small: ~461MB) |
| 77 | - 不支持说话人分离 |
| 78 | |
| 79 | ## 参考项目 |
| 80 | |
| 81 | - [SYSTRAN/faster-whisper](https://github.com/SYSTRAN/faster-whisper) - Whisper 的 CTranslate2 实现 |
| 82 | - [OpenAI Whisper](https://github.com/openai/whisper) - 原始 Whisper 模型 |
| 83 | |
| 84 | ## ⚖️ 合规声明 |
| 85 | |
| 86 | 仅供**个人学习与研究**使用。请遵守目标平台的服务条款(ToS)与 robots 规则,控制请求频率,不要用于批量抓取、商用爬取或侵犯他人权益的场景。下载内容的版权归原作者所有。 |