从未压缩的 WAV 到更省空间的 Opus
WAV 存的是原始 PCM 采样,所以它是录音和声音设计的标准。立体声 16-bit, 44.1 kHz 的 WAV 大约每分钟 10.1 MB,24-bit, 48 kHz 大约 16.5 MB。适合编辑,传文件就太重。
OGG 是 Xiph.Org 的开放容器。AudioDrop 往里面放的是 Opus,2012 年 IETF 的编码,很多语音聊天和网页音频都靠它。Opus 工作在 48 kHz,用感知模型丢掉你不太可能听见的部分。AudioDrop 默认 192 kbps,一分钟立体声大约 1.44 MB。
WAV 与 OGG 对比
| 功能 | WAV | OGG (Opus) |
|---|---|---|
| 压缩 | 透明 | 有损 |
| 质量 | 录音的原样副本 | 192 kbps 时大多数人听不出差别 |
| 每分钟体积 | ≈ 10.1 MB (16-bit/44.1 kHz) | 192 kbps 时 ≈ 1.44 MB |
| 采样率 | 不限,常见是 44.1 或 48 kHz | 48 kHz |
| 授权 | 开放 | 开放且免版税 |
| 适合 | 录音、编辑、母带 | 网页游戏音频、网页播放、应用打包 |
WAV转OGG 的合适理由
网页游戏开发经常遇到这个。20 个 WAV 的配乐可以到几百 MB,同一套做成 OGG 只有其中一小部分,下载体积和内存都差很多。先看你的引擎:有的能导入 Ogg Vorbis,不能导入 Ogg Opus。
网页项目也合适。Opus 在 Chrome、Edge、Firefox 和 Android 上可以原生播放,所以 OGG 很适合做背景音乐、提示音和互动音频,也不用担心授权。
音质会怎样
WAV转OGG 是从无损到有损。对有损格式来说,这是最好的方向。编码器从完好的源文件开始,结果能达到 Opus 能做出的最好听感。还是会丢掉一些信息,以后把 OGG 转回 WAV 也找不回来。
留着WAV母带。OGG当作交付文件。以后要别的格式,再从WAV转,不要从OGG转。
用 24-bit WAV 当源文件没问题。编码器会先读全分辨率的音频,再去做压缩,不必先降到 16-bit。常见音乐和语音的动态范围,Opus 应付得很从容。192 kbps 下,瞬态发糊、镲片发飘这类瑕疵很少见。如果听得到,通常是源文件本身已经坏了,或削波削得很重。
值得知道的细节
- 输出始终是 48 kHz。44.1 kHz 的 WAV 会在转换时被重采样。
- Safari 可能不支持 OGG 编码。请用 Chrome、Edge 或 Firefox。
- 如果是游戏里的无缝循环,转换后测一下循环点。有损编码器可能在开头加上很短的延迟。
- WAV 的元数据和标记,比如循环点或 cue 块,可能带不过去。
为一个项目批量 WAV转OGG
把一大批 WAV转OGG 之前,先想清楚,能少返工。
WAV 按最终素材想要的名字来命名,因为每个 OGG 都会沿用原来的文件名。裁掉静音、拉齐音量,先在剪辑软件里做,这些最适合在无损 WAV 上完成。先拿一个文件在目标引擎、浏览器或应用里试播,确认能放 Ogg Opus,再把整批拖进来。
- 音乐和氛围声:默认 192 kbps 就很合适。
- 短的界面音和通知音:本来就不大,所以省下的空间有限。
- 对白:Opus 处理语音特别好。
不上传、可离线、很快
这个 WAV转OGG 用 WebCodecs 和 WebAssembly 在本机处理全部内容。WAV 不会上传。对未发布的游戏素材或客户音频,这一点要紧。
页面加载后可离线使用。大批量并行转换,每个 OGG 单独下载。没有固定大小限制。特别大的文件只受设备内存限制。