Pipewire를 사용하여 Fedora에서 USB 사운드 카드의 오디오 출력 매핑

Pipewire를 사용하여 Fedora에서 USB 사운드 카드의 오디오 출력 매핑

설정:

표적:

  • X4에서 LFE 출력 채널을 작동시켜 데스크탑 스피커를 연결하지 않고도 하위 작업을 수행할 수 있습니다.
  • 마이크에 연결된 헤드폰처럼 X4에 연결된 헤드폰에서 마이크 오디오를 믹싱합니다.

X4 지원에는 LFE 출력이 있습니다. Linux에서는 출력한 적이 없지만 Mac과 Windows 시스템 모두에 연결하여 작동하는지 확인했습니다.

지금까지 내가 처리한 해결 방법은 일부 LFE 채널 출력을 얻는 것입니다. 내 데스크톱 스피커에는 서브우퍼 출력이 있기 때문에 이러한 오디오 채널을 결합하고 LFE를 업믹스하는 가상 수신기가 있는 것 같습니다.

마이크 모니터링도 제대로 작동하지 못했는데 다시 작동시키면 좋을 것 같습니다. X4에는 오디오 재생과 모니터링 오디오 레벨의 균형을 맞추는 기능이 있는데, 이 기능이 작동하지 않으면 잠을 이루지 못할 것입니다.

이것이 내 구성입니다.

/etc/pipewire/pipewire.conf.d/sink-virtual-surround-2.1.conf

context.modules = [
    {   name = libpipewire-module-loopback
        args = {
            node.description = "On-Board Virtual 2.1"
            capture.props = {
                node.name = "on-board_virtual_21"
                media.class = "Audio/Sink"
                audio.position = [ FL FR LFE ]
            }
            playback.props = {
                node.name = "playback.on-board_virtual_21"
                audio.position = [ AUX0 AUX1 AUX2 ]
                target.object = "alsa_output.usb-Generic_USB_Audio-00.pro-output"
                stream.dont-remix = true
                node.passive = true
            }
        }
    }
]

/etc/pipewire/pipewire-pulse.conf

stream.properties = {
    #node.latency          = 1024/48000
    #node.autoconnect      = true
    resample.quality       = 10
    #channelmix.normalize  = true
    channelmix.mix-lfe    = true
    channelmix.upmix       = true
    #channelmix.upmix-method = psd  # none, simple
    channelmix.lfe-cutoff = 125
    #channelmix.fc-cutoff  = 12000
    #channelmix.rear-delay = 12.0
    #channelmix.stereo-widen = 0.0
    #channelmix.hilbert-taps = 0
    #dither.noise = 0
}

UI 옵션을 시도해 보고 알게 되었다고 생각했습니다.헬움알아낼 수 있으면 끌어서 놓을 수 있을 것 같습니다. 구성을 실제로 이해하면 더 나을 수도 있습니다. 이것이 지금 Helvum의 모습입니다. 어떤 AUX 포트가 LFE 채널인지는 확실하지 않지만 포트 레이아웃을 보면 AUX3인 것이 합리적입니다.

도움이 될 수 있는 몇 가지 추가 컨텍스트가 있을 수 있지만 무엇이 가장 도움이 될지는 잘 모르겠습니다.

오디오 장치용 lsusb

/:  Bus 003.Port 001: Dev 001, Class=root_hub, Driver=xhci_hcd/6p, 480M
    ID 1d6b:0002 Linux Foundation 2.0 root hub
    |__ Port 001: Dev 002, If 0, Class=Audio, Driver=snd-usb-audio, 12M
        ID b58e:9e84 Blue Microphones Yeti Stereo Microphone
    |__ Port 001: Dev 002, If 1, Class=Audio, Driver=snd-usb-audio, 12M
        ID b58e:9e84 Blue Microphones Yeti Stereo Microphone
    |__ Port 001: Dev 002, If 2, Class=Audio, Driver=snd-usb-audio, 12M
        ID b58e:9e84 Blue Microphones Yeti Stereo Microphone
    |__ Port 001: Dev 002, If 3, Class=Human Interface Device, Driver=usbhid, 12M
        ID b58e:9e84 Blue Microphones Yeti Stereo Microphone
    |__ Port 002: Dev 003, If 0, Class=Human Interface Device, Driver=usbhid, 480M
        ID 041e:3278 Creative Technology, Ltd
    |__ Port 002: Dev 003, If 1, Class=Communications, Driver=cdc_acm, 480M
        ID 041e:3278 Creative Technology, Ltd
    |__ Port 002: Dev 003, If 2, Class=CDC Data, Driver=cdc_acm, 480M
        ID 041e:3278 Creative Technology, Ltd
    |__ Port 002: Dev 003, If 3, Class=Audio, Driver=snd-usb-audio, 480M
        ID 041e:3278 Creative Technology, Ltd
    |__ Port 002: Dev 003, If 4, Class=Audio, Driver=snd-usb-audio, 480M
        ID 041e:3278 Creative Technology, Ltd
    |__ Port 002: Dev 003, If 5, Class=Audio, Driver=snd-usb-audio, 480M
        ID 041e:3278 Creative Technology, Ltd
    |__ Port 002: Dev 003, If 6, Class=Audio, Driver=snd-usb-audio, 480M
        ID 041e:3278 Creative Technology, Ltd

프로토콜 정보

Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 283
Tile Size: 65472
User Name: fr0bar
Host Name: icarus
Server Name: PulseAudio (on PipeWire 1.0.3)
Server Version: 15.0.0
Default Sample Specification: float32le 3ch 192000Hz
Default Channel Map: front-left,front-right,lfe
Default Sink: on-board_virtual_21
Default Source: alsa_input.usb-Blue_Microphones_Yeti_Stereo_Microphone_797_2018_09_25_85357-00.analog-stereo
Cookie: eecc:e044

aplay-l

**** List of PLAYBACK Hardware Devices ****
card 0: Microphone [Yeti Stereo Microphone], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: X4 [Sound Blaster X4], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: X4 [Sound Blaster X4], device 1: USB Audio [USB Audio #1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: X4 [Sound Blaster X4], device 2: USB Audio [USB Audio #2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

arecord -l

**** List of CAPTURE Hardware Devices ****
card 0: Microphone [Yeti Stereo Microphone], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: X4 [Sound Blaster X4], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 3: C920 [HD Pro Webcam C920], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

암호화폐 메타데이터

update: id:0 key:'default.configured.audio.sink' value:'{"name":"on-board_virtual_21"}' type:'Spa:String:JSON'
update: id:0 key:'default.configured.audio.source' value:'{"name":"alsa_input.usb-Blue_Microphones_Yeti_Stereo_Microphone_797_2018_09_25_85357-00.analog-stereo"}' type:'Spa:String:JSON'
update: id:0 key:'default.audio.sink' value:'{"name":"on-board_virtual_21"}' type:'Spa:String:JSON'
update: id:0 key:'default.audio.source' value:'{"name":"alsa_input.usb-Blue_Microphones_Yeti_Stereo_Microphone_797_2018_09_25_85357-00.analog-stereo"}' type:'Spa:String:JSON'
update: id:0 key:'default.video.source' value:'{"name":"v4l2_input.pci-0000_0e_00.3-usb-0_4_1.0"}' type:'Spa:String:JSON'
update: id:153 key:'target.node' value:'108' type:'Spa:Id'
update: id:153 key:'target.object' value:'109' type:'Spa:Id'

헬륨 다이어그램

관련 정보