音频剪辑器,免费

将音频文件精确剪切到所需时长。设置起止点、预览并导出。无需上传,无需注册。

您的文件永不离开您的设备
将音频文件拖放到此处 或点击浏览

MP3、WAV、OGG、AAC、FLAC、M4A

工作原理

  1. 加载音频文件。拖入或选择 MP3、WAV、OGG、AAC、FLAC 或 M4A 文件。浏览器会在本地解码以绘制波形;不会上传任何内容。
  2. 设置起止点。直接在波形上拖动手柄,或输入精确到毫秒的时间戳。所选区域会高亮显示保留部分。
  3. 调整时预览源文件。音频播放器会播放原始文件,并在波形上叠加播放头,便于凭听觉找到精确的剪切点。
  4. 选择输出格式并裁剪。MP3(LAME VBR 约 190 kbps)、WAV(16 位 PCM,无损)或 OGG Vorbis(约 160 kbps VBR)。裁剪通过浏览器中的 ffmpeg.wasm 完成;就绪后裁剪文件会自动下载。

Web Audio API 简史

Web Audio API 是 W3C 标准化的 JavaScript 接口,用于在网络浏览器中处理和合成音频,这一基础技术让网页能在内存中解码 MP3、绘制波形、把音频路由通过滤波器,或在没有任何插件的情况下播放合成音。第一个原型由 Chris Rogers 于 2010 年在 Apple 的 WebKit 项目内构建。W3C Audio Working Group 于 2011 年 12 月 14 日发布了 First Public Working Draft;经过近十年的修订与浏览器实现周期,W3C 于 2021 年 6 月 17 日将 Web Audio API 发布为 W3C Recommendation。Recommendation 文档明确感谢 Chris Rogers,称其为本规范的"former specification editor and original author of this specification"。任何浏览器端音频工具中,主要工作由三个类完成:AudioContext(顶层容器)、AudioBuffer(已解码 PCM 音频在内存中的一段,通道数据以 Float32Array 暴露)和 AudioBufferSourceNode(一次性播放节点)。完整的图模型支持的节点类型远不止这些,例如 gain、filter、panner、analyser、convolver、delay,可以从吉他调音器一路构建到合成器。这个裁剪器仅使用解码部分(AudioContext.decodeAudioData())来做波形可视化;真正的剪切走的是 ffmpeg.wasm。

支持的音频格式一览

WAV(1991,Microsoft + IBM)是 Waveform Audio File Format,一个承载未压缩线性 PCM 采样的 RIFF 容器。CD 品质的 WAV 是每秒 44,100 个采样 × 2 通道 × 16 位 ≈ 每分钟 10.1 MB,所以四分钟的歌曲在 WAV 中约为 40 MB。WAV 的数据块大小头部为 32 位,把单个文件限制在 4 GB;更长的录音需要 RF64 或 W64 扩展。WAV 之所以是那个通用交换格式,正是因为它未经压缩、易于解析且没有专利包袱。MP3(ISO/IEC 11172-3,1993)是 MPEG-1 Audio Layer III 的俗称,由德国埃尔朗根 Fraunhofer 研究所开发,Karlheinz Brandenburg、Heinz Gerhäuser、Bernhard Grill、Jürgen Herre 和 Harald Popp 做出了关键贡献。MP3 在二十年里被专利所束缚;最后一项相关专利于 2017 年 4 月 16 日在美国到期,Fraunhofer 也于 2017 年 4 月 23 日正式宣布终止其 MP3 许可计划。这一专利到期,正是免费、免版税的 MP3 编码器(libmp3lame、lamejs)能够无争议地装进浏览器端工具的原因。

