내 TV에는 왼쪽 채널에만 연결된 스피커가 하나만 있기 때문에 PulseAudio HDMI 출력을 모노 Raspbian 9.4로 설정하려고 합니다.
기본적으로(스테레오) 그것은 매력적으로 작동하지만 다음을 사용하여 모노 프로필을 설정할 때:
$ sudo pactl set-card-profile alsa_card.platform-soc_audio output:analog-mono
더 이상 소리가 나지 않습니다.
정보:
펄스 오디오 버전:$ pulseaudio --version
pulseaudio 10.0
펄스오디오 출시
$ ps ax
...
/usr/bin/pulseaudio --system --disallow-exit --disallow-module-loading=0 --daemonize --log-target=syslog --high-priority
...
PulseAudio default.pa 파일
$ cat /etc/pulse/default.pa
#!/usr/bin/pulseaudio -nF
#
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.
# This startup script is used only if PulseAudio is started per-user
# (i.e. not in system mode)
.fail
### Automatically restore the volume of streams and devices
load-module module-device-restore
load-module module-stream-restore
load-module module-card-restore
### Automatically augment property information from .desktop files
### stored in /usr/share/application
load-module module-augment-properties
### Should be after module-*-restore but before module-*-detect
load-module module-switch-on-port-available
### Load audio drivers statically
### (it's probably better to not load these drivers manually, but instead
### use module-udev-detect -- see below -- for doing this automatically)
#load-module module-alsa-sink
#load-module module-alsa-source device=hw:1,0
#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
#load-module module-null-sink
#load-module module-pipe-sink
### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif
### Automatically connect sink and source if JACK server is present
.ifexists module-jackdbus-detect.so
.nofail
load-module module-jackdbus-detect channels=2
.fail
.endif
### Automatically load driver modules for Bluetooth hardware
.ifexists module-bluetooth-policy.so
load-module module-bluetooth-policy
.endif
.ifexists module-bluetooth-discover.so
load-module module-bluetooth-discover
.endif
### Load several protocols
.ifexists module-esound-protocol-unix.so
load-module module-esound-protocol-unix
.endif
load-module module-native-protocol-unix
### Network access (may be configured with paprefs, so leave this commented
### here if you plan to use paprefs)
#load-module module-esound-protocol-tcp
#load-module module-native-protocol-tcp
#load-module module-zeroconf-publish
### Load the RTP receiver module (also configured via paprefs, see above)
#load-module module-rtp-recv
### Load the RTP sender module (also configured via paprefs, see above)
#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
#load-module module-rtp-send source=rtp.monitor
### Load additional modules from GConf settings. This can be configured with the paprefs tool.
### Please keep in mind that the modules configured by paprefs might conflict with manually
### loaded modules.
.ifexists module-gconf.so
.nofail
load-module module-gconf
.fail
.endif
### Automatically restore the default sink/source when changed by the user
### during runtime
### NOTE: This should be loaded as early as possible so that subsequent modules
### that look up the default sink/source get the right value
load-module module-default-device-restore
### Automatically move streams to the default sink if the sink they are
### connected to dies, similar for sources
load-module module-rescue-streams
### Make sure we always have a sink around, even if it is a null sink.
load-module module-always-sink
### Honour intended role device property
load-module module-intended-roles
### Automatically suspend sinks/sources that become idle for too long
load-module module-suspend-on-idle
### If autoexit on idle is enabled we want to make sure we only quit
### when no local session needs us anymore.
.ifexists module-console-kit.so
load-module module-console-kit
.endif
.ifexists module-systemd-login.so
load-module module-systemd-login
.endif
### Enable positioned event sounds
load-module module-position-event-sounds
### Cork music/video streams when a phone stream is active
load-module module-role-cork
### Modules to allow autoloading of filters (such as echo cancellation)
### on demand. module-filter-heuristics tries to determine what filters
### make sense, and module-filter-apply does the heavy-lifting of
### loading modules and rerouting streams.
load-module module-filter-heuristics
load-module module-filter-apply
### Make some devices default
#set-default-sink output
#set-default-source input
PulseAudio 기본 구성 파일
$ cat /usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf (not modified)
...
[General]
auto-profiles = yes
[Mapping analog-mono]
device-strings = hw:%f
channel-map = mono
paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2 analog-output-mono
paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headset-mic
priority = 2
[Mapping analog-stereo]
device-strings = front:%f hw:%f
channel-map = left,right
paths-output = analog-output analog-output-lineout analog-output-speaker analog-output-headphones analog-output-headphones-2
paths-input = analog-input-front-mic analog-input-rear-mic analog-input-internal-mic analog-input-dock-mic analog-input analog-input-mic analog-input-linein analog-input-aux analog-input-video analog-input-tvtuner analog-input-fm analog-input-mic-line analog-input-headphone-mic analog-input-headset-mic
priority = 10
...
펄스오디오 목록
$ sudo pactl list
Module #0
Nom : module-udev-detect
Paramètre : tsched=0
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Detect available audio hardware and load matching drivers"
module.version = "10.0"
Module #1
Nom : module-alsa-card
Paramètre : device_id="0" name="platform-soc_audio" card_name="alsa_card.platform-soc_audio" namereg_fail=false tsched=no fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes card_properties="module-udev-detect.discovered=1"
Nombre d'utilisations : 0
Propriétés :
module.author = "Lennart Poettering"
module.description = "ALSA Card"
module.version = "10.0"
Module #2
Nom : module-native-protocol-unix
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Native protocol (UNIX sockets)"
module.version = "10.0"
Module #3
Nom : module-stream-restore
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Automatically restore the volume/mute/device state of streams"
module.version = "10.0"
Module #4
Nom : module-device-restore
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Automatically restore the volume/mute state of devices"
module.version = "10.0"
Module #5
Nom : module-default-device-restore
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Automatically restore the default sink and source"
module.version = "10.0"
Module #6
Nom : module-rescue-streams
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "When a sink/source is removed, try to move its streams to the default sink/source"
module.version = "10.0"
Module #7
Nom : module-always-sink
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Colin Guthrie"
module.description = "Garde toujours au moins une destination même si elle est vide"
module.version = "10.0"
Module #8
Nom : module-suspend-on-idle
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "When a sink/source is idle for too long, suspend it"
module.version = "10.0"
Module #9
Nom : module-position-event-sounds
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "Lennart Poettering"
module.description = "Position event sounds between L and R depending on the position on screen of the widget triggering them."
module.version = "10.0"
Module #10
Nom : module-bluetooth-discover
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "João Paulo Rechi Vita"
module.description = "Detect available Bluetooth daemon and load the corresponding discovery module"
module.version = "10.0"
Module #11
Nom : module-bluez5-discover
Paramètre :
Nombre d'utilisations : n/d
Propriétés :
module.author = "João Paulo Rechi Vita"
module.description = "Detect available BlueZ 5 Bluetooth audio devices and load BlueZ 5 Bluetooth audio drivers"
module.version = "10.0"
Sink #0
State: SUSPENDED
Name: alsa_output.platform-soc_audio.analog-stereo
Description: bcm2835 ALSA Stéréo analogique
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 1
Mute: no
Volume: front-left: 65511 / 100% / -0,01 dB, front-right: 65511 / 100% / -0,01 dB
balance 0,00
Base Volume: 56210 / 86% / -4,00 dB
Monitor Source: alsa_output.platform-soc_audio.analog-stereo.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "bcm2835 ALSA"
alsa.id = "bcm2835 ALSA"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "0"
alsa.card_name = "bcm2835 ALSA"
alsa.long_card_name = "bcm2835 ALSA"
device.bus_path = "platform-soc:audio"
sysfs.path = "/devices/platform/soc/soc:audio/bcm2835_alsa/sound/card0"
device.string = "hw:0"
device.buffering.buffer_size = "17640"
device.buffering.fragment_size = "1760"
device.access_mode = "mmap"
device.profile.name = "analog-stereo"
device.profile.description = "Stéréo analogique"
device.description = "bcm2835 ALSA Stéréo analogique"
alsa.mixer_name = "Broadcom Mixer"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Ports :
analog-output: Sortie analogique (priority: 9900)
Port actif : analog-output
Formats:
pcm
Source #0
State: SUSPENDED
Name: alsa_output.platform-soc_audio.analog-stereo.monitor
Description: Monitor of bcm2835 ALSA Stéréo analogique
Driver: module-alsa-card.c
Sample Specification: s16le 2ch 44100Hz
Channel Map: front-left,front-right
Owner Module: 1
Mute: no
Volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100% / 0,00 dB
balance 0,00
Base Volume: 65536 / 100% / 0,00 dB
Monitor of Sink: alsa_output.platform-soc_audio.analog-stereo
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY
Properties:
device.description = "Monitor of bcm2835 ALSA Stéréo analogique"
device.class = "monitor"
alsa.card = "0"
alsa.card_name = "bcm2835 ALSA"
alsa.long_card_name = "bcm2835 ALSA"
device.bus_path = "platform-soc:audio"
sysfs.path = "/devices/platform/soc/soc:audio/bcm2835_alsa/sound/card0"
device.string = "0"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Formats:
pcm
Client #0
Pilote : protocol-native.c
Module propriétaire : 2
Propriétés :
application.name = "pactl"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "32"
application.process.id = "1710"
application.process.user = "root"
application.process.host = "gertrude"
application.process.binary = "pactl"
application.language = "fr_FR.UTF-8"
application.process.machine_id = "38636ca5c7e246b79d2e2ffac9b71f76"
Carte #0
Nom : alsa_card.platform-soc_audio
Pilote : module-alsa-card.c
Module propriétaire : 1
Propriétés :
alsa.card = "0"
alsa.card_name = "bcm2835 ALSA"
alsa.long_card_name = "bcm2835 ALSA"
device.bus_path = "platform-soc:audio"
sysfs.path = "/devices/platform/soc/soc:audio/bcm2835_alsa/sound/card0"
device.string = "0"
device.description = "bcm2835 ALSA"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card"
Profils :
output:analog-mono: Mono analogique Output (sinks: 1, sources: 0, priority: 200, available: yes)
output:analog-stereo: Stéréo analogique Output (sinks: 1, sources: 0, priority: 6000, available: yes)
off: Éteint (sinks: 0, sources: 0, priority: 0, available: yes)
Profil actif : output:analog-stereo
Ports :
analog-output: Sortie analogique (priority: 9900, latency offset: 0 usec)
Part of profile(s): output:analog-mono, output:analog-stereo
좋은 것 같아요...
$ sudo paplay leftright.wav
오류가 없습니다...
$ sudo pactl set-card-profile alsa_card.platform-soc_audio output:analog-mono
소리가 나지 않습니다...
$ sudo paplay leftright.wav
어떤 아이디어가 있나요?