# 音频编辑 倒放、变速、放大音量

倒着放、快慢随你调、把录轻了的声音提上来，全在你这台机器上。

> 把一段声音倒着放、放快或放慢，把录轻了的录音提上来。视频里的声音也能抽出来。在浏览器里跑，什么都不上传。

这是一个浏览器交互工具，地址是 https://abox.tools/zh/edit-audio/。文件在运行该浏览器的设备上处理。主动分享和可选联网功能都在页面上说明。下文是它的文字说明；使用工具请打开该地址。

## 你的录音**在浏览器里处理**，无须上传处理。

你的文件由你自己的浏览器读取、编辑、写出，用的是你自己的硬件。这里没有任何东西能取数据或者发数据，这个工具压根没有联网功能。就算真有，这个页面的另一头也没有服务器能接住一段录音。

- ✗ 不上传
- ✗ 不注册
- ✗ 没有水印
- ✓ 进视频，出音频
- ✓ 断网能用

## 音频文件怎么编辑

1. **选一个文件。** 把 MP3、WAV、FLAC、M4A、Ogg 或者 Opus 拖到下面的方框里。要的是视频里的声音，就直接丢视频进来。浏览器直接从你的硬盘上读，这期间没有东西发出去。
2. **要倒放的话，就一个勾。** 采样从最后一个开始往前写出去，这一步完全可逆。倒两次，拿回来的就是你一开始那个文件，一个采样都不差。
3. **定速度。** 拖滑块、直接打一个倍数、或者按一下预设。然后决定音高怎么办：钉住不动，1.5 倍速听讲座就该这样；跟着速度走，磁带就是这么干的，声音会变尖或者变闷。
4. **定音量。** 要么直接说加减多少分贝，要么让它把整段提到最响那一下刚好顶在上限之下。你还没按任何按钮，页面就已经算出那一下会落在哪儿，你选的档位要是会冲破满刻度，它会先提醒你。
5. **保存。** 活在你自己的硬件上干，所以快慢取决于你这台机器，不取决于排队。出来的是一个 WAV，也就是采样本身加一个文件头，先在页面上放给你听，再直接交给浏览器的下载。

## 说得更细的版本

[怎么在发出去之前整理好语音备忘录](https://abox.tools/zh/guides/clean-up-a-voice-memo/): 剪掉空白和口误重来的开头，再把音量提到满格线的正下方。两个浏览器工具接力，按保住音质的顺序来，录音从不离开你的电脑。

## 工具箱里还有

- [PDF 合并与拆分](https://abox.tools/zh/merge-pdf/): 挪动页面，不用往服务器跑一趟。
- [PDF 压缩](https://abox.tools/zh/compress-pdf/): 文档变小，不用送去任何地方。
- [PDF 解锁](https://abox.tools/zh/unlock-pdf/): 权限限制与打开密码不同。页面会说明你的 PDF 使用哪种保护。
- [PDF 加密](https://abox.tools/zh/protect-pdf/): 把文档锁上，而不是为了锁它先把它交给一个网站。

## 常见问题

### 我的音频会传到什么地方去吗？

不会。读取、编辑、写出，全由你自己的浏览器在你自己的硬件上完成。这个工具没有服务器那一半，页面的 `Content-Security-Policy` 把它可能联的地址全列了出来，没有一个是本站的。与其听我们说，不如拔掉网线，照倒放一段试试。

### 能把视频里的声音抽出来吗？

能，在这儿这跟打开一个 MP3 是同一件事。丢一个 MP4、MOV 或者 WebM 进来，只有音轨会被解码，画面根本不读，出来的是一个纯声音文件，里头没有视频。要是你要的就只有这个——声音，原样不动——那[从视频里提取音频](https://abox.tools/zh/extract-audio-from-video/)在一个别无他物的页面上干的就是同一件事。声音也需要改动的时候，再回到这儿来。

### 变速会连音高一起变吗？

你不要求它就不变。“保持音高”的做法是把录音切成一段段大约五十毫秒、彼此重叠的小窗，再把它们铺得密一点或者疏一点，每一段落在哪儿都挑在波形接得上的位置，所以 1.5 倍速下一个人的嗓音还是那个嗓音。“跟着变”走的是重采样，也就是磁带放快的那套，两倍速正好高一个八度。

### 为什么存成 WAV，不是 MP3？

因为没有哪个浏览器自带 MP3 编码器，而这个工具不肯把你的录音送去有编码器的服务器。WAV 根本不需要编码器，它就是采样加前面四十四个字节的文件头，所以它既是老实的选择，也是唯一不可能掉质量的选择。代价是文件大，立体声大约一分钟十兆。播放器、手机、编辑软件都打得开，真要 MP3，拿它转一个就是。

### 能打开哪些格式？

你的浏览器解得了的都行，实际上就是 MP3、WAV、FLAC、M4A 和 AAC、Ogg Vorbis 和 Opus，以及 MP4、M4V、MOV、WebM 视频里的音轨。打不开的还是那张老名单：AVI、WMA，还有大多数 MKV。浏览器读不了的文件会被直接拒收并说明原因，不会干到一半才崩。

### 调大音量会不会破音？

只有冲过满刻度才会，而页面在你动手之前就会提醒。数字音频有一道硬顶，一个采样不可能比满刻度更响，超出去的部分会被压平在顶上，那就是破音的声音。“提到最响”这一档不可能出这个问题，它先算出这段录音头顶还剩多少空间，就用掉那么多。顶以下的操作只是乘法，别的什么都没发生，提 6 dB 再降 6 dB，采样还回到原处。

### 倒放和变速会掉质量吗？

倒放不会，同样那些采样换个顺序出来，分毫不差。变速要动到每一个采样，算的是数，不是复制。重采样这条路上有正经的滤波，所以放快不会把高音折回来变成金属味的嗡响；变速不变调那条路上，每一段小窗都落在波形接得上的位置，不是算到哪儿算哪儿。两条路都不重新编码，因为这里根本没有编码器可用。

### 文件长度有限制吗？

工具里没设上限。真正的天花板是内存：整段录音一次性解码进这个页面，WAV 也要在内存里拼好你才能下载，所以一小时的立体声大约需要不到一 GB 的腾挪空间。四 GB 的 WAV 会被直接拒绝，因为这个格式自己的大小字段就描述不了那么大的文件。

### 免费吗？要注册吗？

免费，没有账号，不用登录，没有试用期，也没有水印。本站带广告，经费就是这么来的，广告拿不到关于你录音的任何信息。

## 这条隐私承诺怎么核实

- **处理在这个浏览器里完成。** 本工具在浏览器里处理输入和结果，处理代码不把它们上传去处理。Content-Security-Policy 限制可用资源和连接目的地，但已允许的主机仍可接收请求。策略不检查载荷，不能单独证明什么都没有发出。请把具体操作的请求与源码核对，或断网完成该本地操作。
- **这里没有任何东西会去联网取数据。** 这个工具完全没有联网功能。没有网址可以粘，没有东西要下载，第一次用也不去取什么引擎。碰过你音频的每一个字节，都是页面加载时从本站来的。
- **解码器就是你浏览器里那个。** 文件交给 `decodeAudioData`，也就是 `<audio>` 标签放歌时用的同一段代码。这里没有为读你的格式而额外带什么东西来，也没有向这个页面之外的谁开口要过什么。
- **视频的画面根本不解码。** 丢一个视频进来，只有音轨会被取走。画面不读、不解码、不绘制，也没人看，这个页面上就没有能干这事的代码，出来的文件里只有声音。
- **采样是照原样写下来的，没有重新编码。** 一个 WAV，就是这个页面算出来的那些采样，前面加一个文件头。这中间没有编码器替你的录音拿主意，也没有任何一步称得上上传。
- **Google 加载了什么，又拿不到什么。** 广告脚本和统计脚本来自 Google。关于你录音的信息，一条都没给它们，文件不给，采样不给，文件名、大小、时长、有多响，也都不给。读取、编辑、写出的每一行代码都从本站发出，也都摆在仓库里。
- **捐助按钮加载了什么，又拿不到什么。** 页头那个“Buy me a coffee”按钮，由 cdnjs.buymeacoffee.com 的脚本画出来，字体取自 Google Fonts。它就是个链接，仅此而已，不上报访问，也拿不到关于你或者你文件的任何东西。
- **断网照样能用。** 断开网络，这个页面上的一切照常工作。这是最省事的一条证明。

**你可以自己核对。**上面这些不用你信。这个页面是仓库里的模板和配置生成出来的，构建脚本你能读，也能自己跑一遍，跑出来的结果就提交在 `dist` 分支上。拿实际发给你的内容，跟你自己从源码构建出来的结果对一遍就知道了： https://github.com/A-Box-of-Tools/website

最值得先读的几个文件：`config/site.toml` 里是 Content-Security-Policy，`src/shared/audio-decode.js` 里是把你的文件交给浏览器自带解码器的那二十来行，`src/stretch.js` 里是变速不变调的那部分，`src/speed.js` 里是重采样，`src/shared/wav.js` 里是采样前面那个文件头。这几个都没有引入任何能发请求的东西。
