
A floppy-disk Walkman using a Raspberry Pi - edent
https://shkspr.mobi/blog/2020/09/a-floppy-disk-mp3-player-using-a-raspberry-pi/
======
vertis
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](https://www.youtube.com/watch?v=kU3BceoMuaA)

~~~
iuguy
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.

~~~
Reason077
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.

~~~
iuguy
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!

------
timonoko
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.

------
grishka
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.

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

~~~
andai
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.

------
userbinator
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.

~~~
comradesmith
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

~~~
edent
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.

~~~
dspillett
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?

------
bArray
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?

~~~
alt219
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](https://en.m.wikipedia.org/wiki/Linux_Router_Project)

~~~
flyinghamster
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.

------
dwighttk
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.

------
mhd
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

~~~
simias
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](https://www.youtube.com/watch?v=DQLTYe0Gn70)

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

~~~
bittercynic
It's been done!
[https://www.youtube.com/watch?v=ziVXF_tM4Gw](https://www.youtube.com/watch?v=ziVXF_tM4Gw)

~~~
rob74
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...

~~~
adrianmonk
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...](https://en.wikipedia.org/wiki/Audio_tape_specifications#Compact_audio_cassettes)).

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...](https://en.wikipedia.org/wiki/History_of_the_floppy_disk#.E2.80.8B3_1.E2.81.842-inch_format)),
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...](https://en.wikipedia.org/wiki/List_of_floppy_disk_formats#Physical_composition)),
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...](https://en.wikipedia.org/wiki/Audio_tape_specifications#Tape_speeds)),
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](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.

------
Jedd
> 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 ...

~~~
tssva
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.

~~~
Jedd
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.

~~~
tssva
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.

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

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

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

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

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

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

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

~~~
082349872349872
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?

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

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

~~~
082349872349872
after that, add visuals:
[https://www.youtube.com/watch?v=sNCqrylNY-0](https://www.youtube.com/watch?v=sNCqrylNY-0)

------
lostgame
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.

------
anfractuosity
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](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/](https://strudelsoft.bandcamp.com/) (which
comes on a floppy disk :)

------
someperson
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?

~~~
nitrogen
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](https://news.ycombinator.com/item?id=19583531)

~~~
dspillett
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).

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

~~~
terinjokes
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...](https://terinstock.com/post/2018/09/Hardware-MIDI-Player-Part-One/)

FOSDEM Talk: [https://terinstock.com/talk/2019/02/Building-a-Hardware-
MIDI...](https://terinstock.com/talk/2019/02/Building-a-Hardware-MIDI-Player/)

~~~
daniellarusso
Impressed with your kernel patch, nice story.

~~~
terinjokes
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.

------
jmull3n
It's even got a headphone jack!

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

------
scruffyherder
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-...](https://virtuallyfun.com/wordpress/2017/04/20/getting-first-side-
dark-side-moon-onto-floppy-diskette/)

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

------
k__
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.

------
kedikedi
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)

------
codetrotter
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...](https://hackaday.com/2020/07/08/the-latest-linux-on-a-floppy-
in-a-486/) and also there are some Linux distros for routers etc that can be
made very small such as OpenWRT

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

------
dspillett
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!

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

~~~
gruturo
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...](https://learn.adafruit.com/introducing-the-raspberry-pi-
zero/audio-outputs)

------
LeoPanthera
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.

~~~
867-5309
forget CD wallets, you could have a whole album in a floppy wallet

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

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

Minidisc execpted.

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

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

------
pridkett
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.

------
pimlottc
Clearly this should be called the Floppy Diskman.

[https://en.wikipedia.org/wiki/Discman](https://en.wikipedia.org/wiki/Discman)

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

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

------
nullc
> (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.

------
agumonkey
as horrifying as tempting

------
ionwake
love it

