This is the best explanation I’ve ever found of the original Nord module, from electro-music.com. Not as active anymore, but probably the best source I know of for Nord Modular-related information.
The patterns are not random but pseudorandom. The idea is that a sequence is generated that cycles through all possible numbers in the 24 bit range until all numbers have passed once, and then repeat that same pattern all over again. It is a long pattern where for e.g. every number or for each ‘two consequetive numbers’ combination, there is a specific new number. The pattern appears random as there are just so many numbers in that one very long sequence. It is an example of a case where something is actually totally determined, but with soo much info that it appears random to our ears. To our ears its just ‘info-glut’.
It is possible to jump to any location into that long sequence and always get the same sequence back from there. So, the pattern generator just plays e.g. sixteen notes from the sequence that is actually over 16 million numbers long.
It is theoretically possible to calculate the sequence, the methods to create that one long sequence are simple. The two methods used are the ‘linear congruential’ method and the shift-register method.
The first method takes a number and produces a new number by multiplying the original number with a certain prime number and then adding another certain prime number. The other method is like a hollow pipe where bits are shifted in at the one end so bits tumble out on the other end. Just imagine these bits to be black and white painted ping-pong balls. Two or more bits at a certain location in the pipe are checked for parity and it is the result of this parity check that is shifted in at the one side of the pipe.
The methods can be calculated if for the first method one knows the two prime numbers, and for the second method which bits ‘in the pipe’ are actually used for the parity check. Of course Clavia says they have forgotten those prime numbers and for some reason the code that showed which bits in the pipe are used has been stained in stroopwafel liquorice, so it has become unreadable. Wink
So yeah, you can be sure that the patterns always repeat themselves, it is inherent on how the patterns are produced in the first place.
The other random modules actually use that same long ‘linear congruential’ sequence. Noise does repeat after some three minutes or so. Dividing (2^24 minus one) by 96000 gives the length in seconds. 174.76267 seconds says my calculator. Ok.
On the other modules the seed value is the starting point in the long sequence, but those run through all numbers while the pattern generator resets to its seed after e.g. 16 numbers. Using a ClkDivide module to reset a clocked random generator module after e.g. sixteen clockticks can produce the exact same patterns as the pattern generator.
My interpretation is it’s like if you had two different sets (e.g. A & B) of 128 (or some other musical division of) states values, with many variations of those values that you then combined to get a single set of values. The lists of values would always be the same, but by combining different variations and changing when they repeat, you’ll end up with an incredibly wide range of results.
Here’s a quick example with existing modules:
- The Clock and Sequencer are just there to advance the Random Bank A and B clock (in tandem), and could be any trigger input.
- Random Bank A and B provide 16 sets of 64-step values. In theory these values would never change (I guess I could save them as presets to reload? Maybe there’s something to explore there). They advance only when they receive a trigger input. All 16 patterns trigger and restart together, and remain the same length.
- Length allows you to select how many steps the Random Bank A and B should play before restarting from the first step.
- Probability adjusts how often the incoming Sequencer triggers actually advance the Random Banks.
- Pattern Select A & B output one of the 16 patterns.
- A/B logic just offers a couple of different ways to combine the signals. I wasn’t sure how it’s done on the Nord, or if one is more musical than another, so this just provides some options.
- The rest is just note quantizing and the voice.
That first version is more visual, but in the middle of writing this, I actually found a simpler way to build this out using docB’s P16, which is close to part of the original Nord module, but with fewer variations. Still, even with just 16, there are a lot of possibilities. I’ll include both patches below.
NMG2 Random Pattern Test v2.vcv (11.9 KB)
NMG2 Random Pattern Test.vcv (14.4 KB)