OTape
摘要
oTAPE 是一种开放、自包含的数字磁带文件格式,可将两段等长的连续音频以及标签和封面打包为单个 .otape 文件,并配有基于浏览器的 Web Deck 播放器和磁带音效模拟。
暂无内容
查看缓存全文
缓存时间: 2026/11/01 06:24
# oTAPE · 开放数字磁带格式
Source: https://www.otape.org/
oTAPE 1.0 · 开放规范 · 候选发布
## 按下录音键。*当回事。*
oTAPE 是一种数字磁带的开放文件格式。一个 `.otape` 文件容纳整盘磁带:两面固定时长,每面为一段连续录音,外加标签、J-card 和防抹挡片。它自包含,可离线使用。
扩展名 `.otape` 容器 ZIP + JSON 许可证 CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)
在浏览器中由几行 `appearance` JSON 绘制。卷轴遵循规范中的磁带缠绕模型。
01 理念
## 故意慢的方式。
制作一盘混音带曾经要花上一个晚上。你挑好每首歌,听完录完整个过程,再亲手写下歌名。oTAPE 是一种保留了这些约束的文件格式。它不是新的编解码器,也不是音乐播放器:它描述的是一整盘磁带。
1. 01 ### 是磁带,不是播放列表。 每面是一段连续录音。歌与歌之间的空白、一段口白、暂停按键的咔嗒声:都是录音的一部分。曲目标记可以为歌曲命名,而不打断这一面。
2. 02 ### 它像磁带一样运作。 固定时长,一盘磁带分两面,位置靠卷带到达而非跳转。把 A 面播到结尾,翻面,就到了 B 面的开头。
3. 03 ### 文件即物件。 音频、标签、J-card、折页小册子和历史记录全部存在一个 `.otape` 中。它从不链接回录制所用的 MP3,也不链接任何在线内容。
4. 04 ### 聆听是只读的。 播放磁带从不修改文件。播放器单独记住你的位置,就像真实磁带停在你离开的地方。
5. 05 ### 开放且简单。 一个 ZIP 归档、一份 JSON 清单、AAC 音频、PNG 或 JPEG 图片。每一部分都是标准格式,可用现有工具打开。
6. 06 ### 每盘磁带有自己的外观。 提供精确物理比例的美术图,或用几行 JSON 描述外壳和标签,任何播放器都能绘制。
02 试一试
## 把磁带放进*卡座*。
这是 oTAPE Web Deck:约 1,200 行纯 JavaScript,无任何库。它预装了 *Gitsem*——Mirat Can Bayrak 在 24 岁时创作、42 岁时重新录制的一首 C10 单曲——也可以播放你拖入这里的任何 `.otape` 文件。文件始终留在浏览器中,绝不上传。
*Gitsem* by Mirat Can Bayrak,基于 CC BY 4.0 许可 (https://creativecommons.org/licenses/by/4.0/)。源代码 (https://github.com/otape-studio/otape-spec/blob/main/examples/files/gitsem.otape)。
*o*TAPE Web cassette deck OT-WREC
**TAPE RUN**
**插入磁带**
Download (https://www.otape.org/spec/examples/files/gitsem.otape)
Open .otape...
或将文件拖放到卡座任意位置
Time **-:--**
Remain **-:--**
Tape **---**
NO CASSETTE
Now—
Tape map 点击快卷
0:00
Output
Space 播放/停止
←→ 快退/快进
F 翻面
E 出仓
03 磁带音色
## 同一盘磁带。*不同的机器。*
同一盘磁带在两台播放器里从不会听起来一样。oTAPE 播放器现在可以像那个年代的机器那样播放磁带:一台录音室卡座、一台车载立体声、一台风光不再的便携立体声。声音在到达你的扬声器之前发生了变化。文件则和录制时一模一样。
*o*TAPETape sound selector TS-6
最近五秒的音高
### 实现原理
1. **抖晃** 没有电机转动是完全均匀的。缓慢的速度漂移会弯折音高(wow),快速的颤动会让音高变得粗糙(flutter)。播放器会时刻提前或推后一小刻读取音乐,让音高像在那台机器上一样游移。
2. **底噪** 每盘磁带都有自己的一层噪声底。它随磁带运转而存在,歌曲之间和空白段也一样,按下停止键的瞬间就消失。
3. **温暖** 大音量录一盘磁带,峰值会被削圆,高频最先受到影响。这种温和的压缩是磁带声音温暖的重要原因。
4. **磨损** 旧磁带失去高频,涂层磨薄处会瞬间掉音,磁头偏移会让立体声声像变得模糊。
**没有任何东西是烧录进去的。** 机器效果在你聆听时叠加。你的 `.otape` 文件不被触碰,录音保持干净,你甚至可以在歌曲中途切换机器。
**机器就是文件。** 每台机器都是一个小的开放预设,一个 `.otsound` 文件,用真实世界的单位写成:速度百分比、分贝、赫兹。所以一台便携立体声在任何 oTAPE 播放器中听起来都一样。内置六台;自己做一台,分享出去。
04 文件内部
## 解压一盘*磁带*。
一个 `.otape` 文件是一个普通 ZIP 归档,布局固定:先是 `mimetype` 条目,这样工具无需解压即可识别文件,然后是清单,每个录音面一个音频文件,以及可选的美术图和文档。
night-drive.otapeZIP
``
mimetype application/vnd.otape.cassette
manifest.json the cassette, sides A and B, the look
audio/
side-a.m4a AAC-LC, one continuous take
side-b.m4a omitted while the side is blank
artwork/ optional, fixed physical sizes
cassette-face-a.png
label-a.png
jcard-front.jpg jcard-spine.png
booklet-01.png ...
docs/ booklet.html, notes.md
``
manifest.json · 一盘空白 C60
``
{
"format": "oTAPE",
"format_version": "1.0",
"cassette": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"title": "Night Drive",
"type": "C60",
"side_length_seconds": 1800,
"created_at": "2026-10-28T22:00:00Z"
},
"sides": {
"A": { "write_protect": "intact", "audio": null },
"B": { "write_protect": "intact", "audio": null }
}
}
``
媒体类型 `application/vnd.otape.cassette` Apple UTI `org.otape.cassette` 音频 AAC-LC in M4A,每个播放器必须支持。ALAC、FLAC 和 PCM 为可选。 时间线 整数帧,44.1 或 48 kHz,精确到采样 魔数 `PK\x03\x04` 位于偏移 0,媒体类型位于字节 38 版本 `MAJOR.MINOR`。次版本仅添加可选字段,未知数据予以保留。
05 介质
## 固定时长。*可折断的挡片。*
磁带的限制塑造了上面承载的内容,所以 oTAPE 保留了这些限制。你在录制前选择时长,每个面都有一个可以折断的录音挡片。
### 选择时长
- **C46** 每面 23 分钟 · 65.7 m · 18 μm
- **C60** 每面 30 分钟 · 85.7 m · 18 μm
- **C90** 每面 45 分钟 · 128.5 m · 12 μm
- **C120** 每面 60 分钟 · 171.4 m · 9 μm
- **C74**
自定义:每面分钟数
自定义磁带按真实磁带命名:C 加上总时长(分钟)。磁带长度和厚度遵循规范附录 B.3 中的卷绕模型。
### 掰断挡片
A B ``
允许录制:
这不是 DRM。就像真实磁带上的挡片一样,它防止成品磁带被意外覆盖,任何人都可以用胶带把孔贴上。
06 纸面
## 美术图,精确到*毫米*。
外壳和标签图,J-card 的正面、书脊和折页,折页小册子、内页文案和献词。每个图片槽位都有以毫米为单位的固定尺寸,所以在一个应用中制作的美术图在任何其他应用中都能正确适配。
flap 25.4 spine 12.7 front 63.5 mm
槽位 mm 推荐像素
Cassette face A / B 100.4 × 63.8 2410 × 1531
Label A / B 89.0 × 42.0 2136 × 1008
J-card front 63.5 × 101.6 1524 × 2438
J-card spine 12.7 × 101.6 305 × 2438
J-card back flap 25.4 × 101.6 610 × 2438
Booklet panel 63.5 × 101.6 1524 × 2438
Thumbnail square 1024 × 1024
推荐 24 px/mm,最低 12 px/mm,宽高比误差在 ±1% 以内。外壳和标签图在窗口和卷轴孔处必须透明,以便播放器的卷轴透出。
07 参考应用
## oTAPE *Studio*。
一套三件套高保真设备,为你的 Mac 打造:SP-2 CD/MP3 音源播放器和 TU-01 网络收音机调谐器,都接在 OT-1 磁带卡座上。加载你的音乐或调到一个电台,按下 REC,磁带实时录制。暂停播放器,卡座就录空白。保存,你就得到了一个 `.otape` 文件。1.2 新增:磁带音色 (https://www.otape.org/#sound),任何磁带都可以通过一台那个年代的机器播放。
oTAPE Studio:SP-2 音源播放器紧邻 OT-1 磁带卡座,正在从下方的 TU-01 网络收音机调谐器录制一盘 C46。调谐器屏幕显示预设 2 上的电台和当前曲目。
- **实时录制** 磁头以 44.1 kHz 就地覆写磁带。空白段保持空白,录制速度不超过播放速度。
- **拨盘上的电台** TU-01 可调谐 Radio Browser 目录中约 50,000 个电台。歌曲标题变成磁带上的曲目标记和 J-card 上的文字。
- **空白带和设计器** C46 到 C120 空白带,配有可用的计数器和卷轴。设计器涵盖外壳、标签、字体、J-card、美术图和录音挡片,提供八种预设起点。
- **小心对待你的文件** 以 256 kb/s 保存 AAC,只重新编码你改动过的面。其他 oTAPE 应用写入的数据保持不变。
08 浏览器里
## Studio,*搬到网上*。
oTAPE Studio Web 是一个在浏览器中运行的磁带卡座,任何电脑都可以使用。打开一盘磁带或从空白带开始,然后从你自己的歌曲播放列表、网络电台或任何音频输入实时录制。保存,你就得到了一个 `.otape` 文件。无需安装,无需账户,你的磁带和歌曲永远不会离开你的设备。
- **三种音源** 一个支持 MP3、AAC、WAV 和 FLAC 文件的播放器,Radio Browser 网络电台目录,以及来自电脑任何音频输入的线路输入。
- **真实的走带** 播放、快速卷带、翻面、到头停止。卷轴和计数器遵循磁带缠绕模型,录音挡片保护已完成的面。
- **校验每一盘磁带** 打开任何 oTAPE 1.0 磁带,完整校验,并为每个问题指明规范中的对应章节。支持 C46 到 C120 空白带,或任何自定义长度。
- **可安装** 添加为应用后可从系统打开 `.otape` 文件。卡座快捷键和媒体快捷键可用,以 256 kb/s 保存 AAC。
09 开发者
## 一个*下午*就能写出播放器。
规范是开放的:任何人都可以在免费或商业软件中实现它,无需版税,无需许可。一个基本播放器只需以下五步。
1. **打开 ZIP** 读取 `manifest.json`。检查 `format == "otape"` 且主版本号为 1。
2. **对每一面,** 解码 `audio.file` 并将其视为恰好 `recorded_frames` 的长度。这一面的其余部分是空白磁带。
3. **从磁头位置开始播放。** 用快进和快退卷带而非跳转。翻面将位置 *p* 映射为 *L − p*。
4. **绘制磁带** 从 `appearance` 绘制,或在有美术图时使用 `artwork` 图片。
5. **记住磁头位置** 在本地按 `cassette.id` 保存。播放从不修改文件。
校验磁带
``
# optional: enables the JSON Schema check
pip install -r tools/requirements.txt
python3 tools/otape_validate.py my-mixtape.otape
``
``
VALID my-mixtape.otape
``
### 实现
名称 平台 角色
oTAPE Studio macOS 14+ 参考录音和播放器,作者 Jan Osio。Download .dmg (https://www.otape.org/assets/download/oTape%20Studio.dmg)
oTAPE Studio Web (https://studio.otape.org/) Chrome, Edge, Safari 浏览器中的录音和播放器,作者 Jan Osio
oTAPE Web Deck (https://www.otape.org/#deck) 任何现代浏览器 播放器,就在本页
做了能读取或写入 oTAPE 的东西?提一个 pull request (https://github.com/otape-studio/otape-spec/blob/main/CONTRIBUTING.md) 加入列表。
## 拥有磁带。*不拥有平台。*
没有信息流决定下一首放什么。没有账户、服务器或订阅横在你和别人为你制作的磁带之间。oTAPE 是开放的,所以你的磁带可以比任何播放它的应用活得更久,包括我们自己的。
无云端 · 无账户 · 只有磁带
相似文章
使用FFmpeg模拟磁带音频特征
一个GitHub项目,利用FFmpeg模拟磁带音频特征,包括磁带噪声、抖动/颤动、带宽限制以及均衡器调整。提供针对不同磁带类型的脚本。
Tide
Tide 是一款能创建自绘分层语音笔记的产品,提供了一种将音频与视觉创意相结合的独特方式。
Flipcorder
# Flipcorder Flipcorder 是一款全新的 iPhone 应用,旨在模拟 1991 年录像机的使用体验。每天仅限录制一盘"磁带",现已在 Product Hunt 上线。
iVox
iVox 是首款致力于重现 20 世纪 80 年代磁带编辑效果的音频编辑应用。
Ota
Ota 是 Product Hunt 上发布的一款新产品,提供以合同为先的仓库就绪基础设施。