Generating random data is incredibly hard, and most of the random data around you isn’t truly random, but merely pseudo-random. For really random data, you’ll have to look at something like radioactive decay or *holds up spork* something like this. YouTube commenters will also suffice. The idea of using random data for generating musical notes is nothing new, but [Danny]’s experimental MIDI controller is something else. It’s a MIDI controller with the control removed, generating random musical notes based on radioactive decay.
The design of this controller is based on an off-the-shelf Geiger counter kit attached to an Arduino. The Arduino code simply counts up in a loop, and when the Geiger tube is triggered, an interrupt sets off a bit of code to generate a MIDI note. That’s simple enough, but where this project excels is its documentation. There’s a zine going through all the functions of this MIDI controller. There are single note or sequencer functions, a definable root note and scale type, an octave range, and velocity of the note can be set.
This is just a MIDI controller and doesn’t generate any noise on its own, but the video of the device in action shows off the range. [Danny] is getting everything from driving bass lines to strange ambient music out of this thing with the help of some synths and samplers. All the code and necessary files are available on the GitHub, with the video available below.
I am not sure what the practical applications are, but this is very cool. Decades ago I would take MIDI drum patterns and change the module to a synth to see what new textures I could create. This looks like a lot more fun!
Thanks for the info.
8266 with wifi turned on is pretty good for random bits, so no need to go down this route…
Just don’t debounce your button and you’ll get random data
Curious how this compares statistically to say the SAM L21/L22 which claims to have a “True Random Number Generator”?
http://ww1.microchip.com/downloads/en/AppNotes/Atmel-42444-SAM-True-Random-Number-Generator-TRNG-Driver_ApplicationNote_AT10732.pdf
PN junction avalanche noise, very easy and actually random.
Thanks for the write-up!
I know there’s other, easier ways of generating random numbers – this was as much an artistic endeavour as it was an engineering one. From an artistic point of view there’s very little difference between pseudorandom and truly random, but the Geiger counter is an interesting thing to use.
I’ve not mentioned it in the documentation, but one idea I had was to use it as the basis for a live performance which involves various radioactive objects and different levels of shielding, effectively using the radioisotope as the music source.
Please make this into an IOS (or VST) app! Would be super useful for lots of people!!! Thank you!