Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
A floppy-disk Walkman using a Raspberry Pi (shkspr.mobi)
194 points by edent on Sept 7, 2020 | hide | past | favorite | 102 comments


Tangent. I had a Minidisc player for a while circa 1997 (bit hazy). It was so awesome. I spent a lot of time putting tracks on the minidiscs.

I always wanted to be able to use it with a computer to store files as well, alas that required a special drive. While it existed never really took off (at least in Australia).

Memory chips might be the future, but minidiscs still look cooler. Cool enough for Neo to sell one in the Matrix :D

https://www.youtube.com/watch?v=kU3BceoMuaA


I bought a Sony MD-N707 not too long back which I'm using as a nice way to chill out without screens, and for recording Shortwave radio overnight off a Sony ICF-SW7600GR world band radio. The MD-N707 has a cool maintenance mode feature accessed via a Konami code that lets you patch an EEPROM to enable features from other models.

My only gripe with NetMD is that you can put things onto MD from a computer, but it's an analogue trip back for recordings. This was an architectural decision due to DRM restrictions. One day I'd like to have a go at trying to bypass this, but it looks like a massive pain in the hole and I only have one MD recorder.


Back in the day it was easy to make digital copies from CD to MD using an optical (toslink) cable. This method would preserve the track markers accurately which was hugely convenient! It wasn't lossless, of course, since MD is itself a compressed format, but the results were pretty good compared to say the MP3s of the era.


Yeah my N707 has an optical in but shakes fist no optical out :(

That does sound really cool that it preserves the track markers though!


I bought a PS2 at one point because it had an optical audio out (and DVD player), gaming was secondary.


I believe Minidisc was also the medium of choice in "Strange Days", a pretty good and still very relevant movie that gets mentioned rarely for some reason.


I always thought that "Strange Days" was one of the prime examples of "underrated movies", so it often gets mentioned that it gets rarely mentioned ;)

(Another movie I'd put in this group, Arnold Braunschweiger's "Last Action Hero" incidentally also has some mini disc usage)


I had one of those as well, it was a great device! I finally traded it for a harddisk based MP3 player somewhere early 2000s, one of these: https://www.cnet.com/reviews/iriver-h120-20gb-review/

And then in the years after I found out that there is an open source firmware for them at rockbox.org, contributed to the project for a few years until at some point the iPhone (3? 4? something around there) with Spotify completely replaced my MP3 player needs.


Me too! I used to love minidiscs back in the late 90s. I started out with a Sony MZ-R30 and moved on to a half a dozen other models. I was very lucky that I was able to convince a dozen or so friends to adopt minidiscs so we had a nice network for creating and trading discs.

I even ran a website devoted to equipment (not nearly as successful as minidisc.org). Now I'm nostalgic. It is really too bad that Sony kept the ecosystem so locked down. It was far superior to fragile audio CDs.


I had exactly the same desire. It’s crazy how locked down the minidisc ecosystem was though.

I remember playing with the Sony software to put tracks on my minidisc player, encoding then with AAC to get better compression. The thing felt great to use, much better than early MP3 players (the USB thumb drive style ones) but they were superior in nearly every way that mattered. (You could store files on them, more tracks, more battery life).

Anyway. That was a nostalgia trip.


I always loved that scene! that minidiscs used for data in underground, illegal things sounded so cyberpunk-ish!


They released a 1gb "Hi-MD" disc in the same form factor in 2004 that never took off.


What I most liked about the portable Minidisc players at the time was how much playtime you would get out of a single AA battery. on the ballpark of 20-30 hours, not kidding.


Being from a country where minidisc was never a thing, I sometimes wonder what was it like to use a technology that no one around you ever had at the time. And I mean I'm not sure you could buy any of the minidisc stuff even if you specifically went looking for it.

We had cassette walkmans, then CD players, then mp3 players.


I saw floppy-disk Walkman in 1961 in Helsinki. It was a dictaphone using brown circular pieces of floppy plastic. A doctor was using it, trying to decide if I had tuberculosis or tapeworm. I had rickets.


My first thought when I saw the title and the picture: oh, it won't be that bad — you could use Opus to compress a song with passable quality to fit on a floppy.

Author: uses Opus but puts an entire album on there.


This has left me wanting to run tests to see what level of compression is required to not trigger Content ID on youtube.


A proxy for that might be running it through eg. Shazam, I think they use similar tech.

