在开始之前,我使用 4.11.2 低延迟内核,在 中启用了实时优先级/etc/security/limits.conf
。已设置实时用户组等。Jack 似乎与 ALSA 配合良好。
我使用“Zoom H5”录音机作为 Ubuntu 14.04 的 USB 音频接口。Zoom H5 有两种不同的音频接口模式:(1)“立体声” - 允许您录制一个立体声通道;(2)“多轨”,允许您同时录制 4 个单声道。
第一期
如果我选择“立体声”,Zoom H5 会被 ALSA 识别为前身版本(Zoom H4)作为输入选项和输出选项。
但是,Zoom H5 输入的音频信号没有任何输出。我的音频软件既没有接收到信号,当我将其直接连接到系统输出(我的内置英特尔卡)时也听不到信号。
以下是 Jack Messages 的输出:
00:54:54.668 D-BUS: JACK server was started (org.jackaudio.service aka jackdbus).
Sun May 21 00:54:54 2017: Starting jack server...
Sun May 21 00:54:54 2017: JACK server starting in realtime mode with priority 10
Sun May 21 00:54:54 2017: Acquired audio card Audio2
Sun May 21 00:54:54 2017: Acquired audio card Audio1
Sun May 21 00:54:54 2017: creating alsa driver ... hw:PCH|hw:H5|256|2|48000|0|0|nomon|swmeter|-|32bit
Sun May 21 00:54:54 2017: configuring for 48000Hz, period = 256 frames (5.3 ms), buffer = 2 periods
Sun May 21 00:54:54 2017: ALSA: final selected sample format for capture: 16bit little-endian
Sun May 21 00:54:54 2017: ALSA: use 2 periods for capture
Sun May 21 00:54:54 2017: ALSA: final selected sample format for playback: 32bit integer little-endian
Sun May 21 00:54:54 2017: ALSA: use 2 periods for playback
Sun May 21 00:54:54 2017: graph reorder: new port 'system:capture_1'
Sun May 21 00:54:54 2017: New client 'system' with PID 0
Sun May 21 00:54:54 2017: graph reorder: new port 'system:capture_2'
Sun May 21 00:54:54 2017: graph reorder: new port 'system:playback_1'
Sun May 21 00:54:54 2017: graph reorder: new port 'system:monitor_1'
Sun May 21 00:54:54 2017: graph reorder: new port 'system:playback_2'
Sun May 21 00:54:54 2017: graph reorder: new port 'system:monitor_2'
00:54:56.702 JACK connection change.
第二期
如果我在 Zoom H5 上选择“多轨”,ALSA 只会将 Zoom H5 识别为输出设备。但是,它不会被识别为输入设备,尽管 Zoom H5 提供了 4 个单声道输入通道。此外,当选择多轨时,我的系统会将 Zoom 设备识别为“H5”。虽然 ALSA 不会将 Zoom H5 录音机识别为输入设备(当在 Zoom H5 上选择多轨时),但 Jack Audio 会识别它并显示 4 个单声道输入。但是,问题是标准音频输出(简单的内部英特尔卡)hw:1
不会显示,因此无法在 Jack 中选择。输出选项“playback_1”和“playback_2”是 Zoom H5 的输出,声音来自 Zoom H5 而不是 PC 扬声器。
以下是启动 Jack 后输出的“Jack Message”
00:33:32.532 D-BUS: JACK server was started (org.jackaudio.service aka jackdbus).
Sun May 21 00:33:32 2017: Starting jack server...
Sun May 21 00:33:32 2017: JACK server starting in realtime mode with priority 10
Sun May 21 00:33:32 2017: Acquired audio card Audio2
Sun May 21 00:33:32 2017: Acquired audio card Audio1
Sun May 21 00:33:32 2017: creating alsa driver ... hw:1|hw:H5|256|2|48000|0|0|nomon|swmeter|-|32bit
Sun May 21 00:33:32 2017: configuring for 48000Hz, period = 256 frames (5.3 ms), buffer = 2 periods
Sun May 21 00:33:32 2017: ALSA: final selected sample format for capture: 24bit little-endian
Sun May 21 00:33:32 2017: ALSA: use 2 periods for capture
Sun May 21 00:33:32 2017: ALSA: final selected sample format for playback: 32bit integer little-endian
Sun May 21 00:33:32 2017: ALSA: use 2 periods for playback
Sun May 21 00:33:32 2017: graph reorder: new port 'system:capture_1'
Sun May 21 00:33:32 2017: New client 'system' with PID 0
Sun May 21 00:33:32 2017: graph reorder: new port 'system:capture_2'
Sun May 21 00:33:32 2017: graph reorder: new port 'system:capture_3'
Sun May 21 00:33:32 2017: graph reorder: new port 'system:capture_4'
Sun May 21 00:33:32 2017: graph reorder: new port 'system:playback_1'
Sun May 21 00:33:32 2017: graph reorder: new port 'system:monitor_1'
Sun May 21 00:33:32 2017: graph reorder: new port 'system:playback_2'
Sun May 21 00:33:32 2017: graph reorder: new port 'system:monitor_2'
这是我停止 Jack 之后的输出:
00:35:40.444 D-BUS: JACK server is stopping...
00:35:40.453 D-BUS: JACK server was stopped (org.jackaudio.service aka jackdbus).
Sun May 21 00:35:40 2017: Client 'qjackctl' with PID 2849 is out
Sun May 21 00:35:40 2017: Stopping jack server...
Sun May 21 00:35:40 2017: Client 'system' with PID 0 is out
Sun May 21 00:35:40 2017: Released audio card Audio2
Sun May 21 00:35:40 2017: Released audio card Audio1
我检查了我的系统上当前激活了哪些音频模块cat /proc/asound/modules
,结果显示英特尔设备和 Zoom H5 都已激活:
0 snd_hda_intel
1 snd_hda_intel
2 snd_usb_audio
另外,输出如下aplay -l
:
**** List of PLAYBACK Hardware Devices ****
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: PCH [HDA Intel PCH], device 0: ALC3239 Analog [ALC3239 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 2: H5 [H5], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
sudo lsusb -l
以下是立体声模式的输出:
Bus 002 Device 006: ID 1686:0045 ZOOM Corporation H4 Digital Recorder
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x1686 ZOOM Corporation
idProduct 0x0045 H4 Digital Recorder
bcdDevice 0.00
iManufacturer 1 ZOOM Corporation
iProduct 2 H5
iSerial 3 000000000000
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 190
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 0
iInterface 0
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 1.00
wTotalLength 62
bInCollection 2
baInterfaceNr( 0) 1
baInterfaceNr( 1) 2
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0201 Microphone
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 10
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 2
bSourceID 1
bControlSize 1
bmaControls( 0) 0x01
Mute Control
bmaControls( 1) 0x02
Volume Control
bmaControls( 2) 0x02
Volume Control
iFeature 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 2
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 4
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bNrChannels 2
wChannelConfig 0x0003
Left Front (L)
Right Front (R)
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 5
wTerminalType 0x0302 Headphones
bAssocTerminal 0
bSourceID 4
iTerminal 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 4
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 2 Discrete
tSamFreq[ 0] 44100
tSamFreq[ 1] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
Usage Type Data
wMaxPacketSize 0x0100 1x 256 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 0
iInterface 0
AudioStreaming Interface Descriptor:
bLength 7
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 3
bDelay 0 frames
wFormatTag 1 PCM
AudioStreaming Interface Descriptor:
bLength 14
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bNrChannels 2
bSubframeSize 2
bBitResolution 16
bSamFreqType 2 Discrete
tSamFreq[ 0] 44100
tSamFreq[ 1] 48000
Endpoint Descriptor:
bLength 9
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
Usage Type Data
wMaxPacketSize 0x0100 1x 256 bytes
bInterval 1
bRefresh 0
bSynchAddress 0
AudioControl Endpoint Descriptor:
bLength 7
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x01
Sampling Frequency
bLockDelayUnits 0 Undefined
wLockDelay 0 Undefined
Device Status: 0x0000
(Bus Powered)
sudo lsusb -l
以下是多轨模式的输出:
Bus 002 Device 008: ID 1686:01c5 ZOOM Corporation
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 239 Miscellaneous Device
bDeviceSubClass 2 ?
bDeviceProtocol 1 Interface Association
bMaxPacketSize0 64
idVendor 0x1686 ZOOM Corporation
idProduct 0x01c5
bcdDevice 0.00
iManufacturer 1 ZOOM Corporation
iProduct 2 H5
iSerial 3 000000000000
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 237
bNumInterfaces 3
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 500mA
Interface Association:
bLength 8
bDescriptorType 11
bFirstInterface 0
bInterfaceCount 3
bFunctionClass 1 Audio
bFunctionSubClass 0
bFunctionProtocol 32
iFunction 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 1 Control Device
bInterfaceProtocol 32
iInterface 0
AudioControl Interface Descriptor:
bLength 9
bDescriptorType 36
bDescriptorSubtype 1 (HEADER)
bcdADC 2.00
bCategory 9
wTotalLength 101
bmControl 0x00
AudioControl Interface Descriptor:
bLength 8
bDescriptorType 36
bDescriptorSubtype 10 (CLOCK_SOURCE)
bClockID 6
bmAttributes 0x03 Internal programmable Clock
bmControls 0x03
Clock Frequency Control (read/write)
bAssocTerminal 0
iClockSource 0
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 1
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bCSourceID 6
bNrChannels 2
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 2
wTerminalType 0x0302 Headphones
bAssocTerminal 0
bSourceID 1
bCSourceID 6
bmControls 0x0000
iTerminal 0
AudioControl Interface Descriptor:
bLength 17
bDescriptorType 36
bDescriptorSubtype 2 (INPUT_TERMINAL)
bTerminalID 3
wTerminalType 0x0201 Microphone
bAssocTerminal 0
bCSourceID 6
bNrChannels 4
bmChannelConfig 0x00000000
bmControls 0x0000
iChannelNames 0
iTerminal 0
AudioControl Interface Descriptor:
bLength 12
bDescriptorType 36
bDescriptorSubtype 3 (OUTPUT_TERMINAL)
bTerminalID 4
wTerminalType 0x0101 USB Streaming
bAssocTerminal 0
bSourceID 5
bCSourceID 6
bmControls 0x0000
iTerminal 0
AudioControl Interface Descriptor:
bLength 26
bDescriptorType 36
bDescriptorSubtype 6 (FEATURE_UNIT)
bUnitID 5
bSourceID 3
bmaControls( 0) 0x00000003
Mute Control (read/write)
bmaControls( 1) 0x0000000c
Volume Control (read/write)
bmaControls( 2) 0x0000000c
Volume Control (read/write)
bmaControls( 3) 0x0000000c
Volume Control (read/write)
bmaControls( 4) 0x0000000c
Volume Control (read/write)
iFeature 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 1
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 0
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 1
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 2
bmChannelConfig 0x00000000
iChannelNames 0
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 3
bBitResolution 24
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x01 EP 1 OUT
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 0
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 0
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 1
bNumEndpoints 1
bInterfaceClass 1 Audio
bInterfaceSubClass 2 Streaming
bInterfaceProtocol 32
iInterface 0
AudioStreaming Interface Descriptor:
bLength 16
bDescriptorType 36
bDescriptorSubtype 1 (AS_GENERAL)
bTerminalLink 4
bmControls 0x00
bFormatType 1
bmFormats 0x00000001
PCM
bNrChannels 4
bmChannelConfig 0x00000000
iChannelNames 0
AudioStreaming Interface Descriptor:
bLength 6
bDescriptorType 36
bDescriptorSubtype 2 (FORMAT_TYPE)
bFormatType 1 (FORMAT_TYPE_I)
bSubslotSize 3
bBitResolution 24
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 13
Transfer Type Isochronous
Synch Type Synchronous
Usage Type Data
wMaxPacketSize 0x0100 1x 256 bytes
bInterval 1
AudioControl Endpoint Descriptor:
bLength 8
bDescriptorType 37
bDescriptorSubtype 1 (EP_GENERAL)
bmAttributes 0x00
bmControls 0x00
bLockDelayUnits 0 Undefined
wLockDelay 0
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0000
(Bus Powered)
我的问题是:
问题一:有没有可能将音频信号路由到软件/英特尔扬声器(hw:1)?
问题二:如何恢复英特尔输出,同时保持 Zoom H5 输入为多轨?