agentsclimarketplace

Remove breath gaps

Skill wcy4213/remove-breath-gaps

去气口——自动检测并压缩口播音频中句与句之间的气口/换气声/静音停顿,让节奏紧凑起来。当用户说"去气口""去掉气口""剪气口""把停顿剪掉""去掉呼吸声/换气声""句间空隙太长""节奏太拖/让节奏快起来""压缩口播的停顿",或提供一个口播音频文件(mp3/wav/m4a等)要求加快节奏、剪紧凑时,务必使用本 skill。采用不对称保留策略(句尾留短、句首留长缓冲),保证下一句的起始音不被切掉。只处理纯音频,不处理视频文件。From its SKILL.md

Install
npx -y skills add wcy4213/remove-breath-gaps

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

2 things to look at

  • 24 days oldThe repository was created 24 days ago. New is not bad, but a brand new repository carrying a familiar-sounding name is the shape a typosquat arrives in, and there has been no time for anyone else to find a problem with it.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

3.4 KB, ~1.2k tokens by cl100k_base, as published. Nobody here has run it

去气口(remove-breath-gaps)

压缩口播音频句间的气口/静音,加快节奏。核心工具是 scripts/degap.py,一条命令完成检测+剪切+校验。

标准流程

  1. 直接用默认参数跑

    python3 <skill目录>/scripts/degap.py "输入音频.mp3"
    

    输出默认为同目录下 <原名>_去气口.<同后缀>,脚本会打印:气口数量、剪除总秒数、前后时长对比。

  2. 把脚本打印的结果转述给用户(处理了多少气口、快了多少秒),提醒用户试听,并告诉他们哪个参数可以调(见下方"用户反馈 → 参数调节")。

  3. 如果想先看气口分布再决定,可加 --dry-run(只报告不生成文件)。

为什么这样剪(原理,遇到问题时回来看)

  • 不用 ffmpeg 的 silenceremove 滤镜。它靠 RMS 窗口判断语音起点,反应滞后,切点整体偏后:气口挂在上一句尾部拖节奏,下一句开头(尤其轻声、气声开头的字)会被啃掉。这是实际踩过的坑。
  • 正确做法是先用 silencedetect 精确定位每个气口的起止点,再不对称保留
    • 句尾后留 --tail(默认 0.08s)——人声结尾自然衰减,留一小截即可,不会显得突兀;
    • 下一句开口前留 --pre(默认 0.15s)——起始辅音(f/s/h/x 等气声)比阈值电平低、比主元音来得早,必须留足缓冲才不会切字。
  • 剪切点全部落在静音区间内部(安静→安静拼接),不会产生爆音,无需交叉淡化。

用户反馈 → 参数调节

用户说调整
下一句开头被切到字--pre 加大到 0.2(还不行就 0.25,并检查 --threshold 是否太高)
还是有点拖 / 不够快--tail 0.05 --pre 0.12,或 --min-gap 0.15 连短停顿一起收
太赶了 / 像机器剪的--tail 0.12 --pre 0.2,或 --min-gap 0.3 只剪大气口
呼吸声还在--threshold 调高(如 -22)——呼吸声电平高于当前阈值,没被算进气口
安静的词尾被误剪--threshold 调低(如 -30)

改参数重跑时输出文件直接覆盖即可;建议保留原始文件永远不动。

边界情况

  • 视频文件:脚本会拒绝(只剪音频会导致音画不同步)。先用 ffmpeg 提取音轨处理,或改用视频剪辑工具(如 ChatCut)做基于转写的停顿剪辑。
  • 背景有音乐/底噪的音频:silencedetect 找不到低于阈值的间隙,效果会很差。提醒用户此工具适合干声口播。
  • 完成后校验:脚本已内置前后时长对比。如需进一步确认没切到字,可对比处理前后的"语音内容时长"(总长减去 silencedetect 检出的静音总长,差值应在每处剪切点几十毫秒的边缘衰减范围内),或直接建议用户试听开头几句。

What ships with it: 7 files

181.8 KB alongside SKILL.md, 1 of them executable

assets/

scripts/

Keep looking

Skills are one crate of 326,452. 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.