专业音频/硬件

出自 ArchWiki

M-Audio Delta 1010

M-Audio Delta 系列声卡基于 VIA Ice1712 音频芯片。使用此芯片的声卡需要您安装 alsa-tools 软件包,因为它包含 envy24control 程序。Envy24control 是一个硬件级别的混音器/控制器。您可以使用 alsa-mixer,但为了避免麻烦,最好不要尝试。请注意,本节没有关于 MIDI 设置或使用的信息。

打开混音器应用程序

$ envy24control

此应用程序可能会让人感到困惑;有关其使用指南,请参阅 envy24control。也就是说,这里有一个非常简单的适用于 Ardour 多轨录音的工作设置。

  1. 在“Monitor Inputs”(监听输入)和“Monitor PCMs”(监听 PCMs)选项卡上,将所有监听输入和监听 PCMs 设置为 20 左右。
  2. 在“Patchbay / Router”(跳线盘/路由器)选项卡上,将所有项设置为 PCM 输出。
  3. 在“Hardware Settings”(硬件设置)选项卡上,验证“Master Clock”(主时钟)设置是否与 Qjackctl 中设置的相匹配。如果这些不匹配,您将遇到无法控制的 xrun!

M-Audio Fast Track Pro

M-Audio Fast Track Pro 是一款 USB 4x4 音频接口,工作在 24bit/96kHz。由于 USB 1 的限制,此设备需要额外的设置才能访问其所有功能。设备在以下两种配置之一中工作:

  • 配置 1,或“Class compliant mode”(类兼容模式) - 功能减少,仅支持 16bit、48kHz、模拟输入(2 通道)和数字/模拟输出(4 通道)。
  • 配置 2 - 可以访问接口的所有功能。

目前,使用 stock kernel(默认内核)它以配置 2 运行,但如果您想确保您处于哪种模式,可以检查内核日志中的条目。

usb-audio: Fast Track Pro switching to config #2
usb-audio: Fast Track Pro config OK

该接口还需要额外的配置步骤来切换模式。这通过在模块加载期间使用 device_setup 选项来完成。推荐的设置接口方式是在 modprobe.d 中使用文件:

/etc/modprobe.d/ftp.conf
options snd_usb_audio vid=0x763 pid=0x2012 device_setup=XXX index=YYY enable=1

其中 vidpid 是 M-Audio Fast Track Pro 的供应商 ID 和产品 ID,index 是所需的设备编号,device_setup 是所需的设备设置。device_setup 的可能值为:

设备模式
device_setup 值 位深度 频率 模拟输出 数字输出 模拟输入 数字输入 IO 模式
0x0 16 位 48kHz + + + + 4x4
0x9 24 位 48kHz + + + - 2x4
0x13 24 位 48kHz + + - + 2x4
0x5 24 位 96kHz * * * * 2x0 或 0x2

24 位/96kHz 模式是特殊的:它提供所有输入/输出,但您一次只能打开 4 个接口中的一个。例如,如果您打开输出接口,然后尝试打开第二个输出或输入接口,您将在内核日志中看到错误:

cannot submit datapipe for urb 0, error -28: not enough bandwidth

这是完全正常的,因为这是 USB 1 设备,无法提供足够的带宽来支持高质量的单个(2 通道)目标/源。

根据 index 的值,它将设置两个设备:hwYYY:0hwYYY:1,它们将包含可用的输入和输出。第一个设备最有可能包含模拟输出和数字输入,而第二个设备将包含模拟输入和数字输出。要找出哪些设备链接到哪里以及它们是否设置正确,您可以检查 /proc/asound/cardYYY/stream{0,1}。以下是重要的端点列表,这将有助于正确识别声卡连接(在您习惯该设备之前,很容易混淆模拟和数字输入或输出连接):

EP 3 (analgoue output = TRS on back, mirrored on RCA outputs 1 and 2 on back)
EP 4 (digital output = S/PDIF output on back, mirrored on RCA outputs 3 and 4 on back)
EP 5 (analogue input = balanced TRS or XLR microphone, unbalanced TS line on front)
EP 6 (digital input = S/PDIF input on back)

此 .asoundrc 文件在 jack 的 32 位接口的上下文中,在 fast-track pro 上启用 24 位 IO(并且我相信它可以修改以与其他 3 字节 usb 设备一起使用),同时将默认 alsa 流量路由到音频接口上的 jack 输出。Alsa 将处于 S24_3BE 模式,但 jack 可以将 S32_LE 数据插入和输出到接口,其他 alsa 程序将能够将几乎任何东西插入 jack。

