I thought he'd transmit a PNG over a modem, get a bird to memorise that and play it back. I think with the right format it should be possible to do that. With enough birds I imagine you can store quite a bit of data. Takes saving to the cloud to another level.
>I thought he'd transmit a PNG over a modem, get a bird to memorise that and play it back.
That's essentially what he has done. Except he did the modulation/demodulation with audio software (and, technically, stored a monochrome bitmap, not a PNG).
Dial-up modems encode data in audio-frequency. Later modems used phase-shift keying¹, but the very early ones used frequency-shift keying², which is essentially encoding data in a frequency graph - i.e., drawing a line in a spectrum analyzer.
Drawing a bird in a spectrum analyzer is packing much more data than that; it's like playing several of those streams at once.
The bird has shown itself to be capable of remembering and reproducing multiplexed frequency-keyed streams.
>With enough birds I imagine you can store quite a bit of data. Takes saving to the cloud to another level.
It's analog though. Presumably the shape of the image matters, like horizontal lines are easier than vertical, it's not just a bitmap. He made the point of how many KB you can store in the song, but is it right? There are different conceivable ways to store binary data in that. I have no idea how efficient it'd be to get something 99% reliable.
He said 176KB of entropy in that 1-second birdsong, which doesn't seem close. That's more than the bitrate of a typical M4A, for a much simpler sound.
Thinking about it in reverse, how much data would it take to encode 1 second of birdsong in the most efficient audio codec I can imagine. If M4A or MP3 with the bitrate slammed way down isn't a fair comparison, then some birdsong-specific ML autoencoder... Probably 500 bytes? Would still be enough for a Twitter tweet.
Inspired by the video I vibe coded up an application that lets you encode data in FSK and read the data bits back from a noisy recording. I think it would be fascinating for someone to try this!
https://github.com/sequoia-hope/starling