8月17日消息,创客Makestreme近日把一首两分钟的歌印在了一张纸上,双面各四个二维码,排成一张纸唱片。
这首歌原本是个2.9MB的MP3文件,单个二维码实际能存的数据上限只有3.3KB左右,要塞进八个二维码,得压到约21KB,相当于缩小1000倍。传统压缩方案也帮不上忙,MP3本身就是有损格式,再压已经压不动了。
Makestreme用的是meta 2022年开源的EnCodec神经音频编解码器,把音频波形转成一串离散token,解码时再由神经网络还原成声音。
在3kbps码率下还原出来的听感还不错,但降到1.5kbps就明显失真了,21KB刚好卡在可接受的音质线上。
存是存下来了,传出去也是个问题,这套方案通过LoRa无线电台在两块ESP32开发板之间传输同一份21KB文件,使用REYAX RYLR998模块在866MHz频段通信,以160字节为一个数据包发送并采用确认重传协议。
发送端代码在每次确认后硬编码40秒等待间隔,21KB文件约需134个数据包,仅等待时间就累计约90分钟。
将软件印在纸上的历史可追溯到1985年的Cauzin Softstrip,这是一种二维条码,允许杂志以每条最多5500字节的速度发布程序,后来软盘便宜了就没人用了,当年那些条码现在几乎没人能读取。
这次的项目继承了同样的问题,二维码存储的是token而非音频,播放必须依赖EnCodec特定的24kHz解码器。纸张或许能保存数百年,但歌曲的寿命取决于能否找到可以解码它的神经网络。











