[sdiy] Best software noise algorithm?

Tom Wiltshire tom at electricdruid.net
Wed Feb 17 19:16:14 CET 2010


On 17 Feb 2010, at 18:10, Antti Huovilainen wrote:

> On Wed, 17 Feb 2010, Tom Wiltshire wrote:
>
>> What's the most efficient software pseudo-random noise algorithm?
>> [...]
>> I'll be doing this in dsPIC assembly as usual, and I've currently  
>> got a 64-bit LFSR that generates a new 16-bit number in 19 cycles.  
>> The quality and sequence length of that are more than I really  
>> need, so I'd like to speed it up.
>
> I'd try a 16 bit LCG that is periodically (say, once every 16  
> samples) reseeded by a better PRNG (such as 32 bit LCG). I tested  
> this in matlab and it sounded white.
>
> Another thing worth trying is to read pregenrated random numbers  
> from a shortish (say, 256 - 1024 samples) buffer and reseed the  
> index every N samples.
>
> Antti

Interesting idea. You think such a short list would do even for 16- 
bit variables?

Still, I suppose you could XOR them with something to prevent the  
same values coming out repeatedly.

Thanks,
T.




More information about the Synth-diy mailing list