Я использую 32-канальное аудиоустройство, совместимое с USB-интерфейсом. (Behringer X32 с установленной картой X-UF.) Я пытаюсь записать с этих каналов на Raspberry Pi с Raspbian Jessie.
arecord --buffer-size=88200 --device=hw:CARD=XUF,DEV=0 --format S32_LE --rate 44100 -c 32 testrec3.wav
Это создает файл WAV с 32 каналами, с частотой 44,1 кГц, 32-разрядный, как и ожидалось. Я могу открыть файл с Audacity. Тем не менее, все каналы совершенно бесшумны. Пытаясь воспроизвести файл с помощью aplay
, он, кажется, воспроизводится в течение соответствующего промежутка времени, но абсолютно бесшумный.
Я проверил устройство под Windows, чтобы убедиться, что каналы были установлены на X32 ... они были, и он работал нормально.
Я считаю, что arecord
правильное устройство, потому что оно не будет работать, если я не укажу 32 канала, правильную частоту дискретизации и правильный формат семпла. Если я получаю эти параметры неправильно, я получаю ошибку, как и ожидалось. Если я изменю частоту дискретизации на X32 на 48 кГц, мне пришлось изменить частоту дискретизации по параметрам arecord
, как и ожидалось.
Если я запускаю alsamixer
, я не получаю VU-метры ... просто сообщение:
Это звуковое устройство не имеет никаких элементов управления.
Это ожидается. На моем устройстве не должно быть ничего, управляемого программным обеспечением. Просто каналы, каналы вне. Я надеялся, что некоторые измерители VU покажут, что происходит, но AlsaMixer, кажется, не делает этого, если нет контролируемого микшера.
Как я могу далее отладить эту проблему? Что я могу проверить, чтобы выяснить, почему запись молчит?
Вот список устройств:
pi@raspberrypi:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 1: XUF [X_UF], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
pi@raspberrypi:~ $ arecord -L
null
Discard all samples (playback) or generate zero samples (capture)
sysdefault:CARD=XUF
X_UF, USB Audio
Default Audio Device
front:CARD=XUF,DEV=0
X_UF, USB Audio
Front speakers
surround21:CARD=XUF,DEV=0
X_UF, USB Audio
2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=XUF,DEV=0
X_UF, USB Audio
4.0 Surround output to Front and Rear speakers
surround41:CARD=XUF,DEV=0
X_UF, USB Audio
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=XUF,DEV=0
X_UF, USB Audio
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=XUF,DEV=0
X_UF, USB Audio
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=XUF,DEV=0
X_UF, USB Audio
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=XUF,DEV=0
X_UF, USB Audio
IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=XUF,DEV=0
X_UF, USB Audio
Direct sample mixing device
dsnoop:CARD=XUF,DEV=0
X_UF, USB Audio
Direct sample snooping device
hw:CARD=XUF,DEV=0
X_UF, USB Audio
Direct hardware device without any conversions
plughw:CARD=XUF,DEV=0
X_UF, USB Audio
Hardware device with all software conversions
Запуск amixer contents
или содержимого amixer -c1 contents
ничего не возвращает. (amixer -c0 contents
возвращают некоторые вещи, но это для встроенного аудио, а не для моего USB-устройства.)
Кажется, в /var /log /syslog или dmesg нет ничего уместного.
Вот вывод команды arecord --dump-hw-params
:
HW Params of device "default":
--------------------
ACCESS: MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT: S32_LE
SUBFORMAT: STD
SAMPLE_BITS: 32
FRAME_BITS: 1024
CHANNELS: 32
RATE: 44100
PERIOD_TIME: (136 92880)
PERIOD_SIZE: [6 4096]
PERIOD_BYTES: [768 524288]
PERIODS: [2 1024]
BUFFER_TIME: (272 185760)
BUFFER_SIZE: [12 8192]
BUFFER_BYTES: [1536 1048576]
TICK_TIME: ALL
--------------------
lsusb
:
Автобус 001 Устройство 004: ID 1397: 0006 BEHRINGER International GmbH
cat /proc/version
:
Версия Linux 4.4.50-v7+ (dc4 @ dc4-XPS13-9333) (версия gcc 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611)) # 970 SMP Пн 20 февраля 19:18:29 GMT 2017
usb-devices
:
T: Bus=01 Lev=02 Prnt=02 Port=04 Cnt=02 Dev#= 4 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 2
P: Vendor=1397 ProdID=0006 Rev=20.41
S: Manufacturer=BEHRINGER
S: Product=X_UF
S: SerialNumber=0x156400fe24
C: #Ifs= 5 Cfg#= 1 Atr=c0 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 0 Cls=01(audio) Sub=01 Prot=20 Driver=snd-usb-audio
I: If#= 1 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio
I: If#= 2 Alt= 0 #EPs= 0 Cls=01(audio) Sub=02 Prot=20 Driver=snd-usb-audio
I: If#= 3 Alt= 0 #EPs= 2 Cls=01(audio) Sub=03 Prot=00 Driver=snd-usb-audio
I: If#= 4 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)