From what little I've heard they make a spectrogram (frequency, intensity, time) and plot the peaks into a point cloud. Most of those should survive even the heaviest audio compression.


I uploaded the real audio encode of dark side of the moon, I had it set to the highest compression.

It took over a week but it was eventually flagged, and tagged correctly.

I’m guessing those stories of faint music in the background being tagged are real.


The sample 64k MP3 is 452KB, or over 1/3 of a floppy, yet is less than 57 seconds long and corresponds to a rate of 8KB/s. The fact that Opus can encode the same quality (or lack thereof...) with less than 1KB/s is amazing. To me, it sounds only slightly worse than music played over a POTS line.


I think the author may have gone: wav -> opus -> MP3. With the MP3 bitrate chosen to ensure no further quality loss.

I don't think from the provided MP3 we can tell if that is equivalent to the encoded opus format. We would need to encode to both from wav to make that comparison


Yes, that's what I did. Opus plays in all browsers except Apple's. So I went for an mp3 bitrate which didn't degrade the sound any further.


Could you not just unpack the opus file into a pure uncrompressed .wav which I'm pretty sure all browsers will support. Or if you don't mind dropping legacy-IE support, FLAC would be an option.

Or would the extra bandwidth be enough to be a worry?


I really like this! I want to see it get a little easier to be carried around, but I want to build one! I'll be able to use my Sony Mavica to take pictures on floppy disks and my floppy-walkman to listen to music from floppy disks!

Now I also wonder what other horrendous uses of floppy disks there could be... I'm thinking it could be fun to store server web pages (without caching)... Or maybe to play some video feedback?


Around 1996-97, there was a Linux-based firewall/router that booted from a single 1.44MB diskette. iirc, it needed a very small amount of RAM too, something like only 8MB. The diskette could be used with write-protect enabled to prevent accidental (or malicious for that matter) modifications to the diskette contents. I believe it also had an SMTP relay. It was particularly useful for sharing dial-up and DSL connections at a time when commercial solutions would’ve been much more expensive than a stripped down repurposed spare computer with no hard drive. A bit hard to imagine now, but back then it was pretty fantastic to have an Internet connection shared between computers on a home or small business network.

Edit: Found its Wikipedia page! [0]

[0]: https://en.m.wikipedia.org/wiki/Linux_Router_Project


Boy, does that bring back memories. I used precisely such a repurposed PC with this back in the day, to juggle two DSL circuits into our office.

Of course, a thumb drive can host a far more sophisticated router these days.


I remember downloading my first mp3 from Napster (Star Wars Opening Fanfare) and thinking it wouldn't quite fit on a floppy.

Also deleting it a few days later to save space on my 4GB HD.


I wonder what other interesting audio delivery/distribution formats we could build players for:

- game boy cartridges (or even larger cartridge formats)

- zip discography disks (i.e. one disk per artist)

- small internal ram, transmission via infrared

- eprom chips


Most Game Boy cartridges are just a NOR chip accessed through a parallel interface, so the only difficult part would be building the connector, then you could just bitbang to get to the data.

Unless of course you want to actually play the audio on the GameBoy, in which case the very weak CPU and unsuited SPU will make it difficult to achieve anything resembling proper audio. Of course that didn't stop people from trying, with quite impressive results given the limitations: https://www.youtube.com/watch?v=DQLTYe0Gn70


> small internal ram, transmission via infrared

Sneakernet, yet contactless, nice! The devices could exchange their most-listened tracks and overwrite the least-listened tracks.


I'm disappointed; I thought it would involve storing audio in analog format on a floppy disk.



Similarly, there have been photo cameras that used floppies for image storage, and I'm not talking about sony's Cybershoot cameras which stored photos as actual files - I'm talking cameras which just stored photos as analog signal directly on the floppy, in NTSC format!

https://www.youtube.com/watch?v=4G_1uy_7B5w


Cool, wasn't aware it was possible to store an analog signal on a floppy using an unmodified disk drive. However, going from how often you hear the stepper motor in the video, the disk would fill up pretty quickly - I wonder how much analog music you could fit on a floppy with some optimization (slower rotation, tracks spaced more closely until crosstalk becomes an issue, maybe a spiral track like on a CD). My gut feeling is that you could fit more than 30 minutes on there...


Interesting question. I'll try some rough calculations.

