File name: audiomaps-piano-smoke.bin
File type: application/octet-stream (a small bundle of Opus/OGG audio)
Use case — instruments on chain. This is a pack of piano notes (Opus in an Ogg container) that the browser reads back with readFile() and decodes through the Web Audio API to play. It's part of Audio Maps (audiomaps.sunken0x.art) — feed it any Ethereum input and it composes a piano piece, with the instrument itself living on EthFS. Read the bundle back and every note returns byte-perfect and plays.
Suggested preview: an inline <audio> player for audio/* types (audio/ogg, audio/opus, audio/mpeg) so a single sample plays straight from the file page. For packed bundles like this one (octet-stream), even a short "binary — decode in your own renderer" note would help.
Data point for #21 (make base64 optional): base64 storage added exactly 33% to the on-chain size — a 76 KB pack became 101 KB stored. A raw-bytes option would cut audio-storage cost meaningfully. Happy to help test.
File name: audiomaps-piano-smoke.bin
File type: application/octet-stream (a small bundle of Opus/OGG audio)
Use case — instruments on chain. This is a pack of piano notes (Opus in an Ogg container) that the browser reads back with
readFile()and decodes through the Web Audio API to play. It's part of Audio Maps (audiomaps.sunken0x.art) — feed it any Ethereum input and it composes a piano piece, with the instrument itself living on EthFS. Read the bundle back and every note returns byte-perfect and plays.Suggested preview: an inline
<audio>player foraudio/*types (audio/ogg,audio/opus,audio/mpeg) so a single sample plays straight from the file page. For packed bundles like this one (octet-stream), even a short "binary — decode in your own renderer" note would help.Data point for #21 (make base64 optional): base64 storage added exactly 33% to the on-chain size — a 76 KB pack became 101 KB stored. A raw-bytes option would cut audio-storage cost meaningfully. Happy to help test.