Chopher is a for fun experimental project that hashes files as music.
For a given file Chopher will go through it's bytes and create a song. The first 16 bytes of a files determine the scale and the key note of the song, and the rest are used to determine the notes from the scale.
Chopher automatically determines whether a note can be part of a chord that fits the current scale, or if it should be a standalone note.
To generate the sound the Karsplus-Strong algorithm is used, but I think the implementation can be much faster. Due to the speed of the implementation the songs are limited to 200 notes.
If uploading files to random servers is not your thing, you can checkout main.wav
in this folder which is the sound produced by uploading main.go
.
Development of chopher will continue in my repo: Aorioli/chopher