Connecting a Linux HTPC to a DD/DTS Receiver
Related:
- Notes on my use of vlc media player
Architecture
Low Level: Alsa
Low latency Jack middleware API.
Middle level, incumbent: Pulse Audio with pavucontrol.
Middle level, winner: PipeWire
Alsa Use
Use:
Alsa multi-channel sound output via HDMI:
- How to use HDMI sound w/ alsa and alsamixer?
- Output 5.1 AC-3 through Alsa, enabling Pulseaudio to use it
- DTS via HDMI using pulseaudio
Pulse Audio Use
Use:
PipeWire Use
Evolving middleware alternative: Pipewire:
- PipeWire with Jack
- to get there use Ubuntu Studio 23.10
Setting Multichannel Audio Output with ALSA
Test clips
- https://www.demolandia.net/cinema.html
- https://www2.iis.fraunhofer.de/AAC/multichannel.html
- https://drive.google.com/drive/folders/1JxmeedtAtgmoafXv9rroiDOS2vEX7N4b
Identify audio devices. Using Alsa:
alex@exi:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC897 Analog [ALC897 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [SAMSUNG]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
The device for card 0 is plughw:0,0
. The two zeros come from the device 0 and
Subdevice #0.
Identify devices using pipewire pw-cli:
alex@exi:~$ pw-cli list-objects | grep node.name
node.name = "Dummy-Driver"
node.name = "Freewheel-Driver"
node.name = "Midi-Bridge"
node.name = "alsa_output.pci-0000_01_00.1.hdmi-surround"
or just
pw-cli info all