我尝试在 Ubuntu 16.04 上使用 Beringer UMC1820 音频接口录制两个通道的音频,方法是调用
arecord -f S32_LE -r 48000 -d 30 -D hw:4,0 -c 2 test.wav
但失败并显示以下消息
arecord: set_params:1239: Channels count non available
如果我省略该参数,它可以正常工作-c
,但在这种情况下将创建一个 18 通道文件。
输出arecord -D hw:4,0 --dump-hw-params
如下:
»HW Params« von Gerät "hw:4,0":
--------------------
ACCESS: MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT: S32_LE
SUBFORMAT: STD
SAMPLE_BITS: 32
FRAME_BITS: 576
CHANNELS: 18
RATE: [44100 96000]
PERIOD_TIME: [125 165103)
PERIOD_SIZE: [6 7281]
PERIOD_BYTES: [432 524232]
PERIODS: [2 1024]
BUFFER_TIME: [125 330227)
BUFFER_SIZE: [12 14563]
BUFFER_BYTES: [864 1048536]
TICK_TIME: ALL
--------------------
arecord: set_params:1233: Sample-Format nicht unterstützt
Available formats:
- S32_LE
我也尝试过-plughw:4,0 -c2
按照建议使用在 Sourceforge 上的这个主题中但结果却是一个空的立体声文件。例如,在 Audacity 中立体声录音工作正常,但我正在寻找一种从命令行录音的解决方案。
是否真的可以只录制一次所有频道广告,还是我遗漏了什么?
答案1
对于 UMC1820,此命令有效:
arecord -f S32_LE -r 48000 -D hw:4,0 -c 10 test.wav
请注意,您需要 10 个通道,并且所有通道都将被录制,从而产生一个具有 10 个通道的 WAV 文件。
如果您只想录制前两个频道,也可以这样做:
arecord -f S32_LE -r 48000 -D plughw:4,0 -c 2 test.wav
# playback with
aplay -f S32_LE -r 48000 test.wav
仅供参考,如果您喜欢多轨录音,那么同样适用于 ecasound:
ecasound -c -f:32,10,44100 -i alsahw,4,0 -o test.wav
ecasound -c -f:32,2,44100 -i alsaplugin,4,0 -o test.wav