Playing via Spotify Playing via YouTube
Skip to YouTube video

Loading player…

Scrobble from Spotify?

Connect your Spotify account to your account and scrobble everything you listen to, from any Spotify app on any device or platform.

Connect to Spotify


A new version of is available, to keep everything running smoothly, please reload the site.


1000 Wittle Bits is the stage name of Tyler M. Moore, who uses random number generators (under various constraints) to write songs. Songs are written in the R programming language (; specifically, the R script writes a comma-separated file (.csv) with the necessary information to build a musical instrument digital interface (MIDI; .mid) file, and then uses John Walker's csvmidi.exe ( to convert the .csv file to .mid format. Once in .mid format, the file can be played on many common media players, but 1000 Wittle Bits converts the .mid files to .mp3 before release.

Song writing occurs in these (highly condensed) steps:

1. The tempo is chosen randomly from a continuous distribution (millisecond resolution), and a key is chosen randomly from the 12 possible notes.
2. Sets of constraints are chosen randomly. Examples include: "all notes in the head (main melody) must be either whole or quarter notes"; "a maximum of 95% of notes can be in key"; "all note sequences in the backup melody should be arpeggios".
3. The song length (number of measures for each song component) is chosen randomly.
4. Given the above constraints, the R script starts with a note (chosen randomly) and builds from there. The sustain of that note (and time until next note) are chosen randomly within the constraints of the time signature, and the number of half steps up or down to move for the next note is chosen randomly. This is done for a melody, two backup melodies, a harmony line (chords), and three percussion lines (main plus accents).

All 1000 Wittle Bits music is available for free at

Edit this wiki

Don't want to see ads? Subscribe now


API Calls