Go Back   Karma-Lab Forums > Tutorials, Sounds, Resources > Tutorials/Articles > Korg M3
Korg M3 Instructional materials related to the use of the Korg M3 Music Workstation.

 
Thread Tools Rate Thread Display Modes

Tutorial: Understanding and Using Random Seeds
Old 25-Jul-07, 01:33 AM
  #1  
Stephen Kay
Admin/KARMA Developer
 Stephen Kay's Avatar
= offline =
Join Date: Apr 2003
Location: Westfield, NJ
Posts: 14,786
Understanding and Using Random Seeds (in the Korg M3)

Available here as a pdf: RandomSeedsTutorial-M3.pdf

This tutorial will touch on one of the most powerful parts of KARMA, and perhaps the least understood. First, some background:

How KARMA Generates Random Numbers

KARMA creates its randomizations using what is known as “pseudo-random” numbers. (Actually, all computer-based randomizations are pseudo-random in nature. There is no way to actually calculate truly random choices. But that discussion is beyond the scope of this tutorial.)

A pseudo-random number generator starts a string of calculations with a number known as a “seed.” A randomized number is generated by performing a special mathematical operation on the seed. When the next random number is needed, the same operation is performed on the previous random number and so on, with all randomizations in a sequence descending from the initial seed (“start seed”). Therefore, it is possible to repeat exactly a sequence of randomizations if you start with the same seed. Different seeds yield completely different sequences of randomized numbers. Since KARMA bases its choices for rhythms, durations, notes etc. on these sequences of random numbers, totally random-based phrases and patterns can be recalled, stored, and repeated at any time, and shared between Modules!


But what can I do with it?

There are several things you can do with KARMA’s Random Seed parameters:

- Make two different programs, using two different timbres, play the same randomized riff in unison or harmony.
- Loop a randomly chosen phrase over and over until the next time you trigger it.
- Optionally, once you hear one you particularly like, you can execute "Capture Random Seed" and the Start Seed will automatically be set to the value required to create that riff.
- Try different Start Seeds, looped or not, each of which will create a different Random sequence of values.
- Create randomized drum grooves that repeat consistently, and more!

This tutorial will take you through some examples of each of these.


Setting two different instruments to play the same completely random phrase, in harmony