AAC(ISO/IEC 13818-7,1997)与 M4A:AAC 被设计为 MP3 的继任者,在相同比特率下质量更好。M4A 不是独立的编解码器:它是一种只承载音频的 MPEG-4 Part 14 文件(.mp4)。Apple 在 2003 年 4 月 28 日推出 iTunes Music Store 时让 .m4a 扩展名流行起来,默认购买格式是 128 kbps 的 AAC。OGG Vorbis(Xiph.Org,2000-2002)是一种自由、开放、不受专利束缚的有损编解码器,是 Xiph 对 1990 年代末 MP3 周边专利环境的回应。参考编码器 libvorbis 在 2002 年 7 月达到 1.0 版本。维基百科、Spotify(早期)、无数游戏与 Linux 发行版都采用 Vorbis。FLAC(Free Lossless Audio Codec,Xiph.Org,2001 年 7 月 20 日)进行无损压缩:解码输出与输入逐位相同。典型压缩比为源 WAV 大小的 50% 到 60%。FLAC 已成为无损音乐分发(Bandcamp、Qobuz、HDtracks、Internet Archive)事实上的存档格式。Opus(IETF RFC 6716,2012 年 9 月)是最现代的免版税编解码器,由 Xiph.Org、Mozilla 和 Skype/Microsoft 联合设计;它把 Skype 的 SILK 语音编解码器与 Xiph 的 CELT 音乐编解码器融合为一个可变编解码器,从 6 kbps 的语音到 510 kbps 的立体声音乐全程出色。Opus 在 WebRTC 中是必须实现的。

浏览器音频解码究竟如何工作

当你把 4 MB 的 MP3 拖到裁剪页面上时,以下流程完全在你的浏览器中执行。FileReader.readAsArrayBuffer(file) 把字节从本地磁盘读入一个 JavaScript ArrayBuffer;这是本地读取,没有上传。页面创建一个 AudioContext(并对老的 WebKit 前缀做兜底)。audioCtx.decodeAudioData(arrayBuffer) 异步运行浏览器的本地音频解码器(通常是系统编解码器),并返回一个 AudioBufferAudioBuffer 暴露 getChannelData(0),返回左声道采样的 Float32Array,归一化到 −1.0 到 +1.0。对于 4 分钟的 44.1 kHz 单声道源,大约是 1060 万个浮点数,即 42 MB 内存。波形绘制例程会把这个数组下采样到画布上每像素列一个峰值。然后 AudioContext 被关闭;不再有任何引用持有该缓冲,内存被回收。真正的裁剪由 ffmpeg.wasm 在它的虚拟文件系统中对原始编码字节进行操作;Web Audio 解码只为画图所用。decodeAudioData 接受哪些格式取决于宿主浏览器,而非规范。在 2026 年的实际情况:MP3 和 WAV 普遍可解码;OGG Vorbis 在 Chrome、Firefox 与新近的 Safari 中可用;AAC/M4A 在 Safari、Chrome、Edge 与现代 Firefox 中可用;FLAC 自约 2017 年起在所有主流浏览器中可用;Opus 在所有现代浏览器中可用。

波形渲染:逐像素峰值技术

绘制波形在概念上很简单,但很容易做坏。这里使用的标准技术是最小/最大包络:选定以像素为单位的目标宽度(画布的宽度);把步长计算为 samples.length / width;对每个输出像素列扫描其 step 个采样,找出局部最小值与最大值;从最小采样到最大采样画一条垂直线。结果就是任何现代 DAW 中熟悉的镜像"包络"外观。为什么用最小/最大包络而不是 RMS 或单采样?朴素的"每像素绘制一个采样"会丢失瞬态细节:某个安静的采样可能落在本应代表强瞬态的像素上,做出一条让人误判为平直的波形。RMS(均方根)给出感知准确的响度曲线,但丢失了峰值信息。最小/最大包络是自 Pro Tools 起就主导 DAW 界面的视觉折中,在 wavesurfer.js、peaks.js(BBC R&D 为长篇音频标注的记者所设计)与 Audacity 中仍是惯例。此处实现使用 devicePixelRatio 做高 DPI 缩放,使波形在 Retina 显示屏上保持清晰。一个诚实的局限:getChannelData(0) 只返回第一个声道,因此立体声文件渲染的是左声道。裁剪本身经由 ffmpeg 完成,会保留所有声道。

采样级精确裁剪的数学

