如何记录麦克风输入并将输出通过管道传输到另一个程序

acr*_*crs 5 sox audio-recording random-number-generator

大家好,我正在尝试按照有关生成真正随机位的教程进行操作

如何生成真正的随机位

这是教程中的命令,但它不起作用

rec -c 1 -d /dev/dsp -r 8000 -t wav -s w  - | ./noise-filter >bits
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用录制我的麦克风输入

rec -c 1 no.wav
Run Code Online (Sandbox Code Playgroud)

这是我尝试使用的命令

rec -c 1 -r 8000 -t wav -s noise.wav | ./noise-filter >bits
Run Code Online (Sandbox Code Playgroud)

但我明白了

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
Run Code Online (Sandbox Code Playgroud)

我已经遵守了噪音过滤器

噪音过滤器

我认为本教程使用的是我正在使用的旧版 SOX 和 REC

sox: SoX v14.3.2 on Ubuntu 12.04 server
Run Code Online (Sandbox Code Playgroud)

有人可以帮帮我吗 ?

Ale*_*ede 0

看起来您的 Noise.wav 不是 sox 可以记录的采样率,并且 sox 要求两个文件具有相同的采样率。您可能必须以更高的采样率重新生成noise.wav。