We'll use an INIT Combi for this experiment. Choose Combi D000 or any other Init Combi.
  1. On page 0-5 KARMA GE, select GE 0270 Improv Lead 1 for Module A (you can type the numbers and press enter in the number field, or use the GE Select dialogs.) Turn on the KARMA On/Off switch, and play and hold Pad1 - you will hear a totally random improvisational phrase being played on the default piano sound. (You can turn on the LATCH button if you don't want to have to hold down the pad.)
  2. Let's set that to be a brass sound - go to 0-1 Prog 1-8 and use the Category select button on timbre 1 to choose Brass > B085 Trombone Vibrato. This also allows the fact that the GE is fading in the vibrato on long notes to be put to better use than it was on the piano.
  3. Back to 0-5 KARMA GE, and select the same GE 0270 Improv Lead 1, for Module B. Turn on the Module B "Run" checkbox, and play the pad - now, a piano is playing a completely different random riff at the same time as the trombone.
  4. Exit back to 0-1, and set timbre 2 for a tenor saxophone: A090 Tenor Sax Hard. Play the pad and hold; you can hear that both instruments are doing completely different random phrases each time.
  5. Go to 7-1-8 KARMA 1 > Random Seeds. Here, we have grids that allow the Random Seeds to be "shared" between modules, separately for different attributes. For example, you might want two instruments to play the same random notes, but have slightly different velocities as if different musicians were playing them. Here, we'll set the two instruments to share the Rhythm, Duration, and Index attributes (index is the order of pitches that gets played.) So touch the B column for the Rhythm Grid, and use the Up/Down keys or Rotary Dial to change the B Seed from 2 -> 1. Do that also for the Duration grid and the Index Grid.
  6. Play the pad again: now, the two instruments are playing totally in unison the same unpredictable random riff, but having different velocities. Also the panning on the two of them is different, because the CC-A/B/Pitch grid has different values.
  7. Now, let's make them play in harmony. Go to 7-3-5 GE RTP A, which are the parameters for the trombone. In slot 08 is Note Series: Inversion. Change the MIN value from +0000 -> +0002, and try the pads: the trombonist and sax player are reading each other's minds, improvising completely at random yet in perfect sync and harmony!
Why does this happen? Without getting into a huge lengthy description, these KARMA GE’s work on a “Note Series” that is created in memory when you play a chord. Notes based on what you play go into the Note Series, where there is an Inversion setting that shifts all of them. So if you had the notes C3 D3 E3 G3 A3 C4 D4 E4.... etc. as an arpeggio in the Note Series, with the Inversion at 0 it starts at the bottom note. So both modules play in unison.

When you change the Inversion to 2, all of the notes are shifted by that amount according to the scale steps, so the Note Series becomes E3 G3 A3 C4 D4 E4 G4 A4.... etc. (essentially shifting the Note Series so it’s like it started on the 3rd note.) It's like changing the inversion of a chord from C-E-G to E-G-C to G-C-E etc.

So what happens is the two GEs index the same position in the Note Series, but since the Note Series is offset by 2 notes between the 2, you get harmony like this:

Module A: C3 D3 E3 G3 A3
Module B: E3 G3 A3 C4 D4

Basically, a 3rd or 4th apart with respect to the notes in the scale.

In this example, to change the harmony note of one of the GEs, you go edit the Inversion parameter until it sounds how you like. Since it is assigned to a switch as part of the Switch 3 Invert Phrase functionality on the Control Surface (0-6 KARMA RTC), the Min setting is when the switch is Off, and the Max setting is when the switch is on. Since the switch is off by default, I edited the Min setting.


Looping a Randomly Selected Phrase over and over

Continuing with the above example, at this time, every time you trigger a pad or the keyboard, a completely different random phrase is being generated. This is because the KARMA Engine internally is picking new random seeds every time. Then, as time goes on, each random number in the sequence is just following from the first one, and nothing ever repeats. You can let this run for a while to verify that. The GE is actually based on a 6/4 + 2/4 pattern, making it sound like 2 bars of 4/4, and it restarts at the bottom every 2 bars, but the notes and rhythms are different random phrases each time.
  1. To cause it to "loop" a randomly generated phrase, go to 7-1-8 Random Seeds, and set the Freeze Loop Length for Modules A and B to "2". (This is because of the 6/4 + 2/4 structure I mentioned above - if you set it to "1", it would retrigger every 6 beats.) However, what happens at this point, if you try it, is that the rhythms and pitch paths are indeed repeating, but the starting point of the phrase is not restarting, so each repetition continues from the last note of the current one. This is due to another internal GE setting.
  2. That's where the "Retrigger Each Time" setting comes in: turn this on for both Modules, and now the phrase will be retriggered every 8 beats, as if you replayed the pad or the keyboard.
  3. Try it now, with Latch On, and you will see that a randomly generated phrase is looped over and over, until you trigger another one. Play the pad again, and a new Random phrase is generated, which will then loop over and over.
  4. You can set the Freeze Loop Length to "4" to get a phrase that's twice as long before the loop happens.
OK, but say you trigger a completely randomly selected phrase that is "great" - how can you make sure the system somehow can recreate that phrase in the future? That's where the next part comes in, the actual "Random Seeds".


Capturing the seed so you can repeat that phrase
  1. Continuing from the above, set the Freeze Loop Length back to 2, and, trigger the pad a few times with the latch button on, until you find a phrase that you "like".
  2. Touch the Menu Command button in the upper right, and choose "Capture Random Seed". Specify Module A, and touch OK. Repeat the operation for Module B.
  3. You will now see some long number in the Start Seed field, such as +0001490115 - this is the Random Seed that the system used at that moment to create that phrase. Now, you can repeatedly retrigger the pads and the keyboard, and it will always play that sequence of notes and rhythms, but with different chords (of course). Try the different pads.
  4. You could now store the program this way, and this particular riff would always be generated when it was called up.

Random Seeds page with two Modules playing the same random riffs in harmony


Trying different Random Seeds one by one

Taking this a step further, you can specify your own Start Seed values.
  1. First, if you want the two Modules to stay in sync, check the "Link" checkbox near the Module A Start Seed field.
  2. For example, enter the value 1 in Module A's field and press ENTER. Retrigger the riff. That's the phrase that you would get from +00000001.
  3. Increment to +00000002 and try again. Try some other values, such as your birthday. Each one gives a unique random phrase resulting from that Random Seed. And again, you can store it with this seed and it will always generate that riff. As you can see from the number of digits in the field, there are approximately 4 billion different values (2 to the 32nd power, to be exact, or 4,294,967,296). If you tried one every ten seconds it would take you approximately 1,362 years to audition all of them!


Using Random Seeds on Drum GEs

These techniques are not limited to being used on melodies. Anything that is randomly influenced can likewise be repeated.
  1. Choose Program Mode, B052 Electro Rock Kit.
  2. Go to 0-6 KARMA RTC, and set Slider 3 NtRandm (Note Randomize) to 37, and Slider 4 Rnd/Imp (Randomize/Improvize) to 70, and trigger the groove. It will be randomizing a bit. Slider 3 controls how many of the notes actually get played, with 127 being all of them, while Slider 4 controls a randomization of every other bar with clusters, and an improvisational randomization when pushed over 64.
  3. Go to 7-1-8 Trigger, and set Note Trigger to "Any" from 1st. The reason is that usually you need to retrigger the GE to get the new Random Seed features to take effect, and the way this is set, it only triggers when you turn it off and then start it again.
  4. Go to 7-1-6 Random Seeds, and set Freeze Loop to 2. Retrigger the pad - you should now hear the same randomizations happening in the drum groove each time through. Retrigger it again, a different set of randomizations that will then loop for 2 bars. Again, you can use "Capture Random Seed" to grab a seed you like and save it, or try entering them manually until you find one you like.


Other tricks - using Freeze Loop Length and Retrigger to shorten a phrase

Even if you don't change the Random Seeds, you can use Freeze Loop Length and Retrigger Each Time to shorten a GEs phrase or make it conform to a certain number of beats. For example, some drum Grooves have a turn around in bar 16 that might bug you. You can get rid of this by setting the Freeze Loop Length to a shorter number such as 8, and turn Retrigger on - it will then only play the first 8 beats of the phrase, never reaching the turn around.

Continuing with the example from above, if you turn on "Retrigger Each Time" with Freeze Loop Length set to 2, you will hear the cymbal crash every 2 bars. Set Loop Length to 1, and you're only playing the first bar of the phrase.



"Hey, I tried this on some GEs and it didn't work...."

Note that the Random Seeds will not seem to have much of an effect if no randomization is actually going on in a particular GE. However, you can do this with almost any GE that has the capability to randomly vary certain attributes. Even though the default settings of the GE may be such that no randomization is going on, depending on the RTC Model assigned to the GE, most GEs have a way to turn on randomization. For example, all of the GEs using the CL1 - Comp/Lead 1 or BL1 - Bass/Lead 1 RTC Models have a switch assigned to turn on a Random Note Pattern choice; the Drum GEs (RTC Model DP1 - Drum/Perc) have Random Rhythms and Clusters introduced by Slider 4 Randomize/Improvise, and Note Randomize on Slider 2, etc.

Enjoy!
__________________

Stephen Kay - Developer of KARMA Technology
KARMA software for your keyboard: KARMA M3 | KARMA Oasys | KARMA M50 | KARMA Triton | KARMA MW
new sounds for your keyboard: Chemistry 1, 2 + 3 | Reincarnation 1 | NEW! Reincarnated (M3/M50) | Catalyst 1
cool stuff to dress up your body/studio: KARMA LogoWare
Reply To This Message
(maintains threaded/hybrid display) Reply With Quote

Old 25-Jul-07, 06:04 AM
  #2  
SynDrome
New Member
= offline =
Join Date: Jul 2007
Location: UK
Posts: 18
That was very useful indeed and clears things up nicely, it needs experimentation to see what else can be achieved - it looks like the karma system has hidden depths...many owners will very much appreciate this, thanks.
Reply To This Message
(maintains threaded/hybrid display) Reply With Quote

Old 25-Jul-07, 03:13 PM
  #3  
lekanout
New Member
= offline =
Join Date: Jul 2007
Location: Paris,france
Posts: 41
many thanks for all you do here,and so quickly!I' m very happy to be on this forum,and i will try this tutorial tonight....i already know how interesting it is to try and learn that!
Reply To This Message
(maintains threaded/hybrid display) Reply With Quote

Old 26-Jul-07, 06:05 PM
  #4  
Stephen Kay
Admin/KARMA Developer
 Stephen Kay's Avatar
= offline =
Join Date: Apr 2003
Location: Westfield, NJ
Posts: 14,786
The above tutorial and pdf have now been edited to provide an explanation of why changing the Inversion setting causes the two modules to play in harmony.
__________________

Stephen Kay - Developer of KARMA Technology
KARMA software for your keyboard: KARMA M3 | KARMA Oasys | KARMA M50 | KARMA Triton | KARMA MW
new sounds for your keyboard: Chemistry 1, 2 + 3 | Reincarnation 1 | NEW! Reincarnated (M3/M50) | Catalyst 1
cool stuff to dress up your body/studio: KARMA LogoWare
Reply To This Message
(maintains threaded/hybrid display) Reply With Quote

Old 26-Jul-07, 08:21 PM
  #5  
Lou
Platinum Member
 Lou's Avatar
= offline =
Join Date: May 2003
Location: Middletown, DE
Posts: 617
Since the inception of Karma, I understood little to nothing of this feature. It has been lurking in the background all these years and yet providing this incredible resource to the Karma function.
Thanks for taking the time to put this Tutorial together Stephen and giving us a little better understanding.

I haven't gone through the entire TuT. yet but I'm wondering, is there a way to use this for example on a Drum Ge Module within a combi and have it capture a grove per scene... I guess we would need 8 Start Seeds per Ge Module.(One per scene) Does that make any sense? Am I loosing it or what!
__________________

Lou
Reply To This Message
(maintains threaded/hybrid display) Reply With Quote

Old 26-Jul-07, 11:45 PM
  #6  
Stephen Kay
Admin/KARMA Developer
 Stephen Kay's Avatar
= offline =
Join Date: Apr 2003
Location: Westfield, NJ
Posts: 14,786
Hi Lou,
I'm planning to rewrite this for the OASYS soon, but it's virtually identical excpet for the Program, GE and Page locations, as I guess you've figured out.

Actually, yes, you can have different seeds for each scene, although it's not entirely as flexible as one could wish.

If you go to the Perf RTP Page, you can assign the Start Seed Value as a parameter; however, due to the limitations of the system, the applicable range that can be selected in this manner is -8191...+8191. Those are the largest values the system will handle for any controlled parameter. This particular parameter, with its range of over 4 billion, is a rare duck and the only one like it in the entire system. So by assigning it to a slider, and some range of numbers, you can get 8 different seed values, and 8 repeatable variations, but it might not be the ones that you particularly want. Then again, if you take a little time, you should be able to find 8 things out of 127 possible values within a particular sub-range that do useful things.
__________________

Stephen Kay - Developer of KARMA Technology
KARMA software for your keyboard: KARMA M3 | KARMA Oasys | KARMA M50 | KARMA Triton | KARMA MW
new sounds for your keyboard: Chemistry 1, 2 + 3 | Reincarnation 1 | NEW! Reincarnated (M3/M50) | Catalyst 1
cool stuff to dress up your body/studio: KARMA LogoWare
Reply To This Message
(maintains threaded/hybrid display) Reply With Quote

Old 27-Jul-07, 12:36 AM
  #7  
Lou
Platinum Member
 Lou's Avatar
= offline =
Join Date: May 2003
Location: Middletown, DE
Posts: 617
Hi Stephen,

Actually, you really don't have to rewrite it. It was a no brainer following the steps involved.
I didn't get very far with your previous post, but thats okay. I would be using Random Seeds for recording purposes only and will just generate seeds and record the notes as I need them, which is fine here. Thanks again.
__________________

Lou
Reply To This Message
(maintains threaded/hybrid display) Reply With Quote

Old 27-Jul-07, 02:07 PM
  #8  
qrobinez
Platinum Member
= offline =
Join Date: Jul 2007
Location: Holland
Posts: 414
Incredible!

i've followed the tutorial. This function is very powerfull. It's explained so well with the hands on exercises. I understood it at once.

Thanks Stephen for being such a great help for the community. These tutorials are giving so much extra value to the parts of the instrument you normally never would explore or really understand. I'm going to use this feature very much in my upcoming patches.

And now i've got to groove on the fantastic drumloop i've made with the help of seeding and karma improvisation
__________________

using: Cubase 5, Motu, Synths: Korg M3, Korg Karma, Radias, Motif XS, Virus TI, Vsynth XT, Neuron and lots of other Synths
Reply To This Message
(maintains threaded/hybrid display) Reply With Quote

Old 28-Jul-07, 03:35 AM
  #9  
Jimi Jones
Gold Member
= offline =
Join Date: Jan 2005
Location: San Jose, CA
Posts: 262
Stephen;

This was clearly an eye opener for me, thanks, seriously I mean it, you are constantly showing me that this instrument is really powerful, however I will admit reviewing the "Random Seeds" tutorial solidified my conviction that capturing your own riffs is going to be heavenly, BTW when the KARMA M3 Software comes out, and you implement that feature to capture your own riffs, I'm assuming one will be able to go in and modify the parameter a little or alot....right..?

Jimi Jones
Reply To This Message
(maintains threaded/hybrid display) Reply With Quote

Old 28-Jul-07, 04:29 PM
  #10  
Stephen Kay
Admin/KARMA Developer
 Stephen Kay's Avatar
= offline =
Join Date: Apr 2003
Location: Westfield, NJ
Posts: 14,786
Hi Jimi,
I assume you meant the "KARMA M3 Software" (I edited your message, you said just when the M3 comes out, but it's already out, or maybe you were referring to an update...?) In any case, creating your own GEs is a bit different than playing with the Random Seeds, you can do that to your own created GEs as well, but yes, you can modify things a lot or a little.
__________________

Stephen Kay - Developer of KARMA Technology
KARMA software for your keyboard: KARMA M3 | KARMA Oasys | KARMA M50 | KARMA Triton | KARMA MW
new sounds for your keyboard: Chemistry 1, 2 + 3 | Reincarnation 1 | NEW! Reincarnated (M3/M50) | Catalyst 1
cool stuff to dress up your body/studio: KARMA LogoWare
Reply To This Message
(maintains threaded/hybrid display) Reply With Quote

Old 29-Jul-07, 09:25 AM
  #11  
knowttedd
New Member
 knowttedd's Avatar
= offline =
Join Date: Jun 2007
Location: cleveland,ohio
Posts: 8
hey great stuff stephen--drum fills will never be the same(ha). it's satisfying to begin to grasp the science behind the m3 and to use that knowledge to hopefully turn it into art. these type of tutorials make me braver to experiment more freely and that's worthwhile--thanx dk
__________________

"no ma'am--we're musicians" Blues bros.
Reply To This Message
(maintains threaded/hybrid display) Reply With Quote

Old 22-Aug-07, 04:54 PM
  #12  
Arend Groot
Gold Member
 Arend Groot's Avatar
= offline =
Join Date: May 2003
Location: netherlands
Posts: 363
Hi Stephen, thanks for this tutorial

I followed the steps and it worked fine with the Oasys also. I used it with GE 267 Improv Lead 1.

This part was a mystery for me also. After your tutorial I red the manual again on the subject, and now I understand the text, but only after this tutorial and experience it myself

That was the same thing for me with the manual advance. Could hardly find it in the manuals but you created a wonderful tutorial.

Hope for some more hidden beauty's in the future
__________________

arend
Reply To This Message
(maintains threaded/hybrid display) Reply With Quote
Reply To This Thread

Bookmarks


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Make payments with PayPal - it's fast, free and secure!
Has this forum helped you? Consider a small donation!
Click the button - you don't even need a PayPal account!
(For PCA Subscriptions please click here instead.)
All times are GMT -4. The time now is 03:26 PM.

Mark Forums Read | View Forum Leaders

Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.