TL;DR
Get the latest gadgets delivered free with Prime
- Fast, free delivery on millions of items
- Prime Video, Amazon Music and more included
- Member-only deals all year
A November 3 report describes using the Ultra Low Complexity Codec, or ULC, to play 44.1 kHz stereo audio on Nintendo 64 hardware at low bitrates. The author reports that decoding uses about 4% of the console’s CPU time, but the details are a developer’s account, not an independently verified benchmark.
A developer says the Ultra Low Complexity Codec (ULC) can play 44.1 kHz stereo audio on Nintendo 64 hardware at near-Opus bitrates while using about 4% of the console’s CPU time. The November 3 report presents ULC as a way to fit recorded music into N64 games with less cartridge space and less processing cost than the audio options the author had tried.
The report comes from the developer of Xibalba 64, who says the game’s music was initially stored using ADPCM, a method supported by the open-source Libdragon development library. That approach worked, but the author says sound and music occupied about 31 MB of the game’s 32 MB ROM. The reported ULC results suggest a smaller alternative that could leave more cartridge space available for other game data.
Libdragon also includes an RSP-accelerated Opus decoder, according to the report. The author describes its compression and sound quality as strong but says it is too slow for use during gameplay. The report does not give comparable detailed measurements for every codec, but says ULC offers a better fit for this N64 project: its decoder reportedly handles full-rate stereo audio while using only a small share of CPU time.
ULC was created by developer Aikku93 for a Game Boy Advance audio demo and has been developed since 2019, the report says. It is a transform codec that uses the Modified Discrete Cosine Transform, as MP3 does, but stores coefficients using a simple nibble-based format rather than Huffman coding. That design avoids complex bit-level reads and entropy decoding. The author also points to ULC’s noise-fill feature, which can help represent sounds such as cymbals and snare drums at low bitrates.
More Room for N64 Game Audio
The reported performance could change what developers can include in N64 games without dedicating most of a cartridge to sound. The original hardware used cartridges with limited capacity, and the report says even compressed audio could consume a large share of a game’s storage. A decoder that is both compact in its data needs and inexpensive to run may make longer recorded music or higher-quality sound effects more practical for homebrew projects.
That matters especially for developers who want recorded audio to continue during active gameplay. The report says MP3 decoding on the N64 was computationally expensive, while the Libdragon Opus decoder is too slow for that purpose. If ULC’s performance holds up in real games, it could offer a middle ground between the N64’s traditional sample-based music and codecs that demand too much processing.
The result is a developer’s report, not evidence that ULC will become a standard for N64 games. Its relevance is practical: it identifies a codec designed around the constraints of older hardware and describes a specific use in an N64 project.
Products Worth Considering

Bose SoundLink Flex Bluetooth Speaker (2nd Gen) – Portable Outdoor Speaker with Hi‑Fi Audio, Waterproof and Dustproof, USB‑C, Up to 12 Hours

Amazon Kindle Paperwhite Signature Edition, 32GB (2024), Metallic Black

EcoFlow Delta 3 Portable Power Station – 1024 Wh, 1800 W
As an affiliate, we earn on qualifying purchases.
Why N64 Audio Was Constrained
Nintendo 64 developers faced a different audio problem from PlayStation developers. The PlayStation could stream uncompressed CD audio, while N64 games had to fit their data on cartridges and work within the console’s processing limits. The report says Nintendo’s Libultra library offered RSP-based ADPCM decoding, but third-party developers were not initially permitted to program the RSP directly.
ADPCM reduced sample storage, but the report estimates that five minutes of 44.1 kHz stereo audio would take about 12 MB in that format. For comparison, the author says Super Mario 64 occupied an 8 MB ROM, while the largest N64 games reached 64 MB. Developers commonly built music from short samples arranged during play rather than storing full-length recordings.
Later, some developers gained direct RSP access. The report cites Conker’s Bad Fur Day as a game that used MP3 decoding for speech, while noting the processing cost limited its usefulness for continuous gameplay audio. The author says ULC addresses a related challenge with a simpler coefficient format intended to keep decoding light.
““44100 Hz stereo with near-Opus bitrates using about 4% of the N64’s CPU time.””
— The author of the November 3 report
Performance Claims Await Detail
The report does not specify the exact ULC bitrate behind the “near-Opus bitrates” claim, provide listening tests, or describe how CPU use was measured. It is also unclear how performance varies across different music, sound effects, or N64 development setups. The stated 4% CPU figure should be treated as the author’s reported result, not an independently verified measurement.
The report describes ULC’s codec design and permissive licensing, but does not establish how broadly the N64 implementation has been tested or whether it is ready for use in other projects. Comparisons with ADPCM, MP3, and Opus may also depend on encoder settings and the quality target. Those details are needed before developers can make direct, like-for-like assessments.
Testing in N64 Projects
The report’s next practical test is whether the codec works reliably in game conditions, where audio must coexist with graphics, gameplay, and other processing demands. Further results could clarify the bitrate used, sound quality across different material, decoder performance, and any limits on playback during active gameplay.
For now, the findings are a promising technical report rather than a confirmed change across N64 development. Developers interested in using ULC will need to consult the codec and Libdragon project materials for implementation details, then test the result on their target hardware.
Key Questions
What is ULC?
ULC stands for Ultra Low Complexity Codec. It is a transform audio codec created by Aikku93 and uses the Modified Discrete Cosine Transform with a nibble-based way to store coefficients.
What N64 audio result does the report claim?
The author reports playback of 44.1 kHz stereo at near-Opus bitrates using about 4% of the N64’s CPU time. The report does not provide an independent benchmark or full measurement method.
Why not use Opus on the N64?
The report says Libdragon has an RSP-accelerated Opus decoder, but the author found it too slow for gameplay use. The author presents ULC as a lower-cost option for that project.
Does ULC deliver CD-quality sound?
The report gives a sample rate of 44.1 kHz but does not establish that the audio is CD-quality. Bitrate, encoder settings, and listening-test results are not fully specified, and the author says quality declines at very low bitrates.
Can other N64 developers use the codec?
The report says ULC’s code is permissively licensed. Its suitability for other games will depend on implementation details and testing on the developers’ target hardware.
Source: phoboslab.org
