Author |
Message |
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Mon Mar 03, 2008 11:45 pm Post subject:
Boolean Sequencing Subject description: What do you think of this composition tool? |
|
|
Hi, I was wondering if I could get your opinion of an old composition technique made new called Boolean sequencing. I've mentioned it briefly but have not really drawn the group's attention to it, so I thought I would.
In Boolean sequencing you have a binary counter (which could be base-n but let's stick to binary) and you form a logic expression of the counting bits. When that logic expression evaluates to one, you play a note and when it evaluates to zero you do not.
Then there is the matter of frequency. Currently I am setting note frequency based on a weighting of one's bits in the count. That works fairly well for general use but could be improved or expanded somehow.
What I enjoy about the technique is the wonderful harmonies and interaction between instruments that you get when you give them similar but different logic sequences.
I have created a ChucK application to illustrate Boolean sequencing, which you can read about here:
http://www.freedomodds.com/music/guitar_lab.html
and here is a song that you can hear made with Boolean sequencing:
http://www.freedomodds.com/music/songs/MAUI_Guitar_lab5.mp3
Also, here is a photo of the main user interface for Guitar Lab:
I know there's way more advanced stuff out there that I have yet to learn about, I just wanted to get your opinion of this technique. |
|
Back to top
|
|
|
mosc
Site Admin
Joined: Jan 31, 2003 Posts: 18195 Location: Durham, NC
Audio files: 211
G2 patch files: 60
|
Posted: Thu Mar 06, 2008 12:03 pm Post subject:
|
|
|
I think this kind of thing is a lot of fun. Your mp3 song is very good. The melodies and rhythms are interesting. The tunings are interesting too.
These kinds of systems require some extra parameters for longer term variations or they start to sound mechanical and loose the listeners interest, IMHO. _________________ --Howard
my music and other stuff |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Thu Mar 06, 2008 1:28 pm Post subject:
|
|
|
Thanks, Howard! Glad you liked it for the most part. You're right, I've been having a ton of fun programming and using the software. It does, however, tend to produce songs that "drone-on" somewhat repetetivly, and I should probably have made that example song about half the duration.
I am starting to realize, especially after reading your comments, that a better system for specifying the frequency of the notes is in order here. I could put a +/- scroller with note-number on each logic term and play that note whenever that logic term is active. Interestingly, I could do this in addition to the existing bit-weighted system to increase flexibility.
Now you've got me thinking... |
|
Back to top
|
|
|
mosc
Site Admin
Joined: Jan 31, 2003 Posts: 18195 Location: Durham, NC
Audio files: 211
G2 patch files: 60
|
Posted: Thu Mar 06, 2008 2:15 pm Post subject:
|
|
|
Yes, these problems are common for all algorithmic composition techniques. I do most of this kind of stuff with the Clavia G2. I've found that it is essential to make some things that generate long "envelopes" that control the note and rhythm generators. Also, it's good to make some kind of parameter that controls the duration.
Anyway, it's fun to experiment. Please keep us informed of your progress. _________________ --Howard
my music and other stuff |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Fri Mar 07, 2008 11:00 pm Post subject:
|
|
|
I added the note frequency feature that was intended to provide more flexibility to the composer so that the songs don't "drone-on" like they did before, and I left the old system in place in case someone wants that droning rhythm. It works quite nicely.
In response to your comment, Howard, Boolean sequencing's answer to dividing the song into sub-songs (if you will pardon my lack of knowledge of music terminology) is to use the upper bits as a sort of counter and put logic in those upper bits that says: "when the upper-bit count is this, then play the following logic term sequence", if that makes sense. Perhaps this is what you refer to as "envelopes".
Howard, in another interesting thread under your music section, you describe building a sequencer, which is essentially what I have done here in software form. You mention that the "count-down" feature is highly desirable and often missing from sequencers. It would be somewhat difficult for me to modify my counter so that it counts backwards, but I could do it if necessary. Why do you find such a feature necessary? I currently have a clear button that resets to the beginning of the song, and a 16x fast-forward button, so you can sort of navigate a song if you want to do so. What's your perspective on the counting backwards feature? |
|
Back to top
|
|
|
blue hell
Site Admin
Joined: Apr 03, 2004 Posts: 24075 Location: The Netherlands, Enschede
Audio files: 277
G2 patch files: 320
|
Posted: Sat Mar 08, 2008 5:45 am Post subject:
|
|
|
If I may answer for Howard ....
Symmetries in pitch and time (and carefully breaking those) tend to make music interesting. Reversal in time is one such symmetry, but I'm sure you could come up with more. _________________ Jan
also .. could someone please turn down the thermostat a bit.
|
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Sat Mar 08, 2008 7:12 pm Post subject:
|
|
|
Cool, BlueHell, I would not have thought of that. I will have to add that feature somehow... |
|
Back to top
|
|
|
Sam_Zen
Joined: Mar 08, 2008 Posts: 251 Location: NL
|
Posted: Sat Mar 08, 2008 9:52 pm Post subject:
|
|
|
I've been using Boolean logic in another way too, when modding my EMS Synthi AKS.
By forcing a binary mask on the 5-bits data of the 'keyboard', specific tone-scales could be made.
Which are also valid, if triggering a random note.
I made a small explanation here _________________ 0.618033988 |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Sat Mar 08, 2008 10:26 pm Post subject:
|
|
|
What a cool toy! I see what you mean, the function of those buttons is somewhat similar to this technique. What looks even more like this technique is sections C+D, the binary counter and display. That array of 4x8 switches looks like a 4-term logic matrix, 8 bits wide. You can take each logic output and use it to trigger things that happen on the synth. If those triggers played a note of some sort, then you would have something very similar indeed.
I say "rediscovered" and "old technique" when I talk about this Boolean sequencing because it's really nothing new, just an old feature that I've blown up and made into something more useful thanks to modern software interfaces. I wonder if there are any other examples of this method in synthesizer history? There must be! |
|
Back to top
|
|
|
Sam_Zen
Joined: Mar 08, 2008 Posts: 251 Location: NL
|
Posted: Sun Mar 09, 2008 12:54 am Post subject:
|
|
|
Nice that you mention the matrix as well.
Because this has a connection to playing a real-time note. The matrix-counter output can be used to be transposed on that voltage,
as shown in section B. Running at clock-speed, cycle-speed, or an external clock.
An example of this can be heard in the interlude of this song at 2:23. _________________ 0.618033988 |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Sun Mar 09, 2008 4:35 am Post subject:
|
|
|
Yes, if those are two-position switches, then they would allow you to specify four notes in a count of 256. In Guitar Lab I also allow the "don't care" condition on any bit, which generates complex sequences involving more than one note per term. That would be what you have if those switches are three position, I guess. Perhaps some old synth had a logic matrix with don't cares... |
|
Back to top
|
|
|
bachus
Joined: Feb 29, 2004 Posts: 2922 Location: Up in that tree over there.
Audio files: 5
|
Posted: Sun Mar 09, 2008 8:17 am Post subject:
|
|
|
Blue Hell wrote: |
Symmetries in pitch and time (and carefully breaking those) tend to make music interesting. Reversal in time is one such symmetry, but I'm sure you could come up with more. |
Reversal in time as retrograde pitch patterns is my least favorite because I have a hard time hearing it. On the other hand if you mean at the structural level then I really dig it. You know, like this:
abacda adcaba where the letters represent structural entities i.e. sections, phrases etc. _________________ The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham |
|
Back to top
|
|
|
Sam_Zen
Joined: Mar 08, 2008 Posts: 251 Location: NL
|
Posted: Sun Mar 09, 2008 8:48 pm Post subject:
|
|
|
2 Inventor
Nice that you mention the "don't care" condition.
After logical circuits with a binary output, a new range of IC's was introduced, having an option for a 'tristate'.
So the output has no influence on the result, whether it's a 0 or a 1.
At this point I saw the opportunity to introduce what I call 'controlled random' in the binary process. _________________ 0.618033988 |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Mon Mar 10, 2008 3:27 pm Post subject:
|
|
|
I'm not sure what you mean, SamZen, as a tristate output will often take on a value due to parasitics or pull-up resistors or whatever is in the circuit. I wouldn't call that random. In the case of Boolean sequencing, the counter counts right through the don't cares and they just register as notes or non-notes depending on what the other bits are. It would be possible to introduce a "maybe" character to each bit that would provide some randomness. |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Mon Mar 10, 2008 6:46 pm Post subject:
|
|
|
Hmmm, SamZen, now that I think about it more, I feel that you are suggesting a new feature of Boolean sequencing, the random bit. I could add a fourth state to each button that is marked with a "?" on the button. Any bit with a "?" is evaluated with a 50% probability of outcome.
Perhaps that is what you meant when you referred to tristates, thinking of a floating node as evaluating to a random output. Fortunately in software its easier to model things like that.
I will have to think about it more, but this seems to be a very good way to introduce randomness in to the music. Positioned to the right in the lower order bits, a variation in rhythm would occur, and positioned to the left in the higher order bits, a chopped-up version of the sequence gets spread out over the duration of the song or parts of it.
This 'controlled random' could be an interesting improvement to Boolean sequencing, thanks SamZen. |
|
Back to top
|
|
|
Sam_Zen
Joined: Mar 08, 2008 Posts: 251 Location: NL
|
Posted: Mon Mar 10, 2008 9:12 pm Post subject:
|
|
|
I think you got the point. I mean with 'controlled' that random doesn't necessary has to produce 'anything goes',
but it can be restricted to a certain, programmed, range of possibilities, which could be a "?" indeed.
In the case of rhythm-variations it could mean that some accent is randomly applied or not. _________________ 0.618033988 |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Mon Mar 10, 2008 10:11 pm Post subject:
|
|
|
SamZen, I put your feature into the program. The attached file has 15 seconds of Guitar Lab playing random notes. For this recording I used 3 notes and gave them each a 12.5% chance of occurring on any given cycle by clicking the lower 3 bits to "?", or "random". It sounds OK for what it is, but as you mention, that is "anything goes" random.
Unfortunately when I tried using the random bits in higher order bits, I did not get a rhythm selecting feature, but rather a rhythm scattering feature, if you will pardon me making up terms to describe it. This is because the probability of each bit is evaluated every clock cycle. So a single "?" placed anywhere in the logic matrix simply deletes half of the notes randomly. I can't seem to get good sounds this way.
Perhaps I should evaluate probabilities less frequently, or only when the bit changes in the count. Maybe that would cause the desired effect or something good. I don't know, just thought I'd mention it.
Description: |
Just random guitar notes from Guitar Lab. 15 seconds long. |
|
Download |
Filename: |
Guitar_Lab_Random.mp3 |
Filesize: |
224.08 KB |
Downloaded: |
1337 Time(s) |
|
|
Back to top
|
|
|
Sam_Zen
Joined: Mar 08, 2008 Posts: 251 Location: NL
|
Posted: Mon Mar 10, 2008 11:34 pm Post subject:
|
|
|
If you apply this to every next bit in the running, it would appear indeed as "anything goes".
To avoid this, I guess, you're right, you should evaluate probabilities less frequently.
A first one in this, is not doing it on the clock, but changing the bit-condition after each 'cycle' of the sequence.
So one still gets some recognizable repetition, but some elements have been changed.
I work a lot with tracker-modules and there 'cycle' is called 'transition', so one pattern/sequence to the next. _________________ 0.618033988 |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
|
Back to top
|
|
|
Sam_Zen
Joined: Mar 08, 2008 Posts: 251 Location: NL
|
Posted: Tue Mar 11, 2008 9:36 pm Post subject:
|
|
|
I don't use ChucK, so I can't test this.
Since this is logic, it's never the end of conditions. One could control the random appearance again by adding e.g. a counter in that line.
So the random state only really is active every three times. _________________ 0.618033988 |
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Wed Mar 12, 2008 1:35 am Post subject:
|
|
|
I could put a probability slider somewhere that controls the probability of a random bit, that would let you set it for 33% probability. By the way, I made a song using the random bits. It is an anti-anxiety song, sort of like a relaxation tape from the 70's. It is here:
http://www.freedomodds.com/music/songs/Guitar_Lab_Anxiety3.mp3
Besides the ocean and the thunder, the only instrument is the flute. I play three notes with a "?" in each of them to get a random sequence of notes. Although that may not be creatively interesting, it does seem to soothe my test listeners with anxiety. The randomness seems to shut off those parts of the mind that concentrate on the music. I was inspired by one of Howard's pieces to add the flute.
Now that I have this Guitar Lab program working, I can "play it" by adjusting the volume and turning instruments on and off during a recording. I like it. |
|
Back to top
|
|
|
mosc
Site Admin
Joined: Jan 31, 2003 Posts: 18195 Location: Durham, NC
Audio files: 211
G2 patch files: 60
|
Posted: Wed Mar 12, 2008 2:00 pm Post subject:
|
|
|
Blue Hell wrote: | If I may answer for Howard ....
Symmetries in pitch and time (and carefully breaking those) tend to make music interesting. Reversal in time is one such symmetry, but I'm sure you could come up with more. |
Yes, that's the gist of it. If you have an up/down input bit, you can get a lot of very interesting melodies by applying asynchronous signals compared to the clock. The melodies rock back and forth.
Bachus: It may be difficult for the conscious mind to recognize retrograde melodies, but I'm sure that the sub-conscious does respond to these. As George Harrison said, "Turn off your mind, relax and float down stream; it is not dieing." _________________ --Howard
my music and other stuff |
|
Back to top
|
|
|
bachus
Joined: Feb 29, 2004 Posts: 2922 Location: Up in that tree over there.
Audio files: 5
|
Posted: Wed Mar 12, 2008 6:53 pm Post subject:
|
|
|
mosc wrote: | but I'm sure that the sub-conscious does respond to these. |
I'm rather leary of being certain of such things without any substantiation. If you have none I would not object if you said:
I believe that
or
I feel strongly that
or
I suspect that
etc.
If it is true I strongly suspect that it depends on the particulars of the line. _________________ The question is not whether they can talk or reason, but whether they can suffer. -- Jeremy Bentham |
|
Back to top
|
|
|
blue hell
Site Admin
Joined: Apr 03, 2004 Posts: 24075 Location: The Netherlands, Enschede
Audio files: 277
G2 patch files: 320
|
Posted: Wed Mar 12, 2008 6:58 pm Post subject:
|
|
|
bachus wrote: | If it is true I strongly suspect that it depends on the particulars of the line. |
Absolutely, a two note melody might not work well _________________ Jan
also .. could someone please turn down the thermostat a bit.
|
|
Back to top
|
|
|
Inventor
Stream Operator
Joined: Oct 13, 2007 Posts: 6221 Location: near Austin, Tx, USA
Audio files: 267
|
Posted: Thu Mar 13, 2008 3:37 am Post subject:
|
|
|
Perhaps it is like backward video. If you watch video backwards, your mind makes sense of it and it has a certain appeal. At least you recognize that it is backwards, not gobbledeygook. You see the details but they change differently. In the same way, perhaps a sequence of notes played backward will make sense to the mind and be appreciated in similar fashion to backward video.
Also for one example: if we play notes from low to high, then backward from high to low, clearly we recognize that simple pattern in reverse. It's just a question of how complex a pattern a given listener can discern backward. I imagine that more complex patterns are not discerned backward by most people. |
|
Back to top
|
|
|
|