04-19-2023, 02:25 PM
Here’s my latest NDLR based tune (called ‘Life from Stillness’) on YouTube:
Life from Stillness - House de Kris
It’s from a composition style I started developing in 2020 called “Controlled Chaos” and is built substantially on randomness, but with tight controls defining the choices made so as to not be too chaotic.
A brief description is included in the video, but since this is a Conductive Labs forum and much of this song is realized with Conductive Labs technology, I figured I’d give a detailed blow-by-blow on this tune. Please be warned, the following may be considered a long tome. You don’t have to read the whole thing. But, I kinda wish others would share in depth stories on their songs as well when they share their music.
MANDATORY GEAR LIST
Sounds:
ASM Hydrasynth
Yamaha FS1R
Korg MS2000R
E-mu XL-1
Data generators:
Synthrom Audible deluge
Conductive Labs NDLR
Data manipulators:
Conductive Labs MRCC
Korg Prophecy
Roland MC-303
Yamaha MEP-4 (x3)
INSPIRATION
Inspiration comes to all of us from different angles. Me, personally, I like to watch YouTube videos of and about music. I’ve recently gotten into the habit of watching musical performances where the video is the sheet music being played. This is typically solo piano. I don’t play piano and it boggles my mind how so much polyphony can come out of two hands. While watching one particularly extraordinary performance recently (Balakirev - Islamey, Op. 18 (Pogorelich)), I started to notice patterns and trends in the written music when viewed four or more bars at a time. It was this pattern recognition that sparked a thought, it was the inspiration. No, the music here sounds nothing like the complex and dramatic piano tune I was witnessing, just it inspired thoughts that were further fleshed out to become this tune.
CONTROLLING CHAOS
Past experiments into Controlled Chaos primarily relied on the interaction of two devices, the Synthstrom Audible deluge and Creative Labs NDRL. In short, the deluge has a nifty probability option where any one note in time in the sequencer grid can have a probability assigned to it. But, better yet, if multiple notes are sequenced at the same instant in time, and the total of the three note’s probability adds up to 100%, then there is a 100% probability that one note will sound, with the weighting of chance being the probability assigned to each note. For example, three notes (C-E-G) are all set to the fifth 16th note of a measure. If they have a probability of 30%-30%-40%, a note will definitely sound at that point in time, with G being the most likely at 40%. But, if they were assigned probabilities of 35%-35%-35%, then perhaps all three would sound, just two, might only be one, or maybe none at all.
By shipping this note data to the NDLR Cntl channel, you can make a random chord sequencer. Unfortunately, purely random gets annoying fast. Instead, knowing that no matter what Key and Mode you are working in, there are always three Major chords and three Minor chords (and one to avoid at all cost). Making some decisions on the overall flow, I can say I want to change chords every two measures, with the first four chords being Major, followed by a couple Minor chords, returning to some Major chords. Thus, I can dictate the overall mood and feel, but leave it up to chance as to what the exact chords played are. Hence, the controlling of chaos.
What can be done to chord degrees with controlled chaos can also be applied to chord types. Since these are the black keys in the NDLR Cntl channel, they, too, can have controlled chaos of deluge programming applied. Triads are good, but spice is added by using probability to choose to add 6ths, 7ths, sus2s, and sus4s from time to time.
APPLYING INSPIRATION
Going back to the inspiration section above, I wanted to apply the controlled chaos to the patterns I visualized in the sheet music, yielding the movement I saw in the written notes. I wanted to use two arpeggiators to accomplish this. The two Motifs of the NDLR would seem to be natural choices, alas their limitations prevented them from becoming what I was searching for. Instead, I opted for two external arpeggiators in the form of a Roland MC-303 and a Korg Prophecy. I’ll admit neither of these two instruments are connected to my mixer, but I keep them because I love their arpeggiators and use them only to spit out data. Unfortunately, the thing I love about them, their complex motifs, didn’t play together well and I used very basic arpeggiator patterns. Doesn’t matter, it worked out well being simple.
CREATING DIVERSITY
The data to feed these arpeggiators is the Pad data from the NDLR. Two arpeggiators on one set of data could be rather predictable, so I opted to stir the pot a bit further. Sending the Pad data to an MEP-4 (four powerful Midi Effects Processors) I could split the data as even and odd notes. This gave a bit more variety than using the NDLR’s Pad Poly-Chain. The Poly-Chain will split the Pad data as every other note generated to each channel (with Poly-Chain set to two). This yields an even balance of notes (or very close to even), no matter how many notes are in the Pad. Doing an even/odd split has a more unpredictable balance of notes sent to each arpeggiator. For example, with a Pad width of eight notes, Poly-Chain will always give a 4/4 split. Whereas even/odd may be 3/5, 4/4, or 5/3. It may even conceivably give a 2/6. Thus, the interplay of two independent arpeggiators is more diverse with each being fed different amounts of notes to work with.
After spending hours figuring out how to do an even/odd split of the MIDI note data on the MEP-4, a lightbulb went off in my head to do it on the MRCC instead. One of its Modifiers is a Note Mapper, and this would have worked out wonderfully, except for one minor issue. All other Modifiers on the MRCC are available as six different duplicate processors. Only the Note Mapper comes as a single processor. I could get even OR odd, but not both.
PUSHING CHAOS FOR ALL ITS WORTH
The patterns generated by what’s described so far are quite beautiful (beauty being in the ear of the beholder), and I could listen to this sort of stuff for hours. But, even with all the randomness builtin, it was still predictable over time. This drove a desire to add even more subtle time variance to these random based vaguely familiar predictable patterns. The MRCC has some Modifiers that are quite handy to realize this. Specifically the Note Alter Modifier. I used four of these processors to add a bit of unexpected variety to the final resultant arpeggios. On the input of each of the two arpeggiators, I use Note Alter to thin the data a bit with a probability of 95%. This is to say, most of the notes pass unscathed, but one in 20 will get blocked on the way to the arpeggiator. This gives occasional holes in the Pad data for the arpeggiators to work with. I also put a Note Alter Modifier after each arpeggiator with 90% probability. This will, in effect, suppress one in 10 notes coming out of the arpeggiator. The result is a rest every once in a while. These small amounts of probability to suppress notes gives happy accidents to the final product.
RANDOMIZING THE CHAOS
Tightly controlling the chaos of chord selection and chord types, even/odd splits of pads, density filtering by probability into and out of arpeggiators is still just not enough. I wanted Pad Range to change randomly from time to time. Knee-jerk response is to apply a built in NDLR modulator to this task. Unfortunately, the LFO it uses is free-running and would change range in the middle of two measure phrases. Instead, I opted to use the deluge’s probability capabilities described earlier to when, and exactly how much, to modulate the Pad Range. Drawback here is that Pad Range is only externally programmable via CC#s. The drawback being that the deluge only applies its nifty weighted probability to note data, not CC#s. I built a workaround to this issue by using another MEP-4 processor to convert note data into CC#s, thus I programmed note data with weighted probability into the deluge, and the MEP-4 converted them into CC# data for the NDLR.
SYNCHING
The biggest hurdle was keeping the two independent arpeggiators in sync. Since MIDI uses 24ppq clocks, not getting all the clocks exactly the same to both devices so they know where a quarter note begins turned out to be difficult. MRCC routing and filtering certainly helped in this regard.
FILLING OUT THE SOUND
Not using the NDLR’s Motifs for the arpeggiation meant I had them leftover for additional duty. I wanted all parts to start together to stay in sync, so I used Rhythm Patterns that started with four rests, since the minimum Rhythm Length is four. That way, I could start with a length of four to keep the Motifs silent, then increase the length to bring in their contribution. The Patterns used were based on what I learned in this thread:
Stochastic thread
Originally, they were simple little movements confined to within an octave to keep them from wandering around too much. Using the weighted randomness to achieve probability as described in that thread, I was able to use the Pattern Length control to control the range of notes played by the Motifs. They were sent to the same instrument that the external arpeggiators were sent to, playing in a lower register and longer gate time in a way of simulating left hand accompaniment. I also sent them combined to another instrument to provide synthesized strings, in addition to a third instrument as individual channels that provided sampled strings. The sampled strings were panned left and right and responded to NDLR MIDI Controller Volume. The synthesized strings did not respond to volume changes.
Lastly, the Drone is, well, a drone. Decent headphones or a stereo system with big-ass speakers and hopefully at least one subwoofer really help with hearing this mofo.
GOING FURTHER
The MRCC has six very capable arpeggiators built into it. Why didn’t I use it instead of the external arpeggiators? I could not figure out a way to include the Note Alter Modifier without wasting a lot of in and out ports with loopback cables. Since there are so very few in ports, I wasn’t about to do that. But, I did use one MRCC arpeggiator in Shuffle mode with a short gate. Octave was set to 2 so that every input note from the NDLR Pad data is doubled up with an octave higher version. This adds some high tinkle activity to the other two arp patterns from time to time.
VOICES
The main focus of this song is the arpeggiated activities created to support the vision described in the Inspiration section. This is built from the two external arpeggiators, both of the NDLR Motifs, and the MRCC arpeggiator. This implies a total polyphony requirement of five. Originally I wanted to use the FS1R for its more than excellent FM e-piano patches, and the Hydrasynth for its wonderful pads. Both of those choices are naturals. But, Hydrasynth polyphony is limited to eight, which is insufficient for the Pad Ranges I was using. Therefore, I swapped the duties of these two synths since the FS1R has more than ample polyphony for the pads and only a polyphony of five is required of the e-piano. The synth strings came from both NDLR Motifs and the MS2000R’s polyphony of four was perfect since I used a very long release time. The sampled strings and drone were sent to the XL-1 which has beaucoup polyphony, so not a problem. By the way, the XL-1 is expanded with the ROM card from a Proteus 2000, so I don’t have to use the sampler for these genuine acoustic types of sounds.
ABOUT THE NAME
‘Life from Stillness’ reflects my awe and wonder of nature and what happens all around us all the time. Specifically, in this case, it was late winter / early spring when I started working on this idea, and the naked trees of the winter time were starting to wake up from their leafless hibernation. A favorite cottonwood tree of mine, which is somewhere in the neighborhood of 180-200 years old, was just forming the buds where new branches of leaves would form. On a cottonwood, these buds are rather large. At this point in time, they were tight solid bursts of green on an otherwise brown/gray tree. Within a couple weeks, these solid teardrop cones would be bursting forth with an amazing amount of new growth. But, that would be in the future, and currently these buds appeared to be motionless and still and offering no hint to the changes that would come. For me, it was a thrill to contemplate the huge amount of life that was about to be released in this apparently still and motionless bud.
This piece begins with just chord changing pads representing the winter state of a tree. The arpeggios come in as a dance of this new life growing the new short branches from where all the leaves come from. Strings and drones come in to remind us of the infrastructure of the tree itself that supports the life of the leaves that we normally focus on. The tree this was written for takes a half dozen kids holding hand-to-hand in order to embrace this majestic trunk. Such a mighty tree requires a substantial drone. The string section conjers the branches.
Life from Stillness - House de Kris
It’s from a composition style I started developing in 2020 called “Controlled Chaos” and is built substantially on randomness, but with tight controls defining the choices made so as to not be too chaotic.
A brief description is included in the video, but since this is a Conductive Labs forum and much of this song is realized with Conductive Labs technology, I figured I’d give a detailed blow-by-blow on this tune. Please be warned, the following may be considered a long tome. You don’t have to read the whole thing. But, I kinda wish others would share in depth stories on their songs as well when they share their music.
MANDATORY GEAR LIST
Sounds:
ASM Hydrasynth
Yamaha FS1R
Korg MS2000R
E-mu XL-1
Data generators:
Synthrom Audible deluge
Conductive Labs NDLR
Data manipulators:
Conductive Labs MRCC
Korg Prophecy
Roland MC-303
Yamaha MEP-4 (x3)
INSPIRATION
Inspiration comes to all of us from different angles. Me, personally, I like to watch YouTube videos of and about music. I’ve recently gotten into the habit of watching musical performances where the video is the sheet music being played. This is typically solo piano. I don’t play piano and it boggles my mind how so much polyphony can come out of two hands. While watching one particularly extraordinary performance recently (Balakirev - Islamey, Op. 18 (Pogorelich)), I started to notice patterns and trends in the written music when viewed four or more bars at a time. It was this pattern recognition that sparked a thought, it was the inspiration. No, the music here sounds nothing like the complex and dramatic piano tune I was witnessing, just it inspired thoughts that were further fleshed out to become this tune.
CONTROLLING CHAOS
Past experiments into Controlled Chaos primarily relied on the interaction of two devices, the Synthstrom Audible deluge and Creative Labs NDRL. In short, the deluge has a nifty probability option where any one note in time in the sequencer grid can have a probability assigned to it. But, better yet, if multiple notes are sequenced at the same instant in time, and the total of the three note’s probability adds up to 100%, then there is a 100% probability that one note will sound, with the weighting of chance being the probability assigned to each note. For example, three notes (C-E-G) are all set to the fifth 16th note of a measure. If they have a probability of 30%-30%-40%, a note will definitely sound at that point in time, with G being the most likely at 40%. But, if they were assigned probabilities of 35%-35%-35%, then perhaps all three would sound, just two, might only be one, or maybe none at all.
By shipping this note data to the NDLR Cntl channel, you can make a random chord sequencer. Unfortunately, purely random gets annoying fast. Instead, knowing that no matter what Key and Mode you are working in, there are always three Major chords and three Minor chords (and one to avoid at all cost). Making some decisions on the overall flow, I can say I want to change chords every two measures, with the first four chords being Major, followed by a couple Minor chords, returning to some Major chords. Thus, I can dictate the overall mood and feel, but leave it up to chance as to what the exact chords played are. Hence, the controlling of chaos.
What can be done to chord degrees with controlled chaos can also be applied to chord types. Since these are the black keys in the NDLR Cntl channel, they, too, can have controlled chaos of deluge programming applied. Triads are good, but spice is added by using probability to choose to add 6ths, 7ths, sus2s, and sus4s from time to time.
APPLYING INSPIRATION
Going back to the inspiration section above, I wanted to apply the controlled chaos to the patterns I visualized in the sheet music, yielding the movement I saw in the written notes. I wanted to use two arpeggiators to accomplish this. The two Motifs of the NDLR would seem to be natural choices, alas their limitations prevented them from becoming what I was searching for. Instead, I opted for two external arpeggiators in the form of a Roland MC-303 and a Korg Prophecy. I’ll admit neither of these two instruments are connected to my mixer, but I keep them because I love their arpeggiators and use them only to spit out data. Unfortunately, the thing I love about them, their complex motifs, didn’t play together well and I used very basic arpeggiator patterns. Doesn’t matter, it worked out well being simple.
CREATING DIVERSITY
The data to feed these arpeggiators is the Pad data from the NDLR. Two arpeggiators on one set of data could be rather predictable, so I opted to stir the pot a bit further. Sending the Pad data to an MEP-4 (four powerful Midi Effects Processors) I could split the data as even and odd notes. This gave a bit more variety than using the NDLR’s Pad Poly-Chain. The Poly-Chain will split the Pad data as every other note generated to each channel (with Poly-Chain set to two). This yields an even balance of notes (or very close to even), no matter how many notes are in the Pad. Doing an even/odd split has a more unpredictable balance of notes sent to each arpeggiator. For example, with a Pad width of eight notes, Poly-Chain will always give a 4/4 split. Whereas even/odd may be 3/5, 4/4, or 5/3. It may even conceivably give a 2/6. Thus, the interplay of two independent arpeggiators is more diverse with each being fed different amounts of notes to work with.
After spending hours figuring out how to do an even/odd split of the MIDI note data on the MEP-4, a lightbulb went off in my head to do it on the MRCC instead. One of its Modifiers is a Note Mapper, and this would have worked out wonderfully, except for one minor issue. All other Modifiers on the MRCC are available as six different duplicate processors. Only the Note Mapper comes as a single processor. I could get even OR odd, but not both.
PUSHING CHAOS FOR ALL ITS WORTH
The patterns generated by what’s described so far are quite beautiful (beauty being in the ear of the beholder), and I could listen to this sort of stuff for hours. But, even with all the randomness builtin, it was still predictable over time. This drove a desire to add even more subtle time variance to these random based vaguely familiar predictable patterns. The MRCC has some Modifiers that are quite handy to realize this. Specifically the Note Alter Modifier. I used four of these processors to add a bit of unexpected variety to the final resultant arpeggios. On the input of each of the two arpeggiators, I use Note Alter to thin the data a bit with a probability of 95%. This is to say, most of the notes pass unscathed, but one in 20 will get blocked on the way to the arpeggiator. This gives occasional holes in the Pad data for the arpeggiators to work with. I also put a Note Alter Modifier after each arpeggiator with 90% probability. This will, in effect, suppress one in 10 notes coming out of the arpeggiator. The result is a rest every once in a while. These small amounts of probability to suppress notes gives happy accidents to the final product.
RANDOMIZING THE CHAOS
Tightly controlling the chaos of chord selection and chord types, even/odd splits of pads, density filtering by probability into and out of arpeggiators is still just not enough. I wanted Pad Range to change randomly from time to time. Knee-jerk response is to apply a built in NDLR modulator to this task. Unfortunately, the LFO it uses is free-running and would change range in the middle of two measure phrases. Instead, I opted to use the deluge’s probability capabilities described earlier to when, and exactly how much, to modulate the Pad Range. Drawback here is that Pad Range is only externally programmable via CC#s. The drawback being that the deluge only applies its nifty weighted probability to note data, not CC#s. I built a workaround to this issue by using another MEP-4 processor to convert note data into CC#s, thus I programmed note data with weighted probability into the deluge, and the MEP-4 converted them into CC# data for the NDLR.
SYNCHING
The biggest hurdle was keeping the two independent arpeggiators in sync. Since MIDI uses 24ppq clocks, not getting all the clocks exactly the same to both devices so they know where a quarter note begins turned out to be difficult. MRCC routing and filtering certainly helped in this regard.
FILLING OUT THE SOUND
Not using the NDLR’s Motifs for the arpeggiation meant I had them leftover for additional duty. I wanted all parts to start together to stay in sync, so I used Rhythm Patterns that started with four rests, since the minimum Rhythm Length is four. That way, I could start with a length of four to keep the Motifs silent, then increase the length to bring in their contribution. The Patterns used were based on what I learned in this thread:
Stochastic thread
Originally, they were simple little movements confined to within an octave to keep them from wandering around too much. Using the weighted randomness to achieve probability as described in that thread, I was able to use the Pattern Length control to control the range of notes played by the Motifs. They were sent to the same instrument that the external arpeggiators were sent to, playing in a lower register and longer gate time in a way of simulating left hand accompaniment. I also sent them combined to another instrument to provide synthesized strings, in addition to a third instrument as individual channels that provided sampled strings. The sampled strings were panned left and right and responded to NDLR MIDI Controller Volume. The synthesized strings did not respond to volume changes.
Lastly, the Drone is, well, a drone. Decent headphones or a stereo system with big-ass speakers and hopefully at least one subwoofer really help with hearing this mofo.
GOING FURTHER
The MRCC has six very capable arpeggiators built into it. Why didn’t I use it instead of the external arpeggiators? I could not figure out a way to include the Note Alter Modifier without wasting a lot of in and out ports with loopback cables. Since there are so very few in ports, I wasn’t about to do that. But, I did use one MRCC arpeggiator in Shuffle mode with a short gate. Octave was set to 2 so that every input note from the NDLR Pad data is doubled up with an octave higher version. This adds some high tinkle activity to the other two arp patterns from time to time.
VOICES
The main focus of this song is the arpeggiated activities created to support the vision described in the Inspiration section. This is built from the two external arpeggiators, both of the NDLR Motifs, and the MRCC arpeggiator. This implies a total polyphony requirement of five. Originally I wanted to use the FS1R for its more than excellent FM e-piano patches, and the Hydrasynth for its wonderful pads. Both of those choices are naturals. But, Hydrasynth polyphony is limited to eight, which is insufficient for the Pad Ranges I was using. Therefore, I swapped the duties of these two synths since the FS1R has more than ample polyphony for the pads and only a polyphony of five is required of the e-piano. The synth strings came from both NDLR Motifs and the MS2000R’s polyphony of four was perfect since I used a very long release time. The sampled strings and drone were sent to the XL-1 which has beaucoup polyphony, so not a problem. By the way, the XL-1 is expanded with the ROM card from a Proteus 2000, so I don’t have to use the sampler for these genuine acoustic types of sounds.
ABOUT THE NAME
‘Life from Stillness’ reflects my awe and wonder of nature and what happens all around us all the time. Specifically, in this case, it was late winter / early spring when I started working on this idea, and the naked trees of the winter time were starting to wake up from their leafless hibernation. A favorite cottonwood tree of mine, which is somewhere in the neighborhood of 180-200 years old, was just forming the buds where new branches of leaves would form. On a cottonwood, these buds are rather large. At this point in time, they were tight solid bursts of green on an otherwise brown/gray tree. Within a couple weeks, these solid teardrop cones would be bursting forth with an amazing amount of new growth. But, that would be in the future, and currently these buds appeared to be motionless and still and offering no hint to the changes that would come. For me, it was a thrill to contemplate the huge amount of life that was about to be released in this apparently still and motionless bud.
This piece begins with just chord changing pads representing the winter state of a tree. The arpeggios come in as a dance of this new life growing the new short branches from where all the leaves come from. Strings and drones come in to remind us of the infrastructure of the tree itself that supports the life of the leaves that we normally focus on. The tree this was written for takes a half dozen kids holding hand-to-hand in order to embrace this majestic trunk. Such a mighty tree requires a substantial drone. The string section conjers the branches.