1000 Wittle Bits writes music using random numbers. It starts with a random note in a key chosen at random, the instrument is chosen at random (among hundreds of possibilities supported by MIDI), and the length of the note (ranging from 32nd note to multiple measures long) is chosen at random. The next note is determined by choosing a random number of half-steps (positive or negative, including 0) to move up/down from the previous note (in this case, the first note). That is the basic skeleton of the program, and it is combined with some things that decrease randomness (like all notes must be in key) and some that add randomness (x% of notes randomly shifted up or down out of key). Right now (28 September 2019), there are ~200 additional parameters that are randomly determined before the songwriting begins. For example: how many notes in the melody, how many verses, how many beats per measure, when and which effects are added, how many chords, how many backup melodies and improvisations, etc.
The music of 1000 Wittle Bits can be used freely without permission, but please give appropriate credit. Please contact 1000 Wittle Bits (Tyler) at email@example.com with any questions.
A little background: I started playing guitar when I was 14 (Pink Floyd, Smashing Pumpkins, yeeeeeeaaaah!!!!11), and like most guitarists who stick with it long enough, I eventually started playing jazz guitar. That meant learning music theory, broadening chord/scale vocabulary, etc. I never really got into it (jazz has never given me chills), but one thing that’s been on my mind for years since is that it should be possible to make good music using random number generators. There would need to be constraints, of course – e.g. the song should stay mostly in key – but in general, a combination of notes in key within ~3 octaves of each other should sound okay.
I never had the tools to actually try making music using RNGs until I learned R. About a year ago, I started writing some R code to write songs, and 1000 Wittle Bits is the product of that. You can download all songs (so far) at the link below.