vibe-motion/sound
多媒体与设计一个 Claude Code 技能:从 Freesound 搜索音效,按下载量与评分等信号筛选并下载预览,用于视频配音。
项目用途
这个仓库提供一个用于视频音效选材的 Claude Code 技能。Agent 会把画面动作转成英文关键词,到 Freesound 搜索候选,先根据声音来源、描述和时长判断是否贴合画面,再参考下载量与评分人数,并根据许可证筛选,最后下载选中的音效。适合转场、卡片入场、按钮点击、纸张滑动和碰撞等短视频音效需求。
技能本身只负责搜索、筛选和下载;时长与能量分析需要另外配合 FFmpeg。下载量和评分只是选材线索,不能当作 Agent 已经试听过的结论。
安装与使用
需要 Claude Code、Python 3,以及可访问 Freesound 的网络。在视频项目根目录执行:
git clone https://github.com/vibe-motion/sound.git .claude/skills/sound
技能入口是 SKILL.md,搜索与下载逻辑在 scripts/sfx.py。安装后,可以直接在 Claude Code 里描述需求,例如为卡片飞入找一个约 0.3 秒、只选 CC0 的短 whoosh,并下载到 sfx/。Agent 会搜索候选、说明推荐依据、按许可证筛选,需要人工试听时给出预览链接,然后下载。
直接运行脚本
脚本只使用 Python 标准库,不需要安装第三方 Python 依赖。以下命令都在项目根目录执行:
S=.claude/skills/sound/scripts/sfx.py
python3 "$S" freesound "soft whoosh" --license cc0 --urls
python3 "$S" freesound "paper slide" --license by -n 5
python3 "$S" get sfx/ "fs:<id1>" "fs:<id2>"
搜索结果会缓存到 ~/.cache/sfx-sources/index.json,get 依赖这份缓存,因此要先搜索,再用结果中的 fs:ID 下载。当前下载的是 Freesound 的 MP3 预览文件,不是上传者的原始音频。
搜索参数包括 --license cc0|by|any(默认 any)、--urls(显示试听链接)、-n(结果数量,默认 8)、--sort relevance|downloads|rating|short、--pages(默认 3)和 -p(起始页)。--sort relevance 会先获取相关结果,再按下载量重新排序。
许可证与署名
每条音效的许可证可能不同。--license cc0 只保留 CC0,--license by 包含 CC0 和需要署名的 Attribution 音效;默认 any 也可能返回 BY-NC 等其他许可的条目,使用前要检查对应条目的要求。非 CC0 音效在 get 时会输出作者署名提示,但交付时仍需按条目要求补全来源与许可证信息。
网络与环境说明
脚本使用当前终端的 HTTP/HTTPS 代理设置。如果请求超时,先检查 Freesound 是否可访问、终端代理是否生效。多个 ID 可以放在同一个 get 命令中并发下载。仓库还附带面向作者 macOS / ClashX Meta 环境的辅助脚本和本地配置说明;辅助脚本的 --fix 会修改本机 Clash 配置并切换节点,只在环境匹配且确实需要调整代理时使用。
HotRepo 点评
在 2026-11-02 的 Python 新项目榜记录中,该仓库的 24 小时窗口新增 54 Star,总数达到 159。2026-10-31 至 2026-11-02 的小时级采样从 100 升到 159,涨幅主要集中在最后一天。站内没有记录到该项目在 GitHub 全部语言日榜上的名次,也没有相关的 Hacker News 讨论,因此目前能看到的只是这段短窗口内的增长,不能据此判断持续采用情况。它是否好用,关键仍在 Agent 的选材规则,以及是否正确处理 Freesound 许可证和仅提供预览文件这两项边界。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。