Files
2026-07-13 10:23:50 +00:00

3.6 KiB
Raw Permalink Blame History

Note

本文档由 WeHub 基于上游 README 翻译整理,属于社区翻译,非官方中文文档。
English · 原始项目 · 上游 README
原作者、版权与许可证归属以原始项目及本仓库 LICENSE 文件为准。

音频切片机

一个简约的 GUI 应用程序,通过静音检测对音频进行切片。

屏幕截图

image

应用还有一个浅色主题

用法

Windows

  • 下载并解压最新发行版

  • 运行"slicer-gui.exe"。

MacOS & Linux

  • 克隆此仓库。
  • 如果尚未安装 uv,请先安装。推荐使用 Python 3.14。
  • 运行以下命令创建虚拟环境并安装依赖:
uv venv
uv pip install -r requirements.txt
  • 运行以下命令启动 GUI
uv run python slicer-gui.py

只需点击"Add Audio Files..."按钮来添加音频文件,或将它们拖放到窗口中,单击"Start"按钮并等待任务完成。进度条无法指示单个任务的进度,因此当任务列表中只有1个任务时,它会保持0%直到完成。

Linux 排障

  • slicer-gui.py 在 Linux 上需要图形桌面会话才能启动。
  • 如果看到缺少显示会话的提示,请在 X11/Wayland 桌面环境中运行,或使用能正确暴露 DISPLAY / WAYLAND_DISPLAY 的远程图形转发。
  • 纯无头终端环境下不支持直接启动 GUI。

算法

静音检测

本应用根据 RMS(均方根)来测量音频的安静度并检测静音部分,计算每个帧的 RMS 值(帧长度设为 hop size(跳跃步长)),RMS 低于 threshold(阈值)的所有帧都将被视为静默帧。

音频切片

一旦检测到自上次切片以来的有效(声音)部分达到 min length (最小长度),且长度超过 min interval(最小间距)的静音部分,该音频将从静音区域内 RMS 值最低的帧脱离出来。长时间静音的部分可能会被删除。

参数

Threshold(阈值)

以 dB 表示的 RMS 阈值。所有 RMS 值都低于此阈值的区域将被视为静音。如果音频有噪音,请增加此值。默认值为 -40。

Minimum Length(最小长度)

每个切片音频剪辑所需的最小长度,以毫秒为单位。默认值为 5000。

Minimum Interval(最小间距)

要切片的静音部分的最小长度,以毫秒为单位。如果音频仅包含短暂的中断,请将此值设置得更小。此值越小,此应用程序可能生成的切片音频剪辑就越多。请注意,此值必须小于 min length 且大于 hop size。默认值为 300。

Hop Size(跳跃步长)

每个 RMS 帧的长度,以毫秒为单位。增加此值将提高切片的精度,但会降低处理速度。默认值为 10。

Maximum Silence Length(最大静音长度)

在切片音频周围保持的最大静音长度,以毫秒为单位。根据需要调整此值。请注意,设置此值并不意味着切片音频中的静音部分具有完全给定的长度。如上所述,该算法将搜索要切片的最佳位置。默认值为 1000。

性能

此应用程序在 Intel i7 8750H CPU 上的运行速度超过 400 倍于实时。速度可能因 CPU 和磁盘而异。

针对大文件优化了峰值内存占用,采用流式切片处理,避免将整个音频文件加载到内存中。