I want to generate random numbers within a certain range (1 to 26) using a .wav file with only static noise.
The results need to be repeatable.
Is there any service/program/method of accomplishing this in Windows 7?
import scipy.io.wavfile as sio data = sio.read(FILENAME) data = data.astype('float') data -= data.min() data *= 25.0*data.max() data += 1
The data is now a vector and can be saved or used for further processing etc.
If for example you just want to save the output as a csv (comma separated values) file, you could then use
import csv fout = open('output.csv', 'w') wrt = csv.writer(fout) wrt.writerow(data) fout.close()
If the file is PCM-encoded then you can use Python's
wave module to read the samples in the file, and then fold the values into the range.
I have created true random number file using AM radio waves or what is popular called white noise. I've done it in linux, so if you want that follow these steps. 1. use your radio that has AM. 2. put frequency somewhere between radio channels - you should get white noise from radio waves and other magnetic interference... 3. use linux distro (debian/redhat based) - I have used Ubuntu. 4. Install "sox" (bundle) application, which has small app called "rec" that you will use 5. after you installed sox, place your microphone to the speakers so they can record "white noise" and use command:
rec -c 1 -r 8000 -t wav -e signed-integer randomWAVfile
in short: -c 1 (you are using one channel) -r 8000 (sampling of 8000 Hz) -t wav (format file as wav) -e signed-integer (and reads 16 bit at the same time) randomWAVfile - (file name - by your personal preference)
You will have file with random noise that is "formated" as wav file (it holds wav header of 14bits - if I am not mistaken)
to strip down header and "remove" potential duplicates use this program written in C by Rick Van Reinn
It is not a big issue, but be aware that castings in this program is not correct and your gcc will start to complain
Source code link: Openfortress source code
and by pushing down file through the program:
cat randomWAVfile | ./noise-filter > randomBits
You will get TRNG file.
I have leaned that by using this link. the only thing the guy who created original tutorial were using ancient versions of linux that operated with OSS (open sound sys) and not alsa.
Original post: Openfortress original link