Near the turn of the millenium, portable media players like the iPod led to the development of the podcast. The format generally consists of content similar to talk-based radio, and is typically served up in modern codecs like AAC, M4A and MP3. However, [Sean Haas] decided these were all too chunky, and wanted to see if it was possible to deliver similar content on a floppy disk. The results are predictable, but impressive.
[Sean]’s aim was to try and fit roughly 45 minutes of audio on to a 1.44 MB floppy disk. To pull this off, he looked far and wide for a codec fitting for the task. The choice landed on was Adaptive Multi-Rate, or AMR. Typically used to encode audio for GSM phone calls, it can also be used to create compressed audio files.
Initial attempts weren’t quite good enough to do the job, so [Sean] introduced a pre-processing step with FFMPEG, to speed the audio up 1.2 times. It was then passed through SoX and encoded in AMR at approximately 5 kbit/s. This allowed a 45-minute long MP3 file of 72MB to be compressed down into just 1.2 MB, and thus able to fit onto a floppy disk. Audio quality is predictably poor, as you can hear in the embedded clip below, but definitely intelligible. You’d probably want to skip any musical passages if you were doing this seriously.
[Sean] took it one step further, converted his entire back catalogue, and created an RSS feed. This was then submitted to the usual podcast directories like Apple Podcasts, Google Podcasts, and the like. While most rejected the submission, as they lack support for AMR files, somehow Spotify has no problem with the content. [Sean] suspects there must be some conversion going on somewhere as browsers don’t usually have AMR players built in.
It’s a fun project, and we’re almost disappointed nobody tried this back in the era of floppy trading and BBSes. If you’re interested in a history of compressed audio standards and how they changed the world, we’d be happy to oblige.
35 thoughts on “45 Minute Podcast Served Up On A Floppy Disk”
I’m going out a limb here my ignorance of the topic is significant but I would guess no one did it back in the day as the codec for the compression may have been either not readily attainable if it had yet been developed and then the processing required to produce it may have been a bit more than was already available.
But having said all that I seem to recall some audio products available on Floppy. But than again the sands of time have scratched my lenses and my hindsight isn’t as good as it once was…
Well it depends. Using the MOD file format for example led to extreme compressions when one used it carefully. I was able to encode the National Anthem of Scotland to under 2kb in order to fit it in a QRCode I sent a friend as a birthday card. Maybe storing small voice samples and using a similar technique to generate a whole podcast would also work and take even less space, provided the vocabulary used doesn’t contain too many words.
Ha, at that point, you might as well put a text-to-speech app on the floppy and just include the transcript. You could fit ALL the podcasts on one floppy!
“the sands of time have scratched my lenses and my hindsight isn’t as good as it once was”
Not sure if that is your original saying or not but I am borrowing it for the future!!
That is if I can remember it in an hour !!
That’s probably the best that can be done on magnetic mold media.
In 100 years time people are going to wonder how we encoded data into fungal DNA and how the hell to decode it.
One thing though. Codec2 3200bps better quality than amr less space
Everyone ignores Codec2 for some reason.
Theres codec2 at 3200bps at better quailty.
Precious comment right there
Here’s something to try:
It was possible to format a standard diskette up to 2002 kB
1.7 MB should be possible with DMF or something that a modern OS can still read, which is +41% greater bitrate
Indeed the Amiga HD floppies were 1.76MB capacity (SD was 880KB) and that was before formatting tricks (extra tracks) that could get it higher.
Sadly, Commodore only put the HD floppies into the A4000, not the A1200.
The big question is whether there is a decoder for this project’s voice compression that can run in real time on that Amiga 4000 (25MHz 68030 minimum).
HD floppy in A4000 was a huge hack. Commodore failed to update Paula chip PLL from 250 to 500Khz for 9 years, whole life of Amiga. The only way of supporting HD floppies was … slowing the motor down by half ;-D
Way back when, I used to download mp3s from my school, using lynx, then tried to split them to fit on a floppy. 2MB (or was it 1.8MB?) seemed like a godsend. But I had much higher failure rates, I would guess it was 10% with 1.44 and 25% with the denser formatting. Of course, I then had to go back to school and download the same thing over again, at ~5kB/s.
> It’s a fun project, and we’re almost disappointed nobody tried this back in the era of floppy trading and BBSes.
Maybe because open source low bitrate speech codecs weren’t a thing back then?
AMR was full of patents, if i remember code for freeswitch or asterisk support was patches floating outside.
Oh, the good old times when one needed to download the reference implementation from 3GPP and then patch it to make it usable… ;-)
The audio quality from linked youtube clip is worse than listening to the actual result because of the laptop speaker » microphone step.
I did try this back in the late 90s to compress my favorite songs in 300-400kB files and create an “album” of a couple songs, which I could listen to during computer class or lunch break.
I only used codecs that were available on my PC at home and on the computers in lab.
No one else liked it because the sound quality was just awful.
It was great for electronic music though! Sounded almost as awful as the original :D
Why not format the same 1.44mb floppy disk with the elusive “FD32” format using a 240mb SuperDisk drive? This would create 32 megabytes of storage. Enough for 2 hours and 45 minutes of Stereo 32kbps 22khz mp3 files. Also enough storage for 16 minutes of color WMV version8 video at 320×240 with mono audio. Fun stuff. https://youtu.be/gvD7JKaG1ns
Because the resulting diskette won’t read in a USB-FDD drive.
Huh, AMR? Retro! :)
These days, I would probably go for something at the same target bitrate, but higher in quality: there’s ~35 years of audio compression research that happened since!
Also, AMR is really a vocoder: Highly optimized for speech intelligibility, and little else. That might or might not fit the use case well!
Available for these kind of rates are of course things like the codecs used in DRM (digital radio mondiale), the standard that sets out to replace LW/MW/SW broadcast (has a large, multi-megawatt deployment in India, I hear it’s extended in Australia, and you get programs in Europe, too, but there demand for long-reach broadcasting is basically nonexistent); that’d be MPEG4 AAC, and the popular FOSS library for producing that is FAAC. Many audio players support it out of the box (in the end, because ffmpeg does).
Another shining star of FOSS codecs is OPUS (brought to you by the Xiph.org people, known for Vorbis, and IETF, known for, you know, the internet), as that has very efficient well-sounding encoding. I like it a lot.
If you’re really looking for a Vocoder with **minimal** bit rate requirements, do look at Codec2; in its current implementation, it supports intellegible English-sounding comms at 700 b/s. 1440 kB of a standard-formatted 3.5″ floppy would, if I’m not doing anything wrong while juggling numbers in my head, be more than 4 hours of speech at that rate. It’s no fun listening to that, but it’s super impressive to hear how little rate is sufficient for speech! (700 bit per second means you could keep that rate up over GSM – using SMSes.)
AMR is quite old and not that efficient compression method. Something like Codec2 ( http://www.rowetel.com/?page_id=452 ) might do better. At least it can easily achieve the 4 kbps bitrate available with these specs.
Doesn’t sound any worse than a cheap AM radio.
The best compression rate would be gained with Text to speech “codec”. The text could even be compressed on the media using some fancy compression algorithm
Text is really squishy, so you’d easy get 5MB, at 2kB a page and about 1.5 mins to read each out that would be something like 62.5 hours.
Is this the same story or has this already been done before?
I mean, you can tell from the URL it’s not the same story. They are clearly using codec2.
“disappointed nobody tried this back in the era of floppy trading and BBSes.” … Try this with a 25MHz 386SX with all of 1MB RAM and you’ll have your answer.
This has been done commercially in 1994 already:
I know since I’m the one who implemented the cut-and-paste functionality back then. Oh, and we implemented that non-standard floppy formatting option too, which allowed for about 51 minutes of recording.
Can Android read AMR, (Or Codec2) because if it can you could use this technique to put a shiteload of audio books on your phone, if you’re into that sort of thing.
Actually it kinda bugs me that so many audio books are distributed in super high bitrate stereo.
Seeing the title i was hoping to see someone hacking the floppy drive to let it record and play actual audio data instead of digital data on that disk. Quick math learns that to store 45 mins audio on a double sided, 80 tracks 3.5″ disk, you’d have a surface speed of about 1cm/second available, which is likely enough for speech.
Speeding the audio up is a hack of note!
Please be kind and respectful to help make the comments section excellent. (Comment Policy)