0

我正在尝试读取 FM 信号并将其传输到 sox。这是异常退出。知道发生了什么吗?

谢谢。

$ rtl_fm -f $137M -s 60k -g 45 -p 55 -E wav -E deemp -F 9 - | sox -t wav - abc.wav rate 11025
Found 1 device(s):
  0:  Realtek, RTL2838UHIDIR, SN: 00000001

Using device 0: Generic RTL2832U OEM
Found Rafael Micro R820T tuner
Tuner gain set to 44.50 dB.
Tuner error set to 55 ppm.
Tuned to 37480000 Hz.
Oversampling input by: 32x.
Oversampling output by: 1x.
Buffer size: 4.27ms
sox FAIL formats: can't open input  `-': WAVE: RIFF header not found
Sampling at 1920000 S/s.
Output at 60000 Hz.
Signal caught, exiting!

User cancel, exiting...
4

1 回答 1

0

WAV 标头需要音频内容的大小。通常在捕获整个内容后设置。在您的示例中,您在捕获内容时通过管道传输内容,因此未设置标题。

您应该单独使用它们而不是管道,或者假设此rtl命令允许它,管道原始数据。这可能需要手动指定输入数据的格式(采样频率、位深度等)sox

于 2021-08-27T00:12:14.733 回答