6 ms·
Here's a modern demonstration of decoding MP3's on various 486-class machines: https://www.youtube.com/watch?v=b0zZpzxHSeM https://www.youtube.com/watch?v=b0zZp
by ChickeNES 6y ago
Here's a modern demonstration of decoding MP3's on various 486-class machines: https://www.youtube.com/watch?v=b0zZpzxHSeM https://www.youtube.com/watch?v=b0zZpzxHSeM
- kevin_thibedeau 6y agoEarly mp3 decoders depended on floating point. Using modern fixed point code will let you run on less capable hardware.
- abrowne 6y agoI remember our family's Mac, with a 68LC040 CPU, which was a 68040 without a dedicated floating point unit, could only play back mp2 files in realtime.
- ddingus 6y agoThere was a program called "amp" that used fast integer math. I compiled it on an SGI Indigo running at 30Mhz and it would play up to 256kbps files using 90 percent of CPU.
- marcodiego 6y agoMIPS at 30Mhz is comparable to contemporary pentiums at much higher frequency of the era. The Indigo probably had faster memory, io and bigger caches than pc's mere mortals could buy. The comparison is simply not fair. But this program called "amp"... I'm very curious to see if it could be compiled to run on a recent machine.
- ddingus 6y agoLet me see if I can track it down... I agree with you, but 30Mhz! That is a very low clock for 256kbps decode. MIPS did very significantly outperform Intel at that time. http://www.mp3-tech.org/programmer/sources/amp-0_7_6.tgz http://www.mp3-tech.org/programmer/sources/amp-0_7_6.tgz Found it. An Indigo sat in the office for a time playing tunes from an NFS share we would populate. I eventually took it home to do the same thing. I forget how I parted ways with that old box. I am not inclined to build it at the moment, though it may well make for a great micro controller project one day.
- marcodiego 6y agoNice! Still compiles with a minor modification: added a break on the default case of a switch. Time signature is wrong when playing though. Edit: Fixed: add "frequency = frequency/2;" after the comment /* Set the output frequency */ in file audioIO_Linux.c
- ddingus 6y agoCool! I liked the quality output of that player at the time. Highs were clean. Does it still hold up? Maybe I will build it just for grins myself. Thanks for the tips.
- marcodiego 6y agoI can't critically evaluate the quality since I have no high quality mp3 nor Hi-Fi audio devices. An old recording of mine http://marcodiegomesquita.tripod.com/rda.mp3 http://marcodiegomesquita.tripod.com/rda.mp3 sounded with very unsaturated bass; which is good, I think I recorded/mastered it wrongly or the software I used at the time decoded it like amp decodes it. It actually sounds really good with amp. But yes, it uses very little cpu. Maybe less than dosamp.
- ddingus 6y agoI had similar experiences. Yeah, I need to build it now. Have a few tracks that often have watery highs, just not crisp. Amp played them great. Maybe I will play your track after the family activities. Edit: Except access denied, lol. No worries.
- marcodiego 6y agoHugh of death likely. I can download it correctly from here: https://marcodiegomesquita.tripod.com/ https://marcodiegomesquita.tripod.com/
- 6y ago
- anthk 6y agoSlackware still has amp.
- ddingus 6y agoWhat version?
- anthk 6y agoSlackware? 14.2
- ddingus 6y agoI was wondering about amp. Maybe a newer one exists? Sorry to be unclear.
- marcodiego 6y agoIt is available from debian archive: http://archive.debian.org/debian/pool/non-free/a/amp/ http://archive.debian.org/debian/pool/non-free/a/amp/
- userbinator 6y agoThe reference implementation is floating-point, for accuracy, but you can bet they were using fixed-point back then, as DSPs and such would be fixed-point only. https://en.wikipedia.org/wiki/WinPlay3 https://en.wikipedia.org/wiki/WinPlay3 was released in 1995 and requires "only" a 66MHz 486, available in 1992.
- ChickeNES 6y agoI totally forgot about that one! I'm also unsure why I'm being downvoted for sharing software that dates back to '98
- dehrmann 6y agoLooks like they're all DX CPUs. What's up with the socket? It looks like there aren't enough pins on the CPU, but they're used for the Pentium Overdrive.