### ~/.asoundrc
### default alsa config file, for a fast-track pro configured in 24-bit mode as so:
### options snd_usb_audio device_setup=0x9
### invoke jack with: (if you use -r48000, change the rate in the plugs as well)
### $jackd -dalsa -P"hw:Pro" -C"hw:Pro,1" -r44100

## setup input and output plugs so jack can write S24_3BE data to the audio interface

pcm.maud0 {
	type hw
	card Pro
}

#jack_out plug makes sure that S32_LE data can be written to hw:Pro
pcm.jack_out{
	type plug
	format S32_LE
	channels 2
	rate 44100
	slave pcm.maud0
}

pcm.maud1 {
	type hw
	card Pro
	device 1
}
## jack_in plug makes sure that hw:Pro,1 can read S32_LE data
pcm.jack_in {
	type plug
	format S32_LE
	channels 2
	rate 44100
	slave pcm.maud1
}
#####
# route default alsa traffic through jack system io

pcm.jack {
    type jack
    playback_ports {
        0 system:playback_1
        1 system:playback_2
    }
    capture_ports {
        0 system:capture_1
        1 system:capture_2
    }
} 
pcm.amix {
	type asym
	playback.pcm "jack"
	capture.pcm "jack"
	}
pcm.!default {
	type plug
	slave.pcm amix
}

Tascam US-122

这不适用于 US-122L

所需软件包: alsa-tools alsa-firmware fxloadAUR

创建以下规则文件,然后重新加载 udev 规则,Udev#加载新规则

/etc/udev/rules.d/51-tascam-us-122.rules
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idProduct}=="8006", ATTRS{idVendor}=="1604", RUN+="/bin/sh -c '/sbin/fxload -D %N -s /usr/share/alsa/firmware/usx2yloader/tascam_loader.ihx -I /usr/share/alsa/firmware/usx2yloader/us122fw.ihx'"
SUBSYSTEMS=="usb", ACTION=="add", ATTRS{idProduct}=="8007", ATTRS{idVendor}=="1604", RUN+="/bin/sh -c '/usr/bin/usx2yloader'"

插入设备。设备现在应该可以工作了,没有软件混音器控制。

RME Babyface

它在低延迟(约 5 毫秒)下与 alsa-utilsjack2linux-rt 配合使用效果良好。仅在 ALSA 上使用标准内核可能会在较低延迟下导致爆音。

为了被识别和工作,Babyface 的固件版本需要 >= 200,这引入了 Class Compliant Mode(类兼容模式)。要进入类兼容模式,请在通过 USB 将 Babyface 连接到计算机时按住“Select”(选择)和“Recall”(调用)按钮。现在应该可以识别了。

要检查是否已识别:

$ grep -i baby /proc/asound/cards

有关类兼容模式的更多信息,请访问 RME 网站,他们有 PDF 文档涵盖所有功能。

Babyface 不需要任何特殊的 Jack 设置。但是,如果您想使用内置的 MIDI 输入/输出,则需要将“MIDI Driver”(MIDI 驱动程序)设置为“seq”,并可选择禁用“Enable Alsa Sequencer Support”(启用 Alsa 音序器支持)以将其与其他 MIDI 设备(例如 USB MIDI 键盘)结合使用。

Behringer UMC202HD/UMC204HD

已知某些 Behringer UMC 音频接口在睡眠后会挂起[1]。重新加载 snd_usb_audio 模块可能会解决此问题。但通常重置 USB 设备就足够了。

  1. 安装 usbutils
  2. 使用 usbreset 命令查找设备名称,它给出 3 列,分别是总线编号、ID 和产品名称。
  3. 使用参数运行命令,例如使用产品名称:usbreset 'UMC204HD 192k'

可以使用 systemd 服务自动完成此操作。

/etc/systemd/system/reload-snd_usb_audio.service
[Unit]
Description=Restart Behringer USB audio interface connection
DefaultDependencies=no
After=sysinit.target local-fs.target suspend.target hibernate.target
Before=basic.target

[Service]
Type=oneshot
# Edit the argument
ExecStart=/usr/bin/usbreset 'UMC204HD 192k'

[Install]
WantedBy=basic.target suspend.target hibernate.target

执行 daemon-reload,然后 启用 reload-snd_usb_audio.service