--- cmt/src/freeverb/Components/revmodel.cpp~ 2000-11-04 10:01:09.000000000 -0800 +++ cmt/src/freeverb/Components/revmodel.cpp 2005-01-28 15:01:46.000000000 -0800 @@ -6,6 +6,15 @@ #include "revmodel.h" +unsigned int rand_state = 1; + +inline void add_white_noise (float &val) { + rand_state = rand_state * 1234567UL + 890123UL; + int mantissa = rand_state & 0x807F0000; + int flt_rnd = mantissa | 0x1e999999; + val += *reinterpret_cast <const float*> (&flt_rnd); +} + revmodel::revmodel() { // Tie the components to their buffers @@ -82,6 +91,7 @@ { outL = outR = 0; input = (*inputL + *inputR) * gain; + add_white_noise(input); // Accumulate comb filters in parallel for(i=0; i<numcombs; i++) @@ -118,6 +128,7 @@ { outL = outR = 0; input = (*inputL + *inputR) * gain; + add_white_noise(input); // Accumulate comb filters in parallel for(i=0; i<numcombs; i++)