- 70 skills with code and documentation - Add .gitignore (ignore __pycache__, output/, temp/, venv/) - Clean up test intermediates and caches
6.4 KiB
piano-lesson-highlight-generator 环境配置文档
最后更新: 2026-04-03 Python 版本: 3.12.13 PyTorch 版本: 2.5.1+cu121 (CUDA 12.1) faster-whisper: 1.2.1
🚨 环境路径(最重要,先看这个)
实际使用的 Python 环境:
D:\ProgramData\anaconda3\envs\py312_cuda\python.exe
⚠️ 两个容易混淆的 conda 安装
| 路径 | 类型 | PyTorch | CUDA | 能用吗? |
|---|---|---|---|---|
D:\AI\Miniconda3\python.exe |
Miniconda(base) | 2.11.0+cpu | False | ❌ 不能用,转录会超时 |
D:\ProgramData\anaconda3\envs\py312_cuda\python.exe |
Anaconda(新建) | 2.5.1+cu121 | True | ✅ 用这个 |
所有运行命令都必须使用:
"D:/ProgramData/anaconda3/envs/py312_cuda/python.exe"
绝对不要用:
"D:/AI/Miniconda3/python.exe" # CPU 版本,转录超时
conda activate py312_cuda # bash 中不工作
为什么需要新建环境
原环境 D:\AI\Miniconda3 的 PyTorch 是纯 CPU 版本(2.11.0+cpu),转录 100 分钟视频需要 100+ 分钟,会超时。
必须使用 D:\ProgramData\anaconda3\envs\py312_cuda\python.exe。
环境创建步骤
1. 创建 conda 环境
"D:/ProgramData/anaconda3/Scripts/conda.exe" create -n py312_cuda python=3.12 -y
2. 安装 CUDA PyTorch
"D:/ProgramData/anaconda3/envs/py312_cuda/python.exe" -m pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
注意:必须安装
+cu121版本,不是 CPU 版本。
3. 安装 Python 依赖
"D:/ProgramData/anaconda3/envs/py312_cuda/python.exe" -m pip install faster-whisper zhconv pypinyin pyyaml
4. 验证环境
"D:/ProgramData/anaconda3/envs/py312_cuda/python.exe" -c "
import torch
from faster_whisper import WhisperModel
print(f'Python: 3.12')
print(f'PyTorch: {torch.__version__}')
print(f'CUDA: {torch.cuda.is_available()}')
print(f'faster-whisper: OK')
"
预期输出:
Python: 3.12
PyTorch: 2.5.1+cu121
CUDA: True
faster-whisper: OK
5. 本地模型路径
Whisper large-v3 模型需要下载到本地:
D:/AI/LM-Models/faster-whisper/large-v3/
包含文件:
config.jsonmodel.binpreprocessor_config.jsontokenizer.jsonvocabulary.json
如果模型不在该路径,脚本会尝试从 HuggingFace 下载(很慢)。
6. 完整依赖清单
| 包 | 版本 | 用途 |
|---|---|---|
| Python | 3.12.13 | 运行时 |
| torch | 2.5.1+cu121 | GPU 加速 |
| torchvision | 0.20.1+cu121 | 图像处理 |
| torchaudio | 2.5.1+cu121 | 音频处理 |
| faster-whisper | 1.2.1 | Whisper 转录 |
| ctranslate2 | 4.7.1 | Whisper 后端 |
| zhconv | 1.4.3 | 繁体转简体 |
| pypinyin | 0.55.0 | 拼音转换(AI 纠错) |
| pyyaml | 6.0.3 | 配置文件解析 |
| av | 17.0.0 | 音视频处理 |
| numpy | 2.4.3 | 数值计算 |
| onnxruntime | 1.24.4 | Whisper 推理 |
| tokenizers | 0.22.2 | 文本分词 |
已知问题
问题 0:原环境 D:\AI\Miniconda3 没有 GPU 支持(关键!)
原 session 的错误记录:之前有 AI 记录了 D:\AI\Miniconda3 "具备 GPU 加速能力"——这是错的!
验证:
"D:/AI/Miniconda3/python.exe" -c "import torch; print(torch.cuda.is_available())"
# 输出: False
该环境的 PyTorch 是 2.11.0+cpu,纯 CPU 版本。之前能跑通是因为复用了已有的 full_transcript.json,没有重新转录。如果需要重新转录,必须用有 CUDA 的环境。
问题 1:Python 3.8 环境无法安装 faster-whisper
matanyone 环境(Python 3.8.20)有 GPU PyTorch,但 tokenizers 包需要 Python >= 3.9,导致无法安装 faster-whisper。
解决方案:创建 Python 3.12 环境(见上文)。
问题 2:conda activate 在 bash 中不工作
bash 工具中 conda activate py312_cuda 会报错。
解决方案:直接使用完整路径调用 Python:
"D:/ProgramData/anaconda3/envs/py312_cuda/python.exe" script.py
GPU 资源管理
转录前清理
脚本会在转录前自动清理残留的 Python 进程,释放 GPU 显存。
转录后释放
转录完成后,脚本会:
del model— 删除模型对象gc.collect()— 强制垃圾回收torch.cuda.empty_cache()— 清空 CUDA 缓存
如果 GPU 显存未释放
手动清理:
cmd /c "taskkill /F /IM python.exe /T"
运行命令模板
cd .opencode/skills/piano-lesson-highlight-generator
# 知识点提取 + config 生成
"D:/ProgramData/anaconda3/envs/py312_cuda/python.exe" scripts/extract_terms_from_ppt.py <pptx路径> <视频路径> <config输出路径>
# 精华视频生成
"D:/ProgramData/anaconda3/envs/py312_cuda/python.exe" scripts/generate_highlights.py --config <config路径>
项目目录结构
projects/piano-lesson-highlights/
├── data/ # 原始输入数据
│ ├── lesson2/
│ │ ├── video.mp4 # 原始视频
│ │ └── course.pptx # 配套 PPT
│ └── lesson3/
│ └── ...
└── cases/ # 每个案例的工作区
├── lesson2/
│ ├── config.yaml # 自动生成的配置
│ ├── intermediates/
│ │ └── full_transcript.json # 完整转录(可复用)
│ └── output/
│ ├── v1_final.mp4 # 最终精华视频
│ ├── subs/
│ │ ├── v1_original.srt
│ │ ├── v1_terms.srt
│ │ └── v1_ai.srt
│ └── intermediates/
│ ├── clip1.mp4 ~ clipN.mp4
│ ├── clip1_fade.mp4 ~ clipN_fade.mp4
│ ├── clip1.json ~ clipN.json
│ ├── concated.mp4
│ └── concat_list.txt
└── lesson3/
└── ...
技能代码位置
.opencode/skills/piano-lesson-highlight-generator/
├── scripts/
│ ├── extract_terms_from_ppt.py # 知识点提取 + 转录 + config 生成
│ └── generate_highlights.py # 精华视频生成
├── SKILL.md # 技能说明
├── STATUS.md # 会话状态
├── ENVIRONMENT.md # 本文件
└── README.md # 使用说明