Bit-by-bit Circular Composition


Hey everyone… So I just wanted to quickly share something to you all…

I posted about this once before here… about something I discovered which I call, “Bit-by-bit Circular Composition”.

Relating to algorithmic composition, I find this technique to be very novel.

Unlike many algorithmic composition techniques, “Bit-by-bit Circular Composition” relies on no temporal rules whatsoever.

Instead of using an algorithm which sets rules in relation to time… i.e. when/where an event happens within a time scale (i,e, seconds/minutes)… “Bit-by-bit Circular Composition” does not do that.

What “Bit-by-bit Circular Composition” is… is to literally build a piece of music bit-by-bit, in a circular manner.

And a “bit” would be the smallest building block of a piece of music… In most cases, every individual note of a piece would be composed of one or more bits. Think of a computer bit.

“Bits” have no relation to time whatsoever… they are akin to 1’s and 0’s in a computer program.

So an example of this technique would be the following -

You have three different “instrumentalists” which will create a .piece…

Each instrumentalist will take turns, one after the other, creating a single “bit” of the section they will play in that piece.

Please note again that “bits” have nothing to do with length of time… The only way the temporal length of the parts of a musical piece is determined is by how fast these “bits” are cycled through…

How fast they are processed.

So the “instrumentalists” would all take turns creating the piece literally “bit-by-bit” based off of the bit created by the previous instrumentalist.

And a piece would be built… “bit-by-bit”.

And what results is merely an array of bits.

And what determines the time scale of that array of bits is just how fast they are cycled through during the performance of the piece(the array of bits).

Here is a short example of an “array of bits” which would comprise of the piece -

[ 234, 234, 234, 234, 234, 234, 234, 888, 888, 765, 765, 756, 765, 765, 765, 765, 432, 432, 999, 999, 999, 999, 999, 999… (etc) ]

^Those being note frequencies…

They are all “bits”.

And during the performance of a piece… the only thing which would determine the time scale of the piece is how fast those “bits” are cycled through.

Example: A synthesizer with no envelope would play each of those individual frequencies in the array for a duration of 0.2 seconds… during the piece’s performance…

To me this music composition technique seems like a very organic way of composing music algorithmically. Much like how a human being would compose music.

Composition having nothing to do, consciously, with rules relating to time or time scale.

I also developed a program which utilizes this technique! :smiley:

You can download it here -

Feel free to tell me your thoughts! <3


Here is a sound example -