Obscure audio codec is a perfect fit for the N64
Posted by frostbyte7 1 day ago
Comments
Comment by midnightclubbed 1 day ago
I'll also note the frame rate issues in Conker were mainly down to raw RDP fillrate issues, which was for sure the weakest part of the N64 hardware, it could draw beautiful triangles (for the time) but oh so so slowly. There was a decent amount of speech during gameplay using the RSP mp3 codec. The cartridge size was still an issue, 64Mb got a good amount of mono speech but was still very much at a premium.
Comment by xxpor 1 day ago
Maybe in audio, but video still seems like an absolute nightmare. Look at the absolute silliness with like having to pay $.99 to play h265 video in Windows.
Comment by jcalvinowens 23 hours ago
Real example, I recorded the world series using an ATSC antenna, and I re-encoded a 90 second sample using a bunch of different settings on a 32-thread znver5:
# Codec Flags Size Speed
- ----- ----- ---- -----
Original (Raw ATSC mpeg2video) 77MB (100%) N/A
1 libx265 -preset slower -crf 24 37MB (48%) 0.245x
2 libsvtav1 -preset 3 -crf 44 36MB (25%) 1.87x
3 libsvtav1 -preset 1 -crf 35 19MB (25%) 0.556x
(NB: The same CRF results in a higher quality video at slower presets, this was for archival so we're using the some of the slowest presets).(1) and (2) are completely indistinguishable from the original unless I go frame by frame looking for transient motion artifacts. (3) is only distinguishable in one shot where a dark background was washed out. Not only does AV1 produce results just as good as H265, it encodes quite a bit faster for the same size/quality.
That said, I've watched so much h264-encoded video over the past decade I think I've been trained to perceive the subtle visual "snow noise" as a sign of a high quality video: I find how AV1 blends backgrounds more visually objectionable than the dithering in H265, even though I think it's objectively higher fidelity. Similar to how I find high frame rate video "fake" after having watched NTSC TV for the first half of my life.
These were the CRFs necessary to get the same visual quality with libx265 at faster presets and the resulting sizes:
hevc-slower-24 37MB (used above)
hevc-slow-21 56MB
hevc-medium-20 57MB
hevc-faster-19 52MB
hevc-veryfast-18 60MBComment by layer8 20 hours ago
Comment by jedbrooke 21 hours ago
Of course there is always VLC
Comment by alala-lala-lon 1 day ago
what?
Comment by 6SixTy 19 hours ago
Video codecs have historically been like this, to some extent or another. It's really just a manner of if the manufacturer has absorbed it into the price tag or pushed it to the consumer.
No one likes paying for a codec license anyways, but since patents are at play, they kind of have to.
Comment by Loudergood 13 hours ago
Comment by layer8 20 hours ago
Comment by fleroviumna 9 hours ago
Comment by Lerc 21 hours ago
I thought weakest part was the size of the texture buffer.
Nobody expects the N64! Our two weakest parts are our raw RDP fillrate, and our tiny Texture buffer.
Comment by midnightclubbed 17 hours ago
If the RDP had been clocked 4x faster and had 4x the texture size then it would have been incredible… it makes beautiful pixels!
Comment by andrekandre 16 hours ago
Comment by cowlevel 11 hours ago
Comment by skhr0680 10 hours ago
It's why modern programmers can make it do things that would have given John Carmack sleepless nights if they had accomplished them back in 1996.
Comment by jonas21 22 hours ago
Comment by phoboslab 21 hours ago
Comment by aruametello 21 hours ago
not the music taste itself, but perhaps he should have gone for something more known that would be easy for A/B tests.
Comment by ethanbezz 16 hours ago
Comment by Sesse__ 20 hours ago
Too bad there is seemingly zero public documentation on the format of these programs, though (and no emulator or similar).
Comment by gatane 15 hours ago
The demoscene and homebrew scene is dying as we speak.
Comment by cowlevel 11 hours ago
Think about it, if someone embedded GPT-2 into a demo in 2019 the same scene would've found it hilarious. It's not the AI, it's how we use AI and everyone being sick of it.
Comment by jamesnorden 2 hours ago
Comment by hxorr 20 hours ago
Pardon my ignorance but one thing I'm curious about, if the decoder fills almost the entire 4k RSP instruction memory (IMEM) - wouldn't that be something games need for graphics? If so, then is this still usable for say a game?
Comment by phoboslab 19 hours ago
Libdragon handles this transparently for you with a queue[1].
Comment by neuroelectron 5 hours ago
https://www.youtube.com/watch?v=kyXsWd7DpEs
Wipeout 64 had some music by Fluke and Propellerheads but I'm pretty sure it used some tracker format to re-create the tracks from short recordings and honestly, they sound awful, not just because the audio quality but because the repetitiveness and lack of progression.
Comment by pona-a 1 day ago
Comment by pferdone 1 day ago
Comment by everdrive 1 day ago
Some I'm tracking:
- Duke Nukem 3D (ie, the fully-functional PC version) https://github.com/BigChat88/N64DukeNukem3DPort
- Portal 64 Still alive https://github.com/mwpenny/portal64-still-alive
- Resident Evil 64 (ie, not RE2, but the first one) https://www.youtube.com/watch?v=_xRiwy8Z6S0
- Silent Hill (still an early WIP) https://www.youtube.com/watch?v=v7fM06jmHso
I haven't personally tested, but these look interesting:
- Simpsons Arcade https://www.youtube.com/watch?v=zH9JYQVzKDE
- X-men Arcade https://www.youtube.com/watch?v=ah3nB8MP4CM
- TMNT Arcade Collection https://www.youtube.com/watch?v=CiR5-ZpLtyI
At this point, they're coming out faster than I can play them. I'm in the middle of the 2nd Episode of Duke 3D right now and it's quite nice. The original 64 version was always fun, but mid-level saves are really a game changer.
Comment by haunter 1 day ago
There's an explosion of ALL ports lately. It's crazy.
Ocarina of Time only got released today officially but it's already playable on ARM Macs. It's not even a port per se but executing the Switch ARM code natively. And of course it's also playable on emulators regardless of the platform
Comment by thequux 10 hours ago
Comment by lanmu 15 hours ago
Comment by blenser4 16 hours ago