як записати мікрофонний вхід і передати вихід на іншу програму


4

Привіт всім я намагаюся слідувати підручнику з генерації дійсно випадкових бітів

Як створити дійсно випадкові біти

Це команда з підручника, але вона не працює

rec -c 1 -d /dev/dsp -r 8000 -t wav -s w  - | ./noise-filter >bits

Я знаю, що я можу записувати мій вхід мікрофона за допомогою

rec -c 1 no.wav

це команда я намагався використовувати

rec -c 1 -r 8000 -t wav -s noise.wav | ./noise-filter >bits

але я отримую

root@xxc:~/cc# rec -c 1 -r 8000 -t wav -s noise.wav  - | ./noise-filter >bits
rec WARN formats: can't set sample rate 8000; using 48000
rec FAIL sox: Input files must have the same sample-rate

Я виконав фільтр шумів

шумовий фільтр

Я думаю, що підручник використовує стару версію SOX і REC я використовую

sox: SoX v14.3.2 on Ubuntu 12.04 server

Чи може хтось мені допомогти?

Відповіді:


3

У цьому командному рядку записано дуже багато виходів:

rec -c 1 -r 8000 -t wav -s noise.wav - | ./noise-filter >bits
                           ^file     ^standard output

Для конвеєра команд, єдиним виходом має бути - в кінці. The rec команда інтерпретує noise.wav параметр в якості додаткового входу, який буде невдалий або виробляти фіктивний вихід. Спробуйте видалити додаткове ім'я файлу (та інші непотрібні / несумісні параметри):

rec -c 1 -t wav - | ./noise-filter > bits

2

за підручником, на який ви посилалися (я також слідую за цим!) І останню версію SoX man (станом на 9 листопада 2014 року), повна, виправлена ​​команда, яка працювала для мене:

rec -c 1 -r 8000 -t raw -e signed-integer -2 - | ./noise-filter > bits

ent повернув ці значення для файлу у 49,152 байта:

Entropy = 7.996356 bits per byte.

Optimum compression would reduce the size
of this 49152 byte file by 0 percent.

Chi square distribution for 49152 samples is 247.53, and randomly
would exceed this value 50.00 percent of the times.

Arithmetic mean value of data bytes is 127.5771 (127.5 = random).
Monte Carlo value for Pi is 3.147949219 (error 0.20 percent).
Serial correlation coefficient is -0.002336 (totally uncorrelated = 0.0).

Це досить хороша якість випадкових даних!


0

Схоже, ваш noise.wav не на частоті дискретизації, в яку може записувати sox, і sox вимагає, щоб обидва файли були однаковими. Можливо, вам доведеться регенерувати noise.wav за більш високою частотою дискретизації.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.