The Bleep Machine

The Bleep Machine

Algorithmic Music Generated entirely on-chain from EVM bytecode. Inspired by ByteBeats

Carousel Gallery Item: 1
Carousel Gallery Item: 2
Carousel Gallery Item: 3

Last updated: 18 September 2022 08:10 AM

Created project

The problem The Bleep Machine solves

What if you could let the EVM sing?

The Bleep Machine allows you to create algorithmic music using EVM bytecode. Its main inspiration is the bytebeats. The bytebeats (re)discovers the possibility of generating interesting musical sounds using simple mathematical formulas. This was fascinating to discover the possibilities. You can find out more about this topic here: http://canonical.org/~kragen/bytebeat/

The Bleep Machine reimplements this system completely in solidity/EVM bytecode with the constraint of the Ethereum virtual machine (see the yellow paper by Dr Gavin wood)

This lets anyone submit bytecode to generate music. You can see a basic example of such bytecode in the demo. And since the whole WAV file is generated by the contract it thus relies on zero infrastructure for the listeners, except the access to a browser with web3 access. Zero Ipfs. Zero backends.

Next step is to integrate it with an interesting economic model that will foster creativity.

Challenges I ran into

Assembly / bytecode development is tricky but learnt a lot from it (especially with the handy yellow paper at hands :))

This was a refreshing look on ethereum development

Wanted to integrate a mathematical formula parser in the frontend but run out of time. Artists currently have to use raw opcodes which could be more friendly

The frontend also need to support more features to show minted music as well as your music. I run out of time and created a separate page to display the latest art minted instead with hot reload.

The SVG part to give the audio a face was done in the last hours and could be improved.

A economic system will also need to be designed and got some idea to explore later.

Discussion