Soxはなぜ何も記録しないのですか?

Soxはなぜ何も記録しないのですか?

ストリーミングデータを標準出力に出力するRTL-SDRラジオ受信機があります。次のコマンドを使用してオーディオを聞くことができます。

$ rtl_fm -M wbfm -f 96.5M | play -r 32k -t raw -e s -b 16 -c 1 -V1 -

ご覧のとおり、rtl_fmは32kHzのサンプルレートで16ビット符号付き整数のサンプルストリームを出力します。

私はsoxを使ってこのオーディオを録音したいので試してみました。

$ rtl_fm -M wbfm -f 96.5M -g 25 | rec -e s -b 16 -r 32000 out.wav

wavファイルを受け取りましたが、空です。すべての値が0です。頑張った

$ rtl_fm -M wbfm -f 96.5M -g 25 | rec -e s -b 16 -r 32000 -t raw out.wav

しかし、これはAudacityがwavとして認識しないファイルだけを提供します。生データにインポートすると、まだすべて0です。

私が書いたように、再生コマンドを実行するとオーディオが表示されますが、録音すると何も表示されません。

とにかく、書き込みコマンドの出力は次のようになります。

$ rtl_fm -M wbfm -f 96.5M -g 25 | rec -e s -b 16 -r 32000 -c 1 out.wav
Found 1 device(s):
0:  Realtek, RTL2838UHIDIR, SN: 00000001

rec WARN alsa: can't encode 0-bit Unknown or not applicable
Using device 0: Generic RTL2832U OEM

Input File     : 'default' (alsa)
Channels       : 1
Sample Rate    : 32000
Precision      : 16-bit
Sample Encoding: 16-bit Signed Integer PCM

In:0.00% 00:00:00.00 [00:00:00.00] Out:0     [      |      ]        Clip:0    Detached kernel driver
In:0.00% 00:00:00.26 [00:00:00.00] Out:0     [      |      ]        Clip:0    Found Rafael Micro R820T tuner
In:0.00% 00:00:00.51 [00:00:00.00] Out:8.19k [      |      ]        Clip:0    Tuner gain set to 25.40 dB.
Tuned to 96771000 Hz.
oversampling input by: 6x.
Oversampling output by: 1x.
Buffer size: 8.03ms
Exact sample rate is: 1020000.026345 Hz
Create UDP thread
Created UDP thread
Allocating 15 zero-copy buffers
Main socket started! :-) Tuning enabled on UDP/6020 
Sampling at 1020000 S/s.
Output at 170000 Hz.
In:0.00% 00:00:09.22 [00:00:00.00] Out:287k  [      |      ]        Clip:0    ^CSignal caught, exiting!

User cancel, exiting...
In:0.00% 00:00:09.47 [00:00:00.00] Out:295k  [      |      ]        Clip:0    
Aborted.
Signal caught, exiting!
Reattached kernel driver

ベストアンサー1

あなたrecはに置き換えることができますffmpeg -f s16le -ar 32k -ac 1 -i pipe: file.wav

ffmpeg -formats | grep PCM私が間違っている場合に備えて。

あなたの結果

Rec WARN alsa:不明または適用できないゼロビットをエンコードできません。

実際のマイク(接続されていないと仮定)で実際に録音していることを示します。

おすすめ記事