In a musical context, you can think oh what I have in mind like this:
Image you ‘scan’ across the noise-field in time-quantised steps (let’s say on every 16th note trigger pulse), driven by a phase-accumumulator.
Every n pulses (say, 8), the position is reset to an initial coordinate, creating a looped sequence of values.
Pass the output through a note quantiser to a VCO.
Now, tweaking the X-offset control allow you too offset the generated notes. Offset a small amount, and you will hear a part of the original pattern. A larger X-offset will produce an entirely new pattern.
Tweaking the Y-offset a small amount will morph the pattern (look at the attached image, and imagine moving each line of numbers down or up a small amount and you’ll see what I mean). This is one of the keys to the system producing musically useful results, and it depends on using 2D perlin noise.
Larger offsets will obviously again produce an apparently-unrelated set of new note values.
Varying the phase increment of the phase-accumulator driving the traversal of the noise-field will have the effect of scaling the pattern on the X-axis.
Low phase-increment values will result in a sequence of notes that cascade up and down in a smooth way.
Higher values will produce a ‘spikier’ pattern, with larger and less predictable intervals between notes.
The second aspect of the 2D PN system, that distinguished it from the interpolated seeded random sequence generator you have in mind, is that at any point, you could reset the 3 controls to their original values, and the original sequence of notes will continue playing from the position it would have been at if you’d left the controls as they were.
You can think of it as a very large set of patterns, all playing at the same time and in sync, and the 3 controls allow you to select any pattern at any time.
The sequences of numbers represent perlin noise-field lookups driven by a counter incremented by a clock pulse.
The number in white represents the current step-index.
The value under each highlighted number would be output depending on the settings of the 3 controls.
I hope this makes sense.
I’m neither a programmer nor a mathematician, so it’s difficult for me to explain what I’m getting at, sometimes, but I have a very clear idea in my head of how this could work.