LINUX.ORG.RU

Разделение звука меж динамиком и наушниками

 , , ,


0

2

Здравствуйте! Хотелось бы чтобы из колонок мелкой песенки пелись, а в наушниках фильм гудел. Я как-то видел подобную функцию в pavucontrol — там возле каждого выхода звука (программы) был развёртывающийся список с аудиовыходами (наушники/динамики/вход микрофона). Когда я впервые открыл pavu-чка, там это уже было, но после переустановки ОС, это исчезло. Вероятно, был какой-то доп. пакет, который прошёл в списках зависимостей/рекомендаций/… в первый раз, но я не поставил в другой. Подскажите, что можно сделать?

Вижу, ты добавил тэг, но ответы на мои вопросы (какой дистрибутив linux, какая графическая оболочка?) могут серьезно сэкономить время тем, кто захочет тебе помочь. У меня в арче с KDE эта фича точно была,я ее не настраивал и не включал сам никак. Сейчас к сожалению кед нету под рукой проверить, но в могу сказать,что в lxqt такого точно нету :)

d09 ()

Подскажите, что можно сделать?

Для начала такая возможность должна присутствовать у звуковой карты (отдельные потоки на lineout/наушники). Встречается это редко.

Затем надо писать отдельный профиль для карточки в пульсаудио. Так как одновременная работа lineout/наушников - не штатная ситуация и под каждую карточку надо рассматривать случай отдельно.

Вывести звук просто на разные девайсы, а вот на разные порты чаще всего проблема. Ты как раз описал выбор этих девайсов через pavucontrol, раз у тебя его нет, значит девайс у тебя один.

В случае с типичной 5.1/7.1 карточкой возможен подобный подход: https://wiki.archlinux.org/index.php/PulseAudio/Examples#Splitting_front/rear

Суть в том, чтобы разбить 5.1 на два виртуальных стерео девайса, которые затем можно выбрать в том же pavucontrol.

altwazar ★★ ()
Ответ на: комментарий от damix9

Вывод в студию!

Machine:   Type: Laptop System: Hewlett-Packard product: HP 250 G4 Notebook PC v: Type1ProductConfigId serial: CND5510BMN 
           Mobo: Hewlett-Packard model: 80C5 v: 97.41 serial: PFEJUG21U9TAA7 UEFI [Legacy]: Insyde v: F.1B date: 10/19/2015 
Audio:     Device-1: Intel Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio 
           driver: snd_hda_intel 
           Sound Server: ALSA v: k4.19.0-13-amd64 
Аудиоприёмник №0
        Состояние: SUSPENDED
        Имя: alsa_output.pci-0000_00_1b.0.analog-stereo
        Описание: Вбудоване аудіо Аналогове стерео
        Драйвер: module-alsa-card.c
        Спецификация отсчётов: s16le 2-канальный 4410
        Схема каналов: front-left,front-right
        Модуль-владелец: 6
        Звук выключен: no
        Громкость: front-left: 53077 /  81% / -5,49 dB,   front-right: 53077 /  81% / -5,49 dB
                баланс 0,00
        Базовая громкость: 65536 / 100% / 0,00 dB
        Мониторный источник: alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
        Задержка: 0 мкс, настроено на 0 мкс
        Флаги: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY 
        Свойства:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = "ALC3227 Analog"
                alsa.id = "ALC3227 Analog"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "0"
                alsa.card_name = "HDA Intel PCH"
                alsa.long_card_name = "HDA Intel PCH at 0x91510000 irq 121"
                alsa.driver_name = "snd_hda_intel"
                device.bus_path = "pci-0000:00:1b.0"
                sysfs.path = "/devices/pci0000:00/0000:00:1b.0/sound/card0"
                device.bus = "pci"
                device.vendor.id = "8086"
                device.vendor.name = "Intel Corporation"
                device.product.id = "2284"
                device.product.name = "Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series High Definition Audio Controller"
                device.form_factor = "internal"
                device.string = "front:0"
                device.buffering.buffer_size = "352800"
                device.buffering.fragment_size = "176400"
                device.access_mode = "mmap+timer"
                device.profile.name = "analog-stereo"
                device.profile.description = "Аналогове стерео"
                device.description = "Вбудоване аудіо Аналогове стерео"
                alsa.mixer_name = "Realtek ALC3227"
                alsa.components = "HDA:10ec0282,103c80c5,00100003 HDA:80862883,80860101,00100000"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-pci"
        Порты:
                analog-output-speaker: Гучномовці (priority: 10000)
                analog-output-headphones: Аналогові навушники (priority: 9000, not available)
        Активный порт: analog-output-speaker
        Форматы:
                pcm
ShkiperDesna ()
Ответ на: комментарий от ShkiperDesna

Тут проще было бы, если бы что-то одно было по bluetooth или hdmi или через внешнюю звуковуху. Потому что так это один sink, а надо сделать два этим способом. Тогда в pactl list sinks их должно показаться два.

Тогда можно будет сказать каждой программе играть в свой sink. Удобо выбрать устройство, через которое играть, в плеере VLС (Аудио -> Аудиоустройство). А с браузерами так

pacmd list-sink-inputs
Посмотреть index нужного браузера и
pacmd move-sink-input <INDEX> <sink>
По умолчанию pulseaudio запоминает, какое приложение через какое устройство играло звук. За это отвечает module-stream-restore.

damix9 ()