agentsclimarketplace

Podcast transcribe

Skill chubbyguan/chubbyskills/podcast-transcribe

播客/小宇宙 → 下载 → 转录 → 存为 Markdown 的完整工作流。 支持 RSS 批量下载、单集链接转录。From its SKILL.md

Install
npx -y skills add chubbyguan/chubbyskills --skill podcast-transcribe

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • runs commandsInstructs the agent to run 5 commands, including `python -m venv .venv` and 4 more.

SKILL.md

2.6 KB, 764 tokens by cl100k_base, as published. Nobody here has run it

播客转录 Skill

将播客音频下载并转录为文字,存为 Markdown 文件。支持小宇宙、喜马拉雅等平台。

环境要求

# Python 3.9+
python -m venv .venv
source .venv/bin/activate

# 依赖
pip install faster-whisper

# 系统依赖
# macOS: brew install ffmpeg
# Ubuntu: sudo apt install ffmpeg

使用方法

单集转录

python scripts/transcribe.py "https://www.xiaoyuzhoufm.com/episode/xxxxx"

批量转录(RSS)

python scripts/batch_transcribe.py --rss-url "http://www.ximalaya.com/album/xxxxx.xml" --count 10

流程

Step 1: 下载音频

支持多种来源:

  • 小宇宙单集链接(自动从页面提取音频 URL)
  • 喜马拉雅链接
  • 直接音频 URL(.mp3/.m4a/.wav)
  • RSS feed 中的音频链接

注意:小宇宙/喜马拉雅等平台会从页面 HTML 中自动解析 og:audio<audio> 标签或内嵌 JSON 获取真实音频地址,无需手动提取。

Step 2: faster-whisper 转录

from faster_whisper import WhisperModel

model = WhisperModel('small', device='cpu', compute_type='int8')
segments, info = model.transcribe(
    audio_path,
    language='zh',
    beam_size=5,
    vad_filter=True,
)

Step 3: 生成 Markdown

自动创建带 frontmatter 的 Markdown 文件。

性能数据

模型速度 (CPU)中文准确率
faster-whisper tiny~149s/1h一般
faster-whisper small~10min/h良好 (~85-90%)
faster-whisper large-v3~30-60min/h最佳

已知限制

  • CPU 推理较慢,长播客需要较长时间
  • 中文准确率约 85-90%,需要人工校对
  • 首次运行会下载模型(small: ~461MB)
  • 不支持说话人分离

参考项目

⚖️ 合规声明

仅供个人学习与研究使用。请遵守目标平台的服务条款(ToS)与 robots 规则,控制请求频率,不要用于批量抓取、商用爬取或侵犯他人权益的场景。下载内容的版权归原作者所有。

What ships with it: 3 files

14.0 KB alongside SKILL.md, 2 of them executable

scripts/

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.