What do you think about getting random values by just taking any input and applying a little DSP to it, something like sin(input_A*100000)? The idea is that with the radical scaling and the sine function folding the signal back on itself, the background noise of any input becomes equivalent to a true random source. This is what I do with the ES-8 and Audulus, but I am wondering if the hardware random source offers some advantage.
You’re right about the fact that the STM32F4 ADC inputs would appear to be nice random sources My worry is that the spectrum of the noise source might not be white in some – that in some environments, a floating ADC input could pick-up mains hum or demodulate radio signals (fun fact: Kinks’ noise circuit can demodulate some signals in a frequency range used by aircrafts and control towers – fortunately the data sent in this band is digitally modulated, so its spectrum is white). Plus you only get about 4 bits of noise per input, and they are sampled at a low rate (6.4kHz), while Marbles might need random bits at a faster rate.
The “proper” way to do this (as done in the linux kernel) is through the concept of entropy pool. But what’s the point of going that far when you have a built-in hardware random source?
For those who missed it, Olivier is referring to the fact that the ADCs on the STM32F4 series of chips are well known to be a bit on the crap side - you need to trim several LSBs and do quite a bit of averaging to get useful values from them.
That’s hilarious. Now I’m thinking of patches that involve radio signals somehow.
Just to say thanks Olivier for relesing the code - having loads of fun poking around and messing with it!
I have Marbles since several months now and I understand all of its functions but I’m not sure when Deja Vu buttons save their on/off state.
Example: I have them on when I switch off my system then they’ll be on next time as expected, now if I shut off one or both to have some new random data to play and don’t touch the other panel controls they’ll be still on next time I’ll switch on my system. This doesn’t happens always but very often and still haven’t figured a clear way to reproduce it, something I’m missing here?
State (including Deja Vu buttons) is saved when you change any of the 5 mode buttons (the small ones).
However, state is not saved when pressing the Deja Vu buttons - the reason is that saving state takes a few ms during which the module freezes, and turning Deja Vu on/off is something I consider a “performance gesture”.
Ok mystery solved, many thanks boss!