Lobsters | 📄 原文链接 | 2026-11-06 收录

为 N64 找到合适的音频编码:4% 的 CPU 跑 44.1kHz 立体声

来源:phoboslab.org — 2026-11-03

📋 概述

N64 的音频处境很差:卡带空间宝贵,93MHz 的 CPU 紧张,向量协处理器 RSP 长期不对第三方开放。Libultra 的 ADPCM 能把样本压到四分之一,但五分钟立体声仍要 12MB;Libdragon 里已有 RSP 加速的 Opus 解码器,质量好却太慢,不能用于游戏过程。作者找到 Aikku93 为 GBA 写的 ULC:全带 MDCT 变换加纯 nibble 打包、没有熵编码,解一个块约 150 行 C。他把解码器改成 Q1.14 定点,用 RSPL 把 IMDCT 移植到 RSP(约 1400 行 MIPS 汇编,硬塞进 4KB 指令内存),最终 44.1kHz 立体声只占约 4% CPU、5% RSP,质量与码率接近 Opus。

🔑 核心要点

💡 金句

一句话概括:ULC 就是 MP3 本来可以成为的样子——同样的核心想法,只是去掉了周围的赘物。
← 返回 Lobsters 首页