一次裁剪在概念上很简单:产出一个新文件,只包含源文件中位于时间 t_start 与时间 t_end 之间的采样。有两条路径。采样级方法把时间转换为采样索引(start_frame = round(t_start × sampleRate)),分配长度为 end_frame − start_frame 的新 AudioBuffer,按声道复制采样,然后再编码,这是用纯 Web Audio API 时会做的事。容器级裁剪(本工具通过 FFmpeg 所做的事)把 -ss start -to end 传给 FFmpeg,让它把编码比特流流式输出,通过所选输出编解码器再编码。FFmpeg 主导的裁剪更稳健,因为编码器负责帧化、头部与元数据;只用 Web Audio 的路径需要为输出自己编写 MP3 或 Vorbis 编码器,要琐碎得多。采样率很重要:44.1 kHz 是 Compact Disc 的标准,也是音乐主导采样率,选择它是为了高于人耳的奈奎斯特极限(约 20 kHz × 2 = 至少 40 kHz),并兼容用于母带制作早期 CD 的 PAL/NTSC 录像带机。48 kHz 是电影、电视和数字视频的标准。16 kHz 是语音识别与 VoIP 的事实采样率;8 kHz 是经典的固话电话。96 kHz 与 192 kHz 是高分辨率音频采样率。本工具默认通过 FFmpeg 继承输入的采样率,除非你明确另作要求,否则保留保真度。界面接受精度到一个十分位秒的时间(0:03.5);FFmpeg 内部为采样级精确,因此 0.1 秒的粒度在 44.1 kHz 下相当于约 4,410 个采样,远在人耳可感知精度之内。

为何选 ffmpeg.wasm 而非 lamejs

浏览器端音频编辑历史上最大的难题,是 MP3 的编码。解码是免费的:浏览器自己来。编码则需要一个 JavaScript 或 WebAssembly 的 MP3 编码器。两个选项占主导。lamejs 是老牌 LAME MP3 编码器的纯 JavaScript 移植(最初由 Andreas Krennmair / GitHub 上的 zhuker 完成,通过把 LAME 的 C 源码机械式地转换为 JS)。优点是体积小(约 150 KB 压缩后)且零依赖;放一个 script 标签,大概 50 行代码就能编码 MP3。缺点是它只做 MP3,API 较为繁琐,在长文件上的性能也只是中等,因为它是解释执行的 JS 而非编译的 WebAssembly。ffmpeg.wasm 是 FFmpeg 的 WebAssembly 构建,而 FFmpeg 是音视频处理领域通用的瑞士军刀。优点是通用性,FFmpeg 支持的每一种编解码器(MP3、WAV、OGG、AAC、FLAC、Opus,以及数十种冷僻格式)、每一种容器、每一种变换。缺点是体积,WebAssembly 包有数 MB,远大于单独的 lamejs。本工具使用 ffmpeg.wasm 是因为它从同一个共享引擎提供三种真实的输出编解码器(MP3 经 libmp3lame、WAV 经 pcm_s16le、OGG 经 libvorbis),所有输出共用同一套裁剪机制;若用 lamejs,则输出会被限制为只有 MP3。代价是首次访问的包体大小成本。

常见用途

诚实的范围:这个工具不做什么

这是一个聚焦的单文件裁剪工具,不是数字音频工作站。它不做的事情,而更复杂的对手会处理:没有淡入/淡出(导出片段在裁剪点处突起突止);没有多轨或混音(一个文件进,一个裁剪过的文件出);没有效果器(没有 EQ、压缩、归一化、降噪、混响);不能在一次操作里把一个文件切成多个片段(要切三段就得裁剪三次);没有增益或音量调整;不能只播放裁剪区域:音频播放器播的是整段源文件,播放过程中波形上会有一个动画式的播放头。需要多轨编辑、淡入淡出、效果与母带处理时,请用 Audacity(开源,2000 年 5 月 28 日由 Dominic Mazzoni 与 Roger Dannenberg 在 Carnegie Mellon 发布,2026 年仍在积极开发)、Adobe Audition(商业)或 Reaper(商业,试用期相当宽松)。如果只是一次性、不想安装东西的裁剪,这个工具就刚好合身。隐私定位是真实的:语音录音是个人数据,经常包含可识别的言语或私密空间的背景声音;把它们上传到"免费在线音频剪切器"是一种实在的隐私风险,而纯浏览器架构能整体地把这种风险绕开。

隐私:为什么这套架构对音频很重要

