Pulseaudio. STEREO в MONO

Просмотров: 473

Сложность

Низкая

Как в pulseaudio выводить звук в mono
Article Image

Здаров. Иногда возникает необходимость выводить весь звук в pulseaudio в режиме mono, то есть оба канала микшируются в один. Мне, например, понадобилось, потому что один из наушников издох, а слушать только правый канал не очень-то и приятно. Так вот, сделать задуманное оказалось довольно просто.

1) Для начала посмотрим выхлоп команды pacmd list-sinks в терминале:

pacmd list-sinks
2 sink(s) available.
    index: 0
    name: <alsa_output.pci-0000_00_01.1.hdmi-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: IDLE
    suspend cause: 
    priority: 9950
    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
    volume steps: 65537
    muted: no
    current latency: 39,86 ms
    max request: 6 KiB
    max rewind: 344 KiB
    monitor source: 0
    sample spec: s16le 2-канальный 4410
    channel map: front-left,front-right
                 Стерео
    used by: 0
    linked by: 1
    configured latency: 40,00 ms; range is 0,50 .. 1999,82 ms
    card: 0 <alsa_card.pci-0000_00_01.1>
    module: 6
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "HDMI 0"
        alsa.id = "HDMI 0"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "3"
        alsa.card = "0"
        alsa.card_name = "HDA ATI HDMI"
        alsa.long_card_name = "HDA ATI HDMI at 0xfeb44000 irq 33"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:01.1"
        sysfs.path = "/devices/pci0000:00/0000:00:01.1/sound/card0"
        device.bus = "pci"
        device.vendor.id = "1002"
        device.vendor.name = "Advanced Micro Devices, Inc. [AMD/ATI]"
        device.product.id = "9902"
        device.product.name = "Trinity HDMI Audio Controller"
        device.form_factor = "internal"
        device.string = "hdmi:0"
        device.buffering.buffer_size = "352768"
        device.buffering.fragment_size = "176384"
        device.access_mode = "mmap+timer"
        device.profile.name = "hdmi-stereo"
        device.profile.description = "Digital Stereo (HDMI)"
        device.description = "Встроенное аудио Digital Stereo (HDMI)"
        alsa.mixer_name = "ATI R6xx HDMI"
        alsa.components = "HDA:1002aa01,00aa0100,00100300"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    ports:
        hdmi-output-0: HDMI / DisplayPort (priority 5900, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "video-display"
    active port: <hdmi-output-0>
  * index: 1
    name: <alsa_output.pci-0000_00_14.2.analog-stereo>
    driver: <module-alsa-card.c>
    flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: IDLE
    suspend cause: 
    priority: 9959
    volume: front-left: 40108 /  61% / -12,79 dB,   front-right: 40108 /  61% / -12,79 dB
            balance 0,00
    base volume: 65536 / 100% / 0,00 dB
    volume steps: 65537
    muted: no
    current latency: 39,92 ms
    max request: 6 KiB
    max rewind: 344 KiB
    monitor source: 1
    sample spec: s16le 2-канальный 4410
    channel map: front-left,front-right
                 Стерео
    used by: 0
    linked by: 1
    configured latency: 40,00 ms; range is 0,50 .. 1999,82 ms
    card: 1 <alsa_card.pci-0000_00_14.2>
    module: 7
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "ALC269VC Analog"
        alsa.id = "ALC269VC Analog"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "1"
        alsa.card_name = "HD-Audio Generic"
        alsa.long_card_name = "HD-Audio Generic at 0xfeb40000 irq 16"
        alsa.driver_name = "snd_hda_intel"
        device.bus_path = "pci-0000:00:14.2"
        sysfs.path = "/devices/pci0000:00/0000:00:14.2/sound/card1"
        device.bus = "pci"
        device.vendor.id = "1022"
        device.vendor.name = "Advanced Micro Devices, Inc. [AMD]"
        device.product.id = "780d"
        device.product.name = "FCH Azalia Controller"
        device.form_factor = "internal"
        device.string = "front:1"
        device.buffering.buffer_size = "352768"
        device.buffering.fragment_size = "176384"
        device.access_mode = "mmap+timer"
        device.profile.name = "analog-stereo"
        device.profile.description = "Аналоговый стерео"
        device.description = "Встроенное аудио Аналоговый стерео"
        alsa.mixer_name = "Realtek ALC269VC"
        alsa.components = "HDA:10ec0269,144dc0da,00100202"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card-pci"
    ports:
        analog-output-speaker: Динамики (priority 10000, latency offset 0 usec, available: no)
            properties:
                device.icon_name = "audio-speakers"
        analog-output-headphones: Аналоговые наушники (priority 9000, latency offset 0 usec, available: yes)
            properties:
                device.icon_name = "audio-headphones"
    active port: <analog-output-headphones>

Нас интересуют строки  index и name. Ищем в выхлопе устройство, через которое мы слушаем звук, в моем случае это name: <alsa_output.pci-0000_00_14.2.analog-stereo>. Запоминаем.

2) Открываем от root файлик /etc/pulse/default.pa и в самый конец добавляем 

load-module module-remap-sink master=alsa_output.pci-0000_00_14.2.analog-stereo sink_name=mono channels=2 channel_map=mono,mono
set-default-sink mono

где в параметр master вводим устройство, которое нашли в шаге номер 1

3) Рестартуем pulseaudio (от обычного пользователя)

pulseaudio -k; pulseaudio -D

4) Включаем воспроизведение чего-либо, и выставляем в Pavucontrol (или чем ты там пользуешься) вывод в наше новое (remapped) виртуальное устройство

 

Опубликовано 24 Июля 2017 в категории Звук

comments powered by HyperComments
Поиск по сайту:

Теги:

Популярные статьи:

Новости IT:

^ Наверх