Dreamworld Plus One Challenge (September 2024)

The displays for random waveforms use a fixed seed. In the XT Rack the code is

        gen = std::default_random_engine();
        gen.seed(525600 + 8675309);
        distro = std::uniform_real_distribution<float>(-1.f, 1.f);
        urng = [this]() -> float { return distro(gen); };

std::default_random_engine is a lib-c dependent default and so responds differently to seeds based on the libc, platform, etc…

this means on a single platform in a single instance the indicative displays will be stable (namely they won’t re-seed and jitter when you change rate or deform or some such) but they are only indicative so won’t necessarily be stable across libc.

The runtime one uses a different seed per voice and so will indeed be random. (and so they won’t be the same, but they wont’ be the same in a properly distributed fashion).

5 Likes