electro-music.com   Dedicated to experimental electro-acoustic
and electronic music
 
    Front Page  |  Articles  |  Radio
 |  Media  |  Forum  |  Wiki  |  Links  |  Store
Forum with support of Syndicator RSS
 FAQFAQ   CalendarCalendar   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   LinksLinks
 RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in  Chat RoomChat Room 
 Forum index » DIY Hardware and Software » Les Hall's Projects including eChucK
Boolean Sequencer Explained
Post new topic   Reply to topic Moderators: Inventor
Page 1 of 1 [14 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
Author Message
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 5978
Location: San Antonio, Tx, USA
Audio files: 258

PostPosted: Mon Jul 18, 2011 12:23 am    Post subject: Boolean Sequencer Explained
Subject description: Let's start with the basics
Reply with quote  Mark this post and the followings unread

Hello friends, there has been some interest in the Boolean Sequencer, and some folks have asked me what it is and how it works. In response I am starting this thread in which I will begin with the very basics and discuss in text form what I have created.

I'll begin with a brief word of the history and origins of the Boolean Sequencer from my personal perspective and hopefully this will be of some interest. When i first joined this wonderful electro-music.community in October of 2007, I knew virtually nothing about music creation. I still don't, lol, however the few tricks I have created along the way have made some fun and interesting music that people tell me is enjoyable to hear, so yay for blind creativity!

Back then I was unaware of the step sequencer in all it's diverse forms from Baby 10 to Klee, in-between and beyond, and I remain fairly ignorant of all the other types of sequencers. What I did know is that I had this amazingly powerful music programming language at my fingertips called ChucK, and I wanted to make songs. I could make sounds, noises, notes, etc. but not sequences of notes.

So I got to thinking about how I could make a sequence of notes and the first early form of what I later named the Boolean Sequencer came into existence. Since then I have perused other designs on this forum and heard of other designs through posts and conversations in the chatroom, and from these I have reached the conclusion that the Boolean Sequencer is actually not my sole creation, but that it has a history going back to the original days of music synthesizers.

That's because the simplest of all boolean sequencers consists of merely a counter and a resistor network. In fact, why don't we start there in the next post? Read on my friend!

Les

_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
tjookum



Joined: May 25, 2010
Posts: 353
Location: Netherlands
Audio files: 26

PostPosted: Mon Jul 18, 2011 1:01 am    Post subject: Reply with quote  Mark this post and the followings unread

cool, Im definately going to follow this.
_________________
There he goes. One of God's own prototypes. A high-powered mutant of some kind never even considered for mass production. Too weird to live, and too rare to die.
Hunter S. Thompson
movies
noise
Back to top
View user's profile Send private message
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 5978
Location: San Antonio, Tx, USA
Audio files: 258

PostPosted: Mon Jul 18, 2011 1:11 am    Post subject: Reply with quote  Mark this post and the followings unread

The photo below shows our simplest Boolean Sequencer which consists of a two-bit counter and a two-resistor aggregation network. Of course the two-bit counter needs a clock source which is not shown for simplicity's sake.

What happens is the counter counts out 00, 01, 10, 11, then repeats. The resistors are actually a two-input voltage divider, which I like to call an aggregation network because they take the digital input voltage levels and aggregate them into a single analog level.

Let's say the resistors are equal in value and the supply voltage is 10V. Then the output sequence will be 0V, 5V, 5V, 10V. Or if we were to weight the resistors so the MSB was half of the LSB resistance value we'd get 0V, 3.3V, 6.7V, 10V. This becomes the Control Voltage (CV) output of the sequencer.

As with any other sequencer, we would then drive some circuitry such as a Voltage Controlled Oscillator (VCO) with our control voltage to create a musical tone that varies with time. Oh, and I neglected to mention that the tempo of the music is set by the clock source. The frequency of the clock is the beats per second of the music. This is the simplest of all possible Boolean Sequencers.

Les


BS_Simplest_001.jpg
 Description:
The Simplest Boolean Sequencer
 Filesize:  18.26 KB
 Viewed:  4878 Time(s)

BS_Simplest_001.jpg



_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 5978
Location: San Antonio, Tx, USA
Audio files: 258

PostPosted: Mon Jul 18, 2011 2:02 am    Post subject: Reply with quote  Mark this post and the followings unread

tjookum wrote:
cool, Im definately going to follow this.


Great tjookum, I will try to keep it interesting!

In the illustration below, I have drawn another simple Boolean Sequencer in the virtual world of Second Life and taken a jpeg snapshot for you. Since it is a 3D virtual world, I have taken the liberty of using all three dimensions to make the wiring connections at the inputs of the gates as clear as possible for those who are not familiar with reading 2D schematics.

In the illustration we have our two-bit counter clocked at the music tempo rate as before, and we also have our resistor aggregation network as before to create a CV from the digital signals. What is new is the remaining part of the Boolean Sequencer, which is the logic stage, also called the cloud of logic.

The logic stage is what gives the Boolean Sequencer it's character and musical phrases, which I will describe in a later post. For now let's make a table of the logic levels and the resulting analog output voltages. We will set the resistors to equal values for simplicity.

Code:

A B AND OR out
0 0  0  0  0.0V
0 1  0  1  2.5V
1 0  0  1  2.5V
1 1  1  1 10.0V


OK, well, um, we got that sequence before! Silly example, but trust me it gets a whole lot more interesting when we start adding more bits. In fact, why don't I illustrate just how interesting it can get with one of my favorite pieces of music that i ever created using the Boolean Sequencer. Let's keep it short and sweet so you can listen to a quick brief piece of music and then move on to the next post. I give you: 60x60 Rock!

Les


BS_Simple_001.jpg
 Description:
Simple Boolean Sequencer with logic stage
 Filesize:  34.99 KB
 Viewed:  4853 Time(s)

BS_Simple_001.jpg



60x60_Rock.mp3
 Description:
Guitar music synthesized in the ChucK music programming Language using a Boolean Sequencer

Download
 Filename:  60x60_Rock.mp3
 Filesize:  706.36 KB
 Downloaded:  258 Time(s)


_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 5978
Location: San Antonio, Tx, USA
Audio files: 258

PostPosted: Mon Jul 18, 2011 2:55 am    Post subject: Reply with quote  Mark this post and the followings unread

Alright now let's talk about those musical phrases. Not being a trained musician, I barely have much of an understanding of the specific meaning of a term like "phrase" as it applies to music theory, but I take it to mean that a section of the music sequence sounds much like a phrase in a sentence - like a piece of information that makes sense as part of a sentence. Or whatever, it's a short sequence of notes that seem to express something.

Well in the peice that we heard in the previous post, 60x60 Rock, there were such phrases. They repeat and yet they vary somewhat. That's part of the magic of the Boolean Sequencer. Due to the nature of the binary logic responding to the counter bits, we get these phrases that repeat yet also change. In fact, in many cases there are not just phrases but groups of phrases that repeat yet vary, and collections of those groups that repeat yet vary, and so on like that in some sort of hierarchical non-repetitive yet familiar and intriguing way.

This is in sharp contrast to a step sequencer which may often repeat the same 8 notes over and over. Now don't get me wrong, I'm a big fan of repeating sequences in my music preferences, as the brain likes to jam on repeated sequences for some reason. In fact, many people do not like Boolean Sequencer music because it lacks the familiar repetition that they've come to expect. Whatever. It's just a different beast is all that I can say.

To illustrate the phrases let's look at a plain old binary counter truth table. This will be a 4 bit counter example, and here it is:

Code:

A B C D
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
1 1 0 1
1 1 1 0
1 1 1 1


If we look at each column separately we see the basis of our phrases. Each column has a phrase that goes 0 1 0 1 0 1 at different rates. The LSB column changes every note, while the MSB column changes every 8 notes. In between we have changes every 4 and 2 notes. So that is one area where the binary counter has symmetry and phrasing.

Next look at the last two bits. They go 00, 01, 10, 11. that's a set of four unique phrases and they repeat over time. Then look at the first two bits. They ALSO got 00, 01, 10, 11, only slower. And the middle two bits do too, just at an intermediate rate.

We can say the same about the two thee-bit phrases. So you see, the truth table of the binary counter itself, with no logic stage or aggregator, is just plain loaded with musical phraseology or whatever you want to call it. What is interesting is that the logic stage will enhance this prhasing, crating phrases of binary integer length that repeat yet also change at many hierarchical levels, and the aggregator combines these phrases into an analog sequence of CV.

Next a word on sequence length.

Les

_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 5978
Location: San Antonio, Tx, USA
Audio files: 258

PostPosted: Mon Jul 18, 2011 3:19 am    Post subject: Reply with quote  Mark this post and the followings unread

Now let's talk about sequence length. In the case of a step sequencer we get a sequence length of 8 or 16 steps usually. This is fine as it is the nature of that machine. We can get 8 or 16 step sequences from a Boolean sequencer by using a 3 bit or 4 bit counter also. What gets really interesting is when we go above 4 bits. Let's say we have a tempo of 8 beats per second for a really lively piece of music, and let's examine a table of Boolean Sequencer sequence length and duration for different counter sizes. Here it is:

Code:

bits steps duration
1    2      0.25 seconds
2    4      0.5
4    8      1
5    16     2
6    32     4
7    64     8
8    128   16
9    256   32
10  256   64
11  512   128
12  1024  256
13  2048  512
14  4096  1024
15  8192  2048
16  16386 4096 (over an hour)


As the table shows, the power of two grows really quickly in terms of sequence length. This is a well known phenomenon and it works to our advantage here because we can create interesting musical sequences of preety much any desired duration. In fact, if you chain three binary counter chips together, you can make a Boolean sequencer that counts out a sequence which will not repeat for over 100 years! All that from three chips of counter and oh, say, about 5 or 10 chips of logic to keep it interesting.

Les

_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 5978
Location: San Antonio, Tx, USA
Audio files: 258

PostPosted: Mon Jul 18, 2011 3:22 am    Post subject: Reply with quote  Mark this post and the followings unread

Well, that pretty much concludes my introduction to the Boolean Sequencer for now. There is a lot more to discuss including ways to keep things interesting by using XOR gates and analog logic techniques, etc. but I've got to stop somewhere this morning. I'll open the thread up to questions now and hopefully I can tear myself away from second life long enough to reply.

Les

_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
tjookum



Joined: May 25, 2010
Posts: 353
Location: Netherlands
Audio files: 26

PostPosted: Mon Jul 18, 2011 4:04 am    Post subject: Reply with quote  Mark this post and the followings unread

great explanation of using logic to make sequences, it really sparked my imagination. Remember to put this into the lunetta forum when it's complete, I could have missed this completely.

Im actually also working with similar principles, mainly with the CD4094 8 bit shift register. Rykhaard posted the idea a while ago and I just love how simple it is. bassically you use 1 osc. to drive the clock, use some logic to make an interesting data source and sum the 8 bits.
The problem and advantage of this circuit is that the data input and the clock input interact with eachother and produce long varying patterns

Another thing to try with boolean sequencers is using a R2R digital to analog converter. Basically a resistor ladder wich translates binary signals into a analog voltage.

_________________
There he goes. One of God's own prototypes. A high-powered mutant of some kind never even considered for mass production. Too weird to live, and too rare to die.
Hunter S. Thompson
movies
noise
Back to top
View user's profile Send private message
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 5978
Location: San Antonio, Tx, USA
Audio files: 258

PostPosted: Mon Jul 18, 2011 5:50 am    Post subject: Reply with quote  Mark this post and the followings unread

That sounds like another great circuit to try, tjookum. Yes, I'm glad you mentioned the R2R ladder. Here is the Wikipaedia page on R2R ladders:

http://en.wikipedia.org/wiki/Resistor_ladder

Basically an R2R ladder is a simple way to perform digital to analog conversion. It weights the bits according to a binary scale, so the MSB gets the strongest weight and the LSB gets the weakest. Because of this, one way to use an R2R ladder with a Boolean Sequencer is to listen to a selection of logic outputs and decide which you would like to weight stronger or weaker, and hook them up to the inputs accordingly.

I should also mention that the aggregation network may be the multiple input voltage divider with or without weighting, an R2R ladder, or really any type of network you would like to use. There is lots of room for creativity here.

Les

_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
jean bender



Joined: Feb 21, 2010
Posts: 133
Location: france

PostPosted: Tue Jul 19, 2011 5:12 am    Post subject: Reply with quote  Mark this post and the followings unread

THANK YOU INVENTOR !

really happy to read that, it will help me a lot... As soon as i'm back home and have some time, i'll read it .... Sure it will let me understand boolean sequencing better, and give some ideas for building mine !

Last week i was in a festival, where i built a boolean sequencer, based on your schematics, with few minor modifications, and it worked very well, just want now to build another one... So it's good to have some technical informations !

Razz Razz

_________________
http://h.a.k.free.fr/

www.electroncanon.org
Back to top
View user's profile Send private message
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 5978
Location: San Antonio, Tx, USA
Audio files: 258

PostPosted: Tue Jul 19, 2011 7:23 am    Post subject: Reply with quote  Mark this post and the followings unread

deadbeat, that makes me feel really good. It's no fun working all alone and if I can create something that others find useful or interesting (or even just add to something that already existed), then that makes all the effort worthwhile. Enjoy!

Les

_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
frank discourse



Joined: Apr 26, 2010
Posts: 10
Location: sydney

PostPosted: Sun Mar 31, 2013 4:45 pm    Post subject: thanks Inventor
Subject description: as above
Reply with quote  Mark this post and the followings unread

Hey Inventor, Thank you for taking the time to structure some formal tutorials.
I have been pushing ahead with ChucK for a couple of years now and have produced some fun and exciting machines that I use as much as any other studio tools but need help taking my skills to the next level. Very Happy
Back to top
View user's profile Send private message
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 5978
Location: San Antonio, Tx, USA
Audio files: 258

PostPosted: Sun Mar 31, 2013 5:31 pm    Post subject: Re: thanks Inventor
Subject description: as above
Reply with quote  Mark this post and the followings unread

frank discourse wrote:
Hey Inventor, Thank you for taking the time to structure some formal tutorials.
I have been pushing ahead with ChucK for a couple of years now and have produced some fun and exciting machines that I use as much as any other studio tools but need help taking my skills to the next level. Very Happy


Oh, really, well if you have any need of the talents that I possess to help you with that, just ask. Best to post it here rather than IM or PM or email. I have been thinking about certain things outside of the music world lately. Like the speed with which the Transparent Society is about to become thrust upon each of us and I feel that many will not be prepared for the sudden change. Also I believe that drones of all shapes and sizes will be frickin' everywhere you look before too many years have gone by. It's gonna get weird fast according to everything that I have figured out so yeah, prepare for change and take time to allow yourself to adapt to it I say.

Les

_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
Inventor
Stream Operator


Joined: Oct 13, 2007
Posts: 5978
Location: San Antonio, Tx, USA
Audio files: 258

PostPosted: Sun Mar 31, 2013 5:42 pm    Post subject: Reply with quote  Mark this post and the followings unread

There is good news as well. Something I don't know all too much about yet is the JOBS Act which is about to become law in late 2013 or ealrly 2014. One source I read predticted the demise of the conglomerate corporation at the hands of individuals and small groups of individuals who can now issue stock shares as ownership of their ventures.

What that means is that people like us, who tinker and create and study a bit now and then to gain some desired skill or whatever, you know what? We are gonna be the ones who may now enjoy the free market system as the resource that it was intended to be for the average person. This is a gift.

Les

_________________
"Let's make noise for peace." - Kijjaz
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic Moderators: Inventor
Page 1 of 1 [14 Posts]
View unread posts
View new posts in the last week
Mark the topic unread :: View previous topic :: View next topic
 Forum index » DIY Hardware and Software » Les Hall's Projects including eChucK
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum
e-m mkii

Please support our site. If you click through and buy from
our affiliate partners, we earn a small commission.


Forum with support of Syndicator RSS
Powered by phpBB © 2001, 2005 phpBB Group
Copyright © 2003 through 2009 by electro-music.com - Conditions Of Use