Audio

我的音效卡有多少個音頻通道?

  • January 13, 2018

我有一塊GIGABYTE GA-H170N-WIFI主機板,我想將它用作家庭音響系統的基礎。它有兩個HDMI輸出和5.1模擬音頻輸出。

問題是,如何知道音效卡/子系統支持多少個獨立音頻通道?我真的可以每個 HDMI 輸出有 8 個獨立的音頻通道,外加 6 個模擬通道(更不用說 S/PDIF 輸出上多達 8 個通道)同時執行,發送不同的信號嗎?此外,是否可以說服 PulseAudio “拆分” HDMI 音頻通道並將它們作為 8 個獨立的接收器提供?

謝謝!


更新:我的 /proc/asound/card0/codec#2

Codec: Intel Skylake HDMI
Address: 2
AFG Function Id: 0x1 (unsol 0)
Vendor Id: 0x80862809
Subsystem Id: 0x80860101
Revision Id: 0x100000
No Modem Function Group found
Default PCM:
   rates [0x0]:
   bits [0x0]:
   formats [0x0]:
Default Amp-In caps: N/A
Default Amp-Out caps: N/A
State of AFG node 0x01:
 Power states:  D0 D3 CLKSTOP EPSS
 Power: setting=D0, actual=D0, Clock-stop-OK
GPIO: io=0, o=0, i=0, unsolicited=0, wake=0
Node 0x02 [Audio Output] wcaps 0x6611: 8-Channels Digital
 Converter: stream=0, channel=0
 Digital: Enabled KAE
 Digital category: 0x0
 IEC Coding Type: 0x0
 PCM:
   rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
   bits [0x1a]: 16 24 32
   formats [0x5]: PCM AC3
 Power states:  D0 D3 EPSS
 Power: setting=D0, actual=D0
Node 0x03 [Audio Output] wcaps 0x6611: 8-Channels Digital
 Converter: stream=0, channel=0
 Digital: Enabled KAE
 Digital category: 0x0
 IEC Coding Type: 0x0
 PCM:
   rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
   bits [0x1a]: 16 24 32
   formats [0x5]: PCM AC3
 Power states:  D0 D3 EPSS
 Power: setting=D0, actual=D0
Node 0x04 [Audio Output] wcaps 0x6611: 8-Channels Digital
 Converter: stream=0, channel=0
 Digital: Enabled KAE
 Digital category: 0x0
 IEC Coding Type: 0x0
 PCM:
   rates [0x7f0]: 32000 44100 48000 88200 96000 176400 192000
   bits [0x1a]: 16 24 32
   formats [0x5]: PCM AC3
 Power states:  D0 D3 EPSS
 Power: setting=D0, actual=D0
Node 0x05 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
 Amp-Out vals:  [0x00 0x00]
 Pincap 0x0b000094: OUT Detect HBR HDMI DP
 Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
   Conn = Digital, Color = Unknown
   DefAssociation = 0x1, Sequence = 0x0
 Pin-ctls: 0x40: OUT
 Unsolicited: tag=00, enabled=0
 Power states:  D0 D3 EPSS
 Power: setting=D0, actual=D0
 Devices: 0
 Connection: 3
    0x02* 0x03 0x04
Node 0x06 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
 Amp-Out vals:  [0x00 0x00]
 Pincap 0x0b000094: OUT Detect HBR HDMI DP
 Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
   Conn = Digital, Color = Unknown
   DefAssociation = 0x1, Sequence = 0x0
 Pin-ctls: 0x00:
 Unsolicited: tag=00, enabled=0
 Power states:  D0 D3 EPSS
 Power: setting=D0, actual=D0
 Devices: 0
 Connection: 0
 In-driver Connection: 3
    0x02 0x03 0x04
Node 0x07 [Pin Complex] wcaps 0x40778d: 8-Channels Digital Amp-Out CP
 Amp-Out caps: ofs=0x00, nsteps=0x00, stepsize=0x00, mute=1
 Amp-Out vals:  [0x00 0x00]
 Pincap 0x0b000094: OUT Detect HBR HDMI DP
 Pin Default 0x18560010: [Jack] Digital Out at Int HDMI
   Conn = Digital, Color = Unknown
   DefAssociation = 0x1, Sequence = 0x0
 Pin-ctls: 0x00:
 Unsolicited: tag=00, enabled=0
 Power states:  D0 D3 EPSS
 Power: setting=D0, actual=D0
 Devices: 0
 Connection: 0
 In-driver Connection: 3
    0x02 0x03 0x04
Node 0x08 [Vendor Defined Widget] wcaps 0xf00000: Mono

根據編解碼器資訊,您有 3 個轉換器節點(接受數字數據流),每個節點有 8 個通道,以及 3 個引腳節點(連接到顯卡以將聲音流嵌入 HDMI)。

因此,您的硬體確實能夠為每個 HDMI 提供 8 個通道,外加 6 個模擬通道(除非 HDA 音效卡有頻寬限制,但我猜你必須嘗試一下),它甚至可以為另一個 HDMI 輸出提供額外的 8 個通道如果你有物理輸出。

不過,在 Pulseaudio 中同時在兩個 HDMI 通道上設置輸出可能有點讓人頭疼。/usr/share/pulseaudio/alsa-mixer/如果您確實打算這樣做,您可能不得不擺弄配置文件集。

您可以使用module-remap-sink模組在 Pulseaudio 中輕鬆地將通道拆分為附加接收器。

引用自:https://unix.stackexchange.com/questions/416899