Categories: 工作・開発

個人が2分の曲を紙に印刷、8個のQRコードで1000分の1に縮める

QRコードに曲を丸ごと入れて、紙に印刷して持ち歩く。実際にやろうとすると、桁が合わない。QRコードは最大規格でも3KB程度しか入らないのに、数分の曲はMP3にしても数MBある。1000倍の開きがあり、単純に詰め込めばQRコードが1000個近く並ぶ。それはもう音楽メディアとは呼べない。Makestremeを名乗るMakerは、この差をどう埋めるかに取り組み、2026年8月14日、曲を紙に印刷して再生する「Paper Tunes」の全手順とソースコードをGPL3+で公開した。

思いついたのは、大きなQRコードを探すことではなく、曲そのものの表し方を変えることだった。実験に使ったのは2分7秒の曲で、MP3のファイルは約2.9MBある。MP3はすでに非可逆で圧縮されているため、ZIPをかけても小さくならない。そこで使ったのがMetaが公開している音声用の符号化器EnCodecだ。波形を音の断片ではなく、離散的な符号の並びに変換する。同じ符号化器を持つ相手だけが元の音に戻せる、圧縮された言語に置き換えるようなものだ。

最初の実験では目標の伝送速度を毎秒3キロビットに設定した。2.9MBのMP3は約21KBまで縮み、およそ1000分の1になった。毎秒1.5キロビットも試したが、復元した音は大きく劣化したという。

21KBでもQRコード1個には入らない。同氏は1個あたりの容量を限界まで詰めたが、3.3KB前後で頭打ちになった。そこで発想を変え、8個に分けることにした。データを8つの塊に切り、それぞれの先頭に番号を付ける。読み取る側は番号を見て順序を並べ直すため、どれから読んでも構わない。

並べ方には昔の媒体を持ち込んだ。片面に4個ずつ置いて両面で8個とし、レコードのように途中で裏返す形にしている。QRコードの周囲には読み取り用の余白を確保し、普通の紙に原寸で印刷した。

復元する側は両面の画像から8個を読み取り、番号を取り除いて結合し、元のデータに戻してEnCodecの復号器に通す。紙の上にあるのは曲へのリンクではなく、曲を組み立てるデータそのものだ。

同じ21KBのデータを、無線でも送っている。使ったのはESP32を2枚とREYAXのLoRaモジュールRYLR998で、あいだにルーターもクラウドも携帯回線もない。送信側はファイルを小さなパケットに割り、受信の確認を待ってから次を送る。届かなければ送り直す。受信側は番号を確かめながら書き込み、最後にバイト数の一致を検査する。復号はパソコンで進めた。

弱点も残る。QRコードの生成では密度を優先して誤り訂正を最も低い水準に設定しているため、1個でも傷むと曲は戻らない。紙に残るのは音ではなく符号なので、再生には符号化したときと同じ復号器が要る。公開されたコードは24kHz用のモデルを指定している。同氏は次の段階として、低い伝送速度での音質、QRコードの符号化の効率、印刷が傷んだときの復元、LoRaの速度を挙げ、パソコンを介さずスマートフォンだけで完結させたいとしている。

関連情報

FabScene編集部

FabScene編集部