psuedo Noise Generator ;^P
Harry Bissell
harrybissell at prodigy.net
Sat Sep 9 21:27:03 CEST 2000
OK: Now we are getting into uncharted territory...
1) if you remember the "million monkeys theorem" we can expect an infinite
number
of monkeys typing at random for eternity to eventually write war and peace...
If we go much further in the number of stages, its possible that sometime in
the next
1000 years one of our synths will start saying "Welcome back my friends to the
show
that never ends..." or some such thing. The copyright implications are
staggering. And
if anyone DOES hear this... we will assume they are crazy and have to wait
another 1000
years.
2) (more serious) Perceptually... we should not worry about how long we CAN
make
the register, just how long we NEED make it. I have never heard a dropout due
to a
missing frequency using the most agressive bandpass filter common to
synthesizers
(12 or 24 db... Q as high as you like). A continuous filter sweep will show
that is true even for the WIMPY MM5837. So "should we care"?
3) There may be applications that need more "random" sources... but with a
repeat rate
measured in hours (or more) we will NOT hear any repeat. If we perform a
composition
what is the chance we will enter the noise sequence at the same point every
time... nil.
But hammer on !!! This is a very interesting thread indeed !
H^) harry
The Old Crow wrote:
> Have a look at:
>
> http://www.oldcrows.net/~oldcrow/noise508_63.asm
>
> It expands the shift register to 63 bits, with taps at 62 & 63 as
> per the 1 + X + X^63 polynomial. The only tradeoff is that the loop time
> for a bit is 4us longer, lowering the max. frequency to 17.8KHz or so.
> With a bit of tweaking, I can shrink the loop time again. Here is the fun
> part: (from the code comments)
>
> ;
> ; The main loop 'taps' is 28 CPU cycles. At the 4MHz internal clock
> ; rate, the noise output is operating at a max. rate of about 17.8KHz.
> ; It is 1 microsecond per CPU cycle, so 28us per bit output. It takes
> ; two bits (one high, one low or vice-versa) to define the highest
> ; frequency, or a period of 56us. The highest frequency is thus 17,857Hz.
> ; Since the LFSR will cycle through 2^63-1 states, it will take
> ; 9,223,372,036,854,775,807 iterations of the taps loop to return to the
> ; starting seed value. At a rate of about 35,714 loops per second, it
> ; will take a mere 8,183,588 YEARS to repeat.
> ;
>
> I think I got that right... ;)
>
> Crow
>
> /**/
More information about the Synth-diy
mailing list