Generate small sequence of music from commit SHA
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
assets
lib
scripts
.gitignore
index.html
readme.md
style.css

readme.md

CommitBeat

Generate small sequence of music from commit SHA.

Demo available on maxwellito.github.io/commitbeat

Why?

This is a stupid experiment like many others, to make music from an existing source of data. It was mainly inspired from the Yamaha's Tenori-on. To make it more interesting, the script is using different sources of sounds: the Tenori-on and the TR-808. This make me realised that I'm absolutely sh**e at music and the music generated is closer to terrible noise than poppy music. So if you're a zicos, please help. (Yes, that's a desperate call).

About technologies you will mention no AngularJS, no React, no Webpack, no Backbone, no jQuery, no Gulp or Grunt, no package.json, no MAKE file, no requireJS, no tests, no unicorns, no Peter Griffin no here no... WHAAAAAAT!??

Let's face it for two seconds: this is a very small app and a fun experiment. Do I really need a bloody heavy framework to update the textContent of a DOM element?? (Spoiler alert: NO!)

How's the hash is splitted?

Here is a hash : 169feb2702632459cb0eb37bf24a20e1d840f78c

169feb2702632459cb0eb37bf24a20e1d840f78c
--                                       BPM
  --                                     Instruments
    ----                                 ???
        -------------------------------- Grid

BPM

The BPM is on 2 hex, it's converted to integer then add to 60. Making the range from 60 to 315.

Instruments

There is 2 different maps of instruments: the Tenori-on and the TR808. Each map contain 8 notes, but there's only 8 channels, this is why the code make a mix of both. The mix is made from 2 hex, if 0 the note will be the Tenori, if 1 the note will be the TR808.

???

Open to suggestions

Grid

The grid is similar to the Tenori-on one, but with only 8 different channels. To generate it, it will use the last 32 hex. Once splitted into chunks of 4 hex, each of em will define the pattern of each channel.

License

As you can see there's no LICENSE.md because I'm not really sure about the rights to use these sounds. But about the code, feel free to fork it or whatever.