LINUX.ORG.RU

В пакете PulseAudio для Fedora 24 отключат Flat Volumes по умолчанию

 , ,


2

4

Flat Volumes — это внедренная семь лет тому назад логика управления громкостью отдельных приложений в PulseAudio. В рамках этой логики, громкость каждого отдельного звукового потока (в процентах) исчисляется относительно аппаратного максимума, а не относительно «громкости звуковой карты». «Громкость звуковой карты» равна максимальной громкости проигрываемых потоков, т.е. не является независимой переменной, а скорее удобной «ручкой» для увеличения или уменьшения громкости всех приложений одновременно.

До недавнего времени логика Flat Volumes была включена по умолчанию во всех дистрибутивах, кроме Ubuntu. Начиная с выпуска 24, Fedora собирается отказаться от этой схемы, так как, несмотря на прошедшие семь лет, разработчики так и не научились писать совместимые с этой логикой приложения. Наиболее распространенный баг — выставление громкости на 100% без явного указания от пользователя. Багу подвержены такие важные библиотеки и приложения, как WebKit-GTK, Firefox и GNASH.

Поскольку выставление громкости на 100% (с возможными последствиями в виде сгоревших динамиков) без вмешательства пользователя происходит в том числе через браузеры (демо: https://jsfiddle.net/bteam/FbkGD/ , открывать с осторожностью), такое поведение является уязвимостью. Вину за уязвимость разработчики PulseAudio и веб-движков долго сваливали друг на друга, а прогресса ни с той, ни с другой стороны не было.

>>> Подробности

★★★★★

Проверено: JB ()
Последнее исправление: CYB3R (всего исправлений: 2)
Ответ на: комментарий от AEP

Убираем упоминание module-switch-* из конфига (/etc/pulse/default.pa), чтобы PulseAudio не перемещал потоки при включении-выключении телевизора.

Стираем базу данных об устройствах ($HOME/.config/pulse/*-stream-volumes.tdb), если ранее были какие-либо перемещения звука на телевизор.

В pavucontrol ставим на вкладке Устройства Вывода зеленую галочку на устройстве, которое должно использоваться по умолчанию.

Запускаем VLC. Выбираем в меню Аудио > Аудиоустройство телевизор.

Все!

А ты сам то пробовал? Если это всё проделать, то в «VLC->меню Аудио-> Аудиоустройство» только аудиоустройство по умолчанию. И больше ни чего нет.

dnf83
()
Ответ на: комментарий от Jameson

ты не поверишь, но в pulseaudio через pavucontrol парой кликов мышью.

Ну так расскажи как. Трындеть-то любой может.

dnf83
()

Посоны, не переходите по ссылке, у меня так брат оглох, пишет в тишине!

anonymous
()

Ничего не понимаю, в моей кубунточке фидлы не играют громче чем выставленный общий уровень звука, в чем проблема то?

djzielony
()
Ответ на: комментарий от dnf83

Да, пробовал.

Вероятно, разница в том, что я пробовал на Haswell (где HDMI-выход является отдельной звуковой картой), а у вас что-то более старое (где HDMI-выход - это только подустройство). В вашем случае надо редактировать конфиг default.pa на предмет явного добавления module-alsa-sink для HDMI-устройства.

AEP ★★★★★
() автор топика
Ответ на: комментарий от djzielony

Ничего не понимаю, в моей кубунточке фидлы не играют громче чем выставленный общий уровень звука, в чем проблема то?

В других дистрибутивах фидл выставляет общесистемную громкость на 100%, и делает это периодически (т.е. попытки убавить проваливаются).

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

Ну и для тех, у кого Ubuntu: откройте фидл в Midori или Epiphany, и затем, пока оно играет, запустите pavucontrol. Попробуйте на первой вкладке уменьшить громкость браузера. Не получается? Вот точно так же у других не получается уменьшить системную громкость.

AEP ★★★★★
() автор топика

Всегда отключал эту функцию в PulseAudio, ибо оно только мешалось. Да еще никак не мог понять логику этих ползунков. Без неё гораздо лучше.

Можно сказать, джва года ждал.

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

ЗАЧЕМ нужна такая фича, которая разрешает выставлять громкость программ выше системной?

djzielony
()
Ответ на: комментарий от LongLiveUbuntu

главный юзабилист GNOME
высказался против раздельной регулировки громкости для каждого приложения
GNOME
выпилить фичу

Ничего нового.

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

1) Но зачем?
2) Было же, выпилили... Вернуть!
3) Пульса есть под винду?
4) Хорошая попытка, пульса, но нет...

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

1) Разговариваем с начальником через видеочат. У него веб-камера, микрофон в веб-камере, и колонки, и еще сотрудница отдела продаж в той же комнате. В отдел продаж звонят. Начальнику (чтобы я не отвлекался на продажи) надо перевести разговор на USB-гарнитуру.

2) Не было! То, что «было» для BlueTooth, имело много проблем совместимости и не допускало микширование.

3) Да. Но DTS-кодер оформлен в виде ALSA-плугина (не допускающего микширование), поэтому под Windows не пойдет.

4) Без комментариев

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

микрофон в веб-камере, и колонки, и еще сотрудница отдела продаж

поделки поттера и поттерофилы - все на одно лицо.

anonymous
()

Убили сетевую прозрачность, убили регулировку звука на отдельное приложение. Что дальше? Сменят vmlinuz на kernel32.dll? Федорщики такие федорщики.

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

убили регулировку звука на отдельное приложение.

Нет, ты плохо прочитал, борец за правду и свободу.

anonymous
()
Ответ на: комментарий от AEP

AEP> Allan Day (главный юзабилист GNOME) высказался против раздельной регулировки громкости для каждого приложения.

Этому извращенцу-мазохисту лишь бы отрезать чего-нибудь.

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

Когда это из ALSA успели вырезать поддержку Bluetooth через Bluez?

Никогда. ALSA-плугин для передачи звука по Bluetooth поставлялся в составе BlueZ версии 4. В BlueZ версии 5 его не стало.

AEP ★★★★★
() автор топика

Ох уж эти кудесники

У меня audacious c volumeicon синхронизированы, отношусь к этому как к врождённым особенностям у человека. Фигнёй маются, на самом деле не надо динамик на полную громкость выставлять, да и всё.

alexbad
()

Одного не могу понять - как человеку не могущему сделать нормальную регулировку громкости доверили майнтейниг нескольких подсистем :-(

cvv ★★★★★
()

кстати надо будет попробовать самому сделать коль у всех руки не из того места выросли.

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

Для кодирования в DTS на лету (нужно для SPDIF, если звук изначально в PCM, как это бывает в играх)
У меня как раз колонки через SPDIF подключены и PA в системе нет. Полёт нормальный.

Речь о шестиканале, видимо. PCM шестиканал через SPDIF не пролезет, только через HDMI если. То есть игры выдают 6ch PCM, а PA кодит в 6ch DTS, чтобы пролезло через SPDIF.

anonymous
()

Сталкивался с подобной бедой в сусе kde vlc, в арче с kdenlive, вообще наркоманская логика в этом pa, так что проблема есть. В убунте не припомню и на чистой alsa тоже.

anonymous
()
Ответ на: комментарий от KivApple

Не понятен наезд на регулировку баланса

Ага напрягало такое в opensuse, в kde микшере не было регулятора баланса. А у меня как назло наушники довольно дорогие заказывал, видно бракованные попались, звучали хорошо, но левое ухо чуть тише, менять не стал.

anonymous
()

Ребята, такая проблема. Есть старая добрая audigy 2zs, менять не хочу. Но она ужасно воспроизводит 44,1 кГц (ужасный хардварный ресемплер, даже на слух отлично слышно), при этом 48 кГц все норм. На >Win7 нет проблем, там системный ресемплер в микшере. А на XP и линуксах 44,1 звук с искажениями. То есть вся музыка, фильмы обычно в 48, хотя бывают исключения. Как в альсе и/или пульсе (а там в разных местах, как я понял) лучше настроить ресемплинг всего в 48? Я как-то пытался гуглить, но не осилил и забросил. В принципе в аудиоплеере можно настроить ресемплинг, но есть же еще браузеры и другие приложения.

anonymous
()

поясните, в чём преимущество игнорирования master volume в этом Flat Volumes? Какие реальные use cases можно придумать?

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

Так то примеры найти можно. Задрать что-то очень тихое. Например звук в фильмах часто тихий, приходится насиловать регулятор громкости в видеоплеере. А здесь увеличил в микшере выше системной и хорошо. Можно и системную увеличить для всех, но тогда браузеры и прочее будут «орать». Дело в реализации, если бы работало нормально и предсказуемо, чего от пульсы ждать не приходится. Доходило до того, что регулятор в видеоплеере регулировал системный.

anonymous
()
Ответ на: комментарий от AEP

спс. Как я понял из беглого просмотра, flat volumes типа обеспечивает лучшее usability. Для вендоюзеров :)

Sahas ★★★★☆
()
Ответ на: комментарий от anonymous

Как в альсе и/или пульсе (а там в разных местах, как я понял) лучше настроить ресемплинг всего в 48?

по-моему в этих картах есть сабстримы для обхода DSP с ресемплером - там соотвественно поддерживаемая частота дисретизация только одна - 48 кГц. Назначаешь этот сабcтрим устройством по умолчанию и все. Посмотри

aplay -l

в терминах юзерспейса сабстрим это сабдевайс (subdevice), полный идентификатор устройства PCM

hw:card,device,subdevice

пульс соответственно софтовый ресемплер автоматом втсавит в конвеер при выводе звука.

anonymous
()
Ответ на: комментарий от AEP

и еще парочку...

5. Для софтверного микширования звуковых потоков приложений на картах, не умеющих делать это аппаратно (ca0106 SB Audigy SE например). Альса это умеет, но только в 2.0 режиме, а надо-таки в 5.1

6. Для передачи звукового контента по сети (иногда имеется такая необходимость).

Jam_666
()
Ответ на: комментарий от Jam_666

С моей колокольни выглядит так что ты как будто не дочитал или недопонял конфигурирование альзы.

cvv ★★★★★
()

Поскольку выставление громкости на 100% (с возможными последствиями в виде сгоревших динамиков)

Когда-то (когда радиоинженеры-конструкторы были грамотными), разрабатывались устройства, в которых пара усилитель-динамик(и) рассчитывались по RMS и проч. стандартам. Потому сей казус не мог произойти в принципе.
Тогда же, малопрогуливающий уроки физики в школе пользователь знал простое правило, что нельзя подключать 10 ваттную колонку к 100 ваттному усилителю, а наоборот можно.

Сейчас выход из строя динамиков стал реальностью на некоторых ноутах, планшетах и проч. девайсах.
Сегодняшние горе инженеры манагеры скоро возможно начнут изобретать костыли софт, который не даст выставить яркость дисплея на 100%, ибо их горе коллеги вкрутили в подсветку хилую лампочку, которая при полной яркости сделает бабах.

anonymous
()

Давно хотел поискать как с пульсе сделать так чтоб при изменении общей громкости значения громкости отдельных приложений не менялись.

Оказывается дело в Flat Volumes. Бесполезная фича.
Даже вредная.
Прописал в /etc/pulse/daemon.conf:

flat-volumes = no

Результатом доволен.

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

нельзя подключать 10 ваттную колонку к 100 ваттному усилителю

Почему же. Можно на входе резисторный делитель подцепить, ограничивающий входной уровень, чтобы выходная мощность не превышала 10 Вт. Если устройство не монолитное опломбированное, конечно, типа домашнего кинотеатра или магнитофона «все в одном».

anonymous
()
Ответ на: комментарий от anonymous

Можно на входе резисторный делитель подцепить, ограничивающий входной уровень, чтобы выходная мощность не превышала 10 Вт.

Во во, типичный подход горе инженеров описанных выше.
По факту там резисторный делитель уже есть в предусилителе - регулятор громкости называется.

Для малопонимающих в электронике, это как бы взять слона и запустить его в посудную лавку, предварительно повязав его по рукам хоботу и ногам щоб он там почти не дрыгался.

Ещё «гениальная» идея - поставить резистор не на входе а на выходе, сподобным сопротивлением и мощой в 90ватт. Он будет выкидывать в помойку забрать на себя излишки мощности, тады точно колонка не крякнет. Профит.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.