跳到正文
简体中文
工作台什么都不上传的工具
ODERSA 协会的一间工坊什么都不外传,什么都不留存,什么都到不了我们手里。

工坊 · 裁剪录音

怎么用 : 裁剪录音

您的手机本来就会录音。它不会做的,是在不把录音发给别人的情况下把头尾剪掉:这个页面做的正是这件事,而且交还给您的文件不再带任何元数据。

打开工具

一段语音录音是人们经手的最私密的数据之一:一次会议、一堂课、一份备忘、一次面谈。那些替您切割它的网站,收到的是完整的录音,而谁也不知道它们拿去做了什么。而浏览器本身就会解码声音、把其中一段重新写出来,一个字节都不用出去。

这件工具做了一件大多数切割器不做的事:它在清理之前,先把您文件里带着的东西显示出来。音频文件常常带着一些元数据块,里面有软件名、一个标题,有时还有一个人的名字。它们会被列在屏幕上,然后从产出的文件里消失,而工具会回读自己的成品来核实这一点。

有一件事得马上说清楚,它不是什么。它不是录音笔:它不从麦克风录音,理由写在限制里。而且这里没有可以用鼠标去切的波形图:开头和结尾是按秒来设的,因为画出一条波形会是一个本站规范里没有的图形组件。

怎么用

  1. 把您的录音放进来。工具会把它解码,显示时长、采样率和元数据。
  2. 按秒设定开头和结尾。结尾一栏预先填好的是总时长。
  3. 得到的文件是一个 16 位 PCM 的 WAV,不带任何元数据,而工具会回读自己的输出,告诉您里面有什么。

支持的格式

解得开哪些格式取决于浏览器,而且没有任何第一手资料把它写清楚:所以工具是先试着解码,解不开就坦白告诉您。至于结果,永远是一个 WAV。

WAV,未压缩

这是唯一一种工具能在解码之前先读到文件头的格式,也正因如此才能原原本本保住原来的采样率。它也是唯一一种工具能列出元数据的格式。

MP3

所有浏览器都解得开。它的采样率在解码之前读不到:所以会被折算到您选的那个采样率上,工具会把这件事说出来。

M4A 和 AAC

iPhone 的录音应用产出的就是这个格式。解不解得开取决于浏览器和系统:如果您那边不行,工具会说出来,而不是给您一个空文件。

WebM 和 Opus

Chromium 系浏览器的录音功能产出的就是这个格式。除了最老的那些浏览器,到处都解得开。

查看兼容性对照表

它的限制

它不是录音笔:它不从麦克风录音

有两个理由,而真正的理由是第二个。首先,本站工具页的结构给每件工具一种输入:一个文件、一段文字,或者什么都不要。麦克风是第四种输入,它需要一套全新的信任横幅、一段给没有 JavaScript 的浏览器看的提示,还有三道验收关卡的新分支。其次,也是更要紧的:构建本站的那台机器上没有麦克风,所以没有哪道关卡能真正走一遍这种输入,而本站的规矩说得很明白,一条没法被验证的代码路径就不写。您的手机和电脑本来就会录音;它们不会做的,是在不上传的情况下裁剪。

这里没有可以用鼠标去切的波形图

画出一条波形会是一个本站规范里没有的图形组件,而规范已经冻结:缺的东西记下来、提出来,而不是在做某件工具时顺手编出来。所以开头和结尾按秒来设,精确到百分之一秒。这样不那么顺手,而我们把它写在这儿,好过让您自己撞上。

结果永远是一个 WAV,所以比放进来的文件重

一分钟的 WAV 大约十兆字节,而一分钟的 MP3 只有一兆。这是“不依赖任何东西”的代价:浏览器如今确实会编码音频,但它的编码器给出的是编码好的片段,从来不是一个组装好的文件,而无损编码几乎哪儿都没有。所以手工写一个 WAV 容器是唯一到处都行得通的路,何况 WAV 在所有剪辑软件里都打得开。

不是 WAV 的文件会被重采样,而工具会说出来

浏览器音频引擎的规范规定,解码时必须把声音折算到计算上下文的采样率。对 WAV,工具在解码之前先从文件头里读出采样率,再按这个采样率建上下文:什么都不用重采样。对其他容器,不解码就读不到采样率,所以声音会被折算到您选的那个采样率上,差别会显示在屏幕上。

每个文件 120 MB

解码后的声音以浮点数形式待在内存里,比原文件重好几倍。超过这个上限,手机会让标签页崩溃,而不是给出结果,所以工具会干脆拒绝,并把上限说出来。

可用的采样率从 8000 到 96000 Hz

这是规范向所有浏览器保证的范围。超出这个范围,浏览器就拒绝建立计算上下文。这已经绰绰有余:CD 的音质是 44100 Hz,电影和视频是 48000 Hz。

关于这个工具的问题

我的录音会被发到什么地方吗?

不会,而这是最讲究这一点的一件工具,因为一段语音录音会认出说话的那个人。按 F12 打开开发者工具,切到“网络”标签页,清空列表,然后把文件放进来裁一次:什么都不会出去。把网断掉再做一遍,工具照常工作。

为什么得到的文件比原件还重?

因为 WAV 是不压缩的:它把每一个采样值原样装在里面。一分钟大约十兆字节,而一分钟的 MP3 只有一兆。不内嵌一个编码器我们就没有别的办法,而本站只有在有理有据的决定之下才内嵌一个库。浏览器近来确实会编码音频了,但它的编码器给出的是要您自己往容器里组装的编码片段,而无损编码几乎哪儿都没有。在此之前,WAV 到哪儿都打得开、能无损再剪辑,而且什么都不藏。

为什么不干脆直接用麦克风录?

因为那样这个页面就没有同样的诚实度了。本站每件工具都只有一种输入,而它的信任横幅讲的恰恰就是那种输入:您的文件、您的文字,或者它生成的东西。麦克风会是第四种输入,得另写一句自己的承诺。更要紧的是,每次发布之前核验本站的那台机器上没有麦克风:所以我们没法证明一段录音不会出去,而我们不发布自己没法验证的承诺。您的设备上本来就有一个好用的录音功能;缺的是不上传就能裁剪这件事。

清理元数据到底做了什么?

它什么都没去掉:它是什么都不写。产出的文件是从零组装的,只有两个数据块,一个说明声音是怎么编码的,另一个装着声音。其余的一切,软件名、标题、备注、播放器标签,根本就没有被抄过去。工具会先让您看看您的文件本来带着什么,然后逐块回读自己的输出,核实什么都没剩下。

我的采样率为什么变了?

因为您的文件不是 WAV。浏览器音频引擎的规范规定,解码时必须把声音折算到计算上下文的采样率,而这个采样率必须在解码之前定下来。对 WAV,我们从文件头里读出采样率,再按它建立上下文:什么都不变。对 MP3 或者 M4A,不解码就读不到采样率,所以我们用您选的那个,并把差别显示出来。重采样对一段说话录音的损害不大,但它不是无关紧要的,藏着不说就不老实了。

我能剪掉录音中间的一段吗?

一次做不到:工具留下的是一个连续的区间,从您设的开头到您设的结尾。要去掉中间的一段,就得把它两边的两段分别导出来,再到剪辑软件里接起来。把两段接起来要处理过渡、电平和顺序,那是另一件工具,得有它自己的页面。