音频录音承载的可识别信息比大多数文件类型更多。一段语音备忘录里有可识别的言语(声纹具有唯一识别力)。一首歌可能是受版权保护的素材。一段会议录音可能含有机密的商业讨论或个人医疗细节。服务器端音频编辑器要求上传文件,这意味着一份副本会留在服务器日志里、可能在 CDN 缓存中、可能在某条分析管道里、可能在某个备份里。对普通的商业音乐这无伤大雅。但对语音备忘、会议录音、口述、播客废稿、家庭录音以及任何你不想被复制到陌生人硬盘上的东西,这就有问题了。本工具把整条流水线(选文件、解码、波形渲染、裁剪、再编码、下载)在你的浏览器里本地完成。没有上传、没有 API 调用、没有日志记录。你可以在裁剪过程中打开 DevTools 的 Network 标签自行验证:不存在任何携带音频数据的对外请求。FFmpeg 的 WebAssembly 包加载过一次后,你可以让页面离线(飞行模式),工具仍然可用,这是最有力的经验性证据,说明没有任何数据被上传。

常见问题

我可以导入和导出哪些格式?

输入:MP3、WAV、OGG(Vorbis)、AAC、FLAC、M4A,凡是你的浏览器 decodeAudioData 能读的都行。现代浏览器全部覆盖。输出:MP3(LAME 可变比特率约 190 kbps,音乐最佳点)、WAV(16 位线性 PCM,无损)或 OGG Vorbis(约 160 kbps VBR,透明音质且免专利)。编码与解码都通过浏览器中的 ffmpeg.wasm 完成,因此从不涉及任何服务器。

文件大小有限制吗?

服务器端没有限制,因为根本不发生上传。实际上限是你设备的可用内存:文件需要被解码成一个 JavaScript Float32Array 来显示波形,因此 4 分钟的 44.1 kHz 单声道源在处理时大约需要 42 MB 的 RAM。约 100 MB 以内的文件在普通笔记本上都能流畅运行;更长的文件(数小时的播客、整张专辑)在中低端手机上可能会变慢或失败。如果加载卡住,请改用更小的文件或分段裁剪。

裁剪会降低音频质量吗?

对于 WAV 输出:不会,WAV 是无损的,所以裁剪区域与裁剪点之间的源采样逐位相同。对于 MP3 与 OGG 输出:会增加一次额外的有损量化代,因为源被重新编码了。这里使用的编码器设置(MP3 用 LAME VBR 约 190 kbps,OGG 用 libvorbis 质量 5 ≈ 160 kbps)远高于绝大多数听众能感知的阈值。如果你打算之后再编辑这段裁剪,选 WAV;如果你想要小文件用于分发,选 MP3 或 OGG。

支持淡入/淡出吗?

不支持,裁剪在两端都是硬剪。需要淡入淡出、多轨编辑、效果或母带处理时,请用 Audacity(开源、免费、跨平台,2000 年 5 月 28 日在 Carnegie Mellon 发布)或 Adobe Audition。本工具的形状对应的是"我只要一段干净的剪辑";要做更复杂的事情,真正的 DAW 才是合适的工具。

为什么波形只显示一个声道?

波形把第一个声道(立体声文件中的左声道)按每像素列一个包络绘制。把两个声道用不同颜色画出来,要么会让屏幕空间翻倍,要么需要让两个波形互相重叠,对一个用于快速擦洗的 UI 来说都比单声道显示更杂乱。裁剪本身保留所有声道,FFmpeg 会按原样从源中复制它们,所以一段立体声录音输出后仍是立体声,即便仅出现在右声道(比如硬向右声像)的细节并不会出现在画面里。

我的音频文件会被上传吗?

不会。每一步(选文件、解码、波形渲染、裁剪、再编码、下载)都通过 JavaScript 与 ffmpeg.wasm 在你的浏览器本地完成。没有上传、没有 API 调用、没有日志记录。你可以在裁剪时打开 DevTools 的 Network 标签自行验证。ffmpeg.wasm 包加载过一次后,你可以让页面离线,工具仍然可用,这是最有力的证据,说明没有任何东西被上传。语音备忘、会议录音、医疗口述,或任何你不想被复制到陌生人硬盘上的音频,都可以放心使用。

相关工具