Я хочу генерувати випадкові числа в межах певного діапазону (від 1 до 26), використовуючи.
Результати повинні бути повторюваними.
Чи існує служба / програма / спосіб виконання цього в Windows 7?
Я хочу генерувати випадкові числа в межах певного діапазону (від 1 до 26), використовуючи.
Результати повинні бути повторюваними.
Чи існує служба / програма / спосіб виконання цього в Windows 7?
Відповіді:
Спробуйте Python scipy
модуля ,
import scipy.io.wavfile as sio
data = sio.read(FILENAME)
data = data[1].astype('float')
data -= data.min()
data *= 25.0*data.max()
data += 1
Дані тепер є вектором і можуть бути збережені або використані для подальшої обробки тощо.
Якщо, наприклад, ви просто хочете зберегти вихідний файл як файл csv (значення, розділені комами), потім можна використовувати
import csv
fout = open('output.csv', 'w')
wrt = csv.writer(fout)
wrt.writerow(data)
fout.close()
Якщо файл закодований за допомогою PCM, ви можете використовувати Python wave
модуль для зчитування зразків у файлі, а потім згортання значень у діапазон.
wave
Модуль читає дані як рядок - я б рекомендував використовувати scipy.io.wavfile
замість того, як я написав у своїй відповіді - це робить дані набагато більш керованими для подальшого масштабування.
Я створив справжній файл випадкових чисел, використовуючи радіохвилі AM або те, що популярно називається білим шумом. Я зробив це в linux, так що якщо ви хочете, виконайте такі дії. 1. використовуйте радіо, яке має AM. 2. Покладіть частоту десь між радіоканалами - ви повинні отримати білий шум від радіохвиль та інших магнітних перешкод ... 3. використовуйте linux distro (debian / redhat based) - я використовував Ubuntu. 4. Встановіть програму "sox" (bundle), яка має невелике додаток під назвою "rec", яке ви будете використовувати 5. після того, як ви встановили sox, помістіть мікрофон на динаміки, щоб вони могли записувати "білий шум" і використовувати команду:
rec -c 1 -r 8000 -t wav -e signed-integer randomWAVfile
коротко: -c 1 (ви використовуєте один канал) -r 8000 (вибірка 8000 Гц) -t wav (формат файлу як wav) -e підписано ціле число (одночасно читається 16 біт) randomWAVфайл - (назва файлу - за вашими особистими уподобаннями)
У вас буде файл з випадковим шумом, який "відформатований" як wav файл (він містить wav заголовок з 14 бітів - якщо я не помиляюся)
щоб зняти заголовок і "видалити" потенційні дублікати, скористайтеся цією програмою, написаною на C Rick Van Reinn
Це не є великою проблемою, але пам'ятайте, що кастинг у цій програмі не є правильним, і ваш gcc почне скаржитися
Посилання на вихідний код: Вихідний код Openfortress
і шляхом натискання вниз файлу через програму:
cat randomWAVfile | ./noise-filter > randomBits
Ви отримаєте файл TRNG.
Я дізнався про це за допомогою цього посилання. Єдине, що створив оригінальний підручник, використовував старі версії linux, які працювали з OSS (open sound sys), а не alsa.
Оригінальна публікація: Відкрита фортеця оригінального посилання
Привітання