A C60 audio cassette holds 30 minutes per side, and the tape is ~85 meters long (https://en.wikipedia.org/wiki/Audio_tape_specifications#Comp...).

The diameter of the actual disc in a 3.5-inch floppy is 85mm (https://en.wikipedia.org/wiki/History_of_the_floppy_disk#.E2...), so the circumference of the outer track should be about pi * 0.085m or 0.25m.

There are normally 80 tracks (https://en.wikipedia.org/wiki/List_of_floppy_disk_formats#Ph...), so if all tracks were as big as the outer one, that would give you about 20 meters.

In reality, inner tracks are shorter. I can't easily find the inner diameter, but from pictures it looks like it's about 1/3 the outer diameter. So the track lengths (circumference) should grow linearly from 1/3 to 100% of the outer diameter, which means the total track length should be 2/3 of 20 meters or ~13 meters.

To sum all that up, with 80 tracks, there seems to be about 13 meters of linear space the head can travel across, or about 15% of the length an audio cassette uses for 30 minutes. If you recorded at the same linear speed as a cassette, you'd get 15% of 30 minutes.

But running a cassette at half speed is definitely practical (https://en.wikipedia.org/wiki/Audio_tape_specifications#Tape...), and machines were even sold with a setting for that. So double that to 30%.

And there are a handful of floppy formats that use more than 80 tracks (one even uses 240), so let's assume 160 tracks is possible. So double again to 60% of 30 minutes.

And that's just one side of the floppy, so using both sides means you can double again to get 120% of 30 minutes. So yeah, it seems possible! (Which incidentally is NOT the answer I was expecting.)

If the 160 tracks thing doesn't work out, you could probably compensate slowing the rotation more.

On a side note, the two-sided thing creates the potential problem of a gap at the 15-minute mark. Apparently there are read/write heads on both sides (https://computer.howstuffworks.com/floppy-disk-drive2.htm), so I guess you could do the transition by recording a few seconds of audio on both sides, then cross-fading between them. In other words, start at the inner edge of the disk, reading from one side for 15 minutes as you slowly move the head to the outer edge of the disk, then cross-fade to the other head and continue back for another 15 minutes back toward the inner edge of the disk. You would need to have a good method for being sure you make this transition at the right time, though.

Or you can always just record 15 minutes of stereo sound, reading each channel from one side of the floppy.


Or using MIDI "compression": https://www.youtube.com/watch?v=5ks3ucumilU


with a tiny little needle that would touch when the metal shield was moved out of the way?


nope, magnetically, like on a cassette tape...


> A floppy disk can hold a maximum of 1,457,664 Bytes.

Ahhh, the kids of today.

Having started with the 133mm 1541 on the Commodore 64, with its double-your-disk-capacity-with-a-hole-punch, and then onto the Amiga with its 89mm disks of 880KB capacity, and then working on Honeywell front end processors in the early 1990's with their 203mm disks with around 240KB ...


Still have my doubled C64 floppies, of which some were horribly scarred by the big blunt scissors I started out with.

You could also convert Amiga floppies from single to double density by adding a hole, giving you 1760kB. I didn't have money for quality disks, and found that "punching" the hole with a hot soldering iron lead to less problems than using what was probably the wrong bit in my dad's drill.


RISC OS is the original OS for the ARM chip, and the Raspberry Pi can run it natively. It apparently doesn't support floppy disc drives (the Pi lacks the interface, and USB drives appear like USB memory sticks to the OS). If it did, the ADFS (Advanced Disc Filing System) would format discs to 800 or 1600KB.

https://en.wikipedia.org/wiki/Advanced_Disc_Filing_System

(PS, it's 90mm. Odd that even outside the USA we said 3½ inches.)


Ahhh, you kids that started with the Commodore 64/1541 and 170k of capacity.

I started with a TRS-80 Model 1 with a Shugart SA-400 drive connected to an expansion interface. 85K capacity.


Well, I started with a VIC20 and a tape drive -- but in terms of floppy disks, that wasn't until sometime after the C64 arrived.

My neighbour was a developer working in assembler, producing games for the TRS-80, and my first 'real' (as in monies being handed over) job was as a tape-copying, paper-folding, inserting-both-into-a-ziplock-bag monkey.


The original comment was regarding floppy drives so I mentioned the first computer with a floppy drive I used. The first computer I would have used was my father's Heathkit ET-3400 microprocessor learning system in 1976. That required each time typing in the machine code for the high/low game I played on it. The TRS-80 Model 1 was purchased a year or so later and originally had a tape drive.


C64 tape with turbo holds ~1MB


Reminds me of the Neuromancer computer game sound track by DEVO https://www.youtube.com/watch?v=pNmpTIMxmrU (granted this was only heard during the intro, the actual game ost was a chiptune remix)


some 80's tracks suitable for encoding on 1,44 MB disks:

https://www.youtube.com/watch?v=cI3tE9wNL5s (1985, JP)

https://www.youtube.com/watch?v=GjOvzWJbFdA&t=20 (1989, SU)

https://www.youtube.com/watch?v=notKtAgfwDA&t=40 (1985, US)

(ok, he doesn't really have the hairstyle, but he does wear gloves)


Nice selection, haven't heard Megazone 23 in a while.


Hatsune Miku (時祭 イヴ) concerts are a thing now, as is synthwave (retro 80's). Now all we're missing are manipulative governments engaged in secret wars, and the mecha?


“ buffer-underruns” choke me neatly. Those were the days of cd based Walkman. Not sure it happens to cassette tape one.


I suddenly feel the need to build a Floppy-drive Walkman that plays mods and MIDI files on the inserted floppy.



This reminds me of the days in high school of compressing the hell out of my MP3's to 64kbps or such just to fit as many on my 64(?)MB generic MP3 player at the time. What an adorable project.


Cool :), I've been working on a 3d printed case for a floppy disk walkman, for old PC floppy disk drives -

https://github.com/anfractuosity/turbodrive

I had the case 3d printed, but need to finish the electronic side of things.

I bought some music from - https://strudelsoft.bandcamp.com/ (which comes on a floppy disk :)


Wasn't there a way for Linux to format 3 1/4 inch floppy disks beyond the standard 1.44MB all the way to 2MB? Or was that simply using a compressed filesystem?


Many of the "extra large floppy" tricks don't work with USB floppy drives, and require a "real" drive.


I seem to recall the Windows 95 or 98 install floppies being 1.68MB each, but you could go further. If I remember right this involved either reducing redundancy in the FAT or increasing cluster size.

Looks like this came up on HN before: https://news.ycombinator.com/item?id=19583531


While they did tweak things like the number of root entries and such, the main way to get more space was simple to cram more sectors onto each track than the standard format (and make sure they weren't using cheap floppies that couldn't work correctly with the extra data density).

Some cheap/grotty/dying floppy drives were not happy either the extra data density either, though that was a rare problem (anecdata: I experienced one drive that didn't like the format but would read everything else I expected it to).


There was also an official standard for 2.88MB floppy disks which never caught on much, and by the time it would have been useful the zip disk, ls100 and CD-R drives killed it. Finding media for it now would probably be difficult and costly.

The floppy drive seen in the adapter with the small ribbon cable is the same from x86 PC laptops around 2002. I don't think any slimline type 2.88MB drives were made, only desktop size.



I did look at that, but I couldn't quickly find a way to get the Pi to read them.



A “1.44MB floppy” referred to it's standard, IIRC, FAT formatted capacity; it actually had a 2MB total capacity.


Yes, the ultimate (unformatted) capacity of the medium is rougly 2 million bytes, and includes the sector headers as well as the gaps to account for rotational speed variance. The calculation is as follows:

A 1.44M drive nominally writes at 500Kbit/s and spins at 300RPM, i.e. one track takes 200ms and 100Kbit are written. There are 80 tracks so 8000Kbit on one side, or 16000Kbit on two sides, corresponding to 2Mbit in total.

By writing "long sectors" that take up the whole track, omitting almost all the overhead and gaps, and using up to 82 tracks, the 2M utility I linked in another comment here manages to reach very close to that limit.


In the 90s there used to be a web page for linux describing all the possible physical formats and one interesting side effect was changes in average kilobytes/sec transfer rate.

Obviously more tracks simply took longer to read more data in a linear fashion but there were weird interactions where long sectors increased average bandwidth, mostly.

I'm old enough to manually set interleave parameters on hard disks in the early 80s, so that was interesting. I don't remember interleave optimizing on floppies but I may just forget.


You could also fit many MIDI soundtracks from old DOS games onto one floppy disk.


If you excuse the self-promotion, I started working on this in 2018, that I'm still hacking on. I'm happy to answer any questions people might have.

Blog post: https://terinstock.com/post/2018/09/Hardware-MIDI-Player-Par...

FOSDEM Talk: https://terinstock.com/talk/2019/02/Building-a-Hardware-MIDI...


Impressed with your kernel patch, nice story.


Thanks! I spent over a week trying to track down when the bug was introduced and ended up git-bisecting to the commit I already thought was interesting. My mistake for not checking first. If it had taken any longer, I probably would have lost all momentum for the project.


This looks great



It's even got a headphone jack!


Ha! Perhaps I should have used a Pi Zero and Bluetooth dongle.


When real audio 2.0 was released it was possible to get the encoder. So back in the mid 90s I ripped Dark aside of the Moon to wave (I had a massive SCSI disk) and transcoded it to the smallest settings. I got it down to two 5 1/4” disks.

I revisited the experiment a few years ago here:

https://virtuallyfun.com/wordpress/2017/04/20/getting-first-...

Now I’m wondering why I didn’t go all the way and make a custom player...


Back in the days, I had a miniCD mp3 player.

250MB per disk and only half the size of a regular CD mp3 players, which were the way to go back then, because everything else didn't have enough space or was too expensive.


Ah, I was working on a similar idea when I was in upper secondary school. But I was unable to do get what I want with my very limited electronics knowledge back then :)

I was thinking of storing and playing the data in an analog way, pretty much like a regular compact cassette meant for audio. I thought it was a better idea after seeing audio casettes can store 60/90 minutes of audio but they can hold only very little digital data (I had a commodore that I found in my grandma's cellar and those casettes were my unit of measure)


Next step might be to have the SD card store only the bootloader, and have said bootloader load Linux into RAM from one or more floppy disks.

Don’t know how small you can make Linux but for example there is https://hackaday.com/2020/07/08/the-latest-linux-on-a-floppy... and also there are some Linux distros for routers etc that can be made very small such as OpenWRT


Originally I thought someone fit a pi zero into a floppy with some lipo power and a ...


That has a certain deformed beauty that appeals…

> Sadly, the Pi Zero doesn’t have an an audio out jack. But the USB floppy drive is pretty big, so we don’t lose much space by going for a full-sized Pi.

You could use a ZeroW which has bluetooth, and a bluetooth-to-3.5 adaptor to allow a wired connection. That would take less space than a full-bodied Pi and add extra parts to the hack for a bit more "dear [deity], why would you?" goodness!


I looked at getting an HDMI to Audio converter. But I couldn't find one which could be powered by USB.


Getting audio out on a pi0 requires a little bit of hardware hacking, but it's not at all impossible - the signal is there, you need a handful of components and some device tree settings: https://learn.adafruit.com/introducing-the-raspberry-pi-zero...


Do they need power? I use an hdmi to rca and it's not powered.

Edit: it did come with a usb cable to plug into it, but I never needed it. Unfortunately I don't know enough about hardware to know what's going on.


FWIW, PCM5102 boards off ebay are about $5 and work perfectly with the pi0. They don't support hardware mixing or volume control, but the sound quality is surprisingly good.


If you give up on the idea of having an entire albums, a floppy disk can easily contain even a fairly long single track at nearly-CD quality.


Or you could store all your music files in the sd card and store playlists in the floppies. Then, inserting a disk would only be a fancy (and wonderfully inconvenient) way of choosing what to play.


That's very true. A 3 minute single compresses nicely down to floppy size using Opus - with very little quality loss.

But who can be bothered changing a disk every few minutes? ;-)


In fairness, that would be no worse than singles released on CD / cassette / vinyl


The very first mp3 I got my hands on, I took home from uni on three floppy discs. It was jawdropping that a whole song could fit in that small a space.


forget CD wallets, you could have a whole album in a floppy wallet


It's almost as if that's the origin of the term "album" for a collection of singles, huh.


Don't copy that floppy!


I love this because it's nostalgia for something that wasn't even a thing - music on floppy disks!

Minidisc execpted.


Now I'm wondering if I can encode movies onto an 8-Track...


And then you can compress everything down to the number 42.


I used to bring collections of mod tracker files on floppy when I visited friends!


This really makes me want to see someone recreate the Sony Mavica digital camera using a Pi and a USB floppy drive. Those things were awesome back around 1999. Would be pretty straight forward.


Clearly this should be called the Floppy Diskman.

https://en.wikipedia.org/wiki/Discman


Similar in size to many portable setups you already see on HeadFi.


I found it funny that it actually sounds like crappy AM radio.


> (I’ve re-encoded it to MP3 in order for it to play in the browser.)

Opus plays fine in browsers that aren't apple-patent-lock-in-ware.


as horrifying as tempting


love it




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: