Fast Site Engine
Высокопроизводительный движок для сайтов
Заказать сайт на основе движка
О движкеПроизводительностьБезопасностьТехнические требованияSEO 
Лицензионное соглашение
Демо
Установка
Панель управления
Модули
Документация
Шаблоны
Тесты производительности php
Планы на будущее
Список изменений
Отзывы и пожелания
Переходим на Линукс
Всякое разное
Переходим на Линукс  »  Настройка звуковой системы Linux

PulseAudio Equalizer Ubuntu 18.04 PulseEffects и настройка звуковой системы Linux

Политика разработчиков Linux по отношению к эквалайзерам звука по истине заставляет негодовать, официальная позиция - звук должен быть таким как есть. Из-за этого нет общего решения, но на помощь как всегда приходит сообщество! Не смотря на то, что официально PulseAudio Equalizer эквалайзер выпилили и не поддерживают, нашёлся человечек откопировавший исходники и собирающий для нас репозиторий с PulseAudio Equalizer Ubuntu 18.04 (Bionic Beaver). В благодарность размещу ссылку на его сайт, там много всего по линуксу https://www.comoinstalarlinux.com/pulseaudio-equalizer-ladspa/.

Если ставились через скрипт установки программ (setup.sh) - он уже всё установил и настроил, остаётся только выбрать схему эквализации и перетащить устройства (см. ниже).

Установить PulseAudio Equalizer

PulseAudio Equalizer - это непосредственно основной эквалайзер для ubuntu 18.04 в Linux. И установим микшер GNOME ALSA Mixer, чтоб можно было удобно добираться до каналов звуковых устройств..

# есть в setup.sh
sudo add-apt-repository -y ppa:lamedina/comoinstalarlinux
sudo apt update
sudo apt install -y pulseaudio-equalizer-ladspa swh-plugins gnome-alsamixer
# устраняем фоновую ошибку во время запуска
mkdir -p ~/.config/pulse/presets/ && echo '' > ~/.config/pulse/presets/*.preset

deb пакет можно взять от сюда:
http://ppa.launchpad.net/lamedina/comoinstalarlinux/ubuntu/pool/main/p/pulseaudio-equalizer-ladspa/

Установить PulseEffects

Ещё одна свежая разработка PulseEffects, но звук в нём слегка другой, поскольку эквализация иная.. PulseAudio Equalizer удобнее тем, что работает фоном, включил и забыл. PulseEffects же должен быть запущен "в виде окна", думаю в будущем это изменится..

cd /tmp
wget https://launchpad.net/~yunnxx/+archive/ubuntu/gnome3/+files/pulseeffects_1.313entornosgnulinuxenial-1ubuntu1_amd64.deb
sudo dpkg -i pulseeffects_1.313entornosgnulinuxenial-1ubuntu1_amd64.deb 
sudo apt install -f -y

Настройка звука Линукс

Я объясню как обращаться со звуковой системой Linux на примере Kubuntu 18.04. Настройка звука Линукс сводится к настройке подсистемы Pulse (их больше, но доминирует эта).

В первую очередь хочется отметить что разработчики материнских плат не очень качественно подходят к фильтрации питания, что может проявляться как постоянные щелчки в звуке итп. Скорее всего это функции энергосбережения процессора, происходит постоянные скачки мощности, что и вызывает помехи. Это легко побороть в БИОСе компьютера (во время загрузки щёлкайте клавишу del), затем ищите где настройки процессора и отключайте C6 state, C1 state итп. Они примерно так называются в зависимости от производителя процессора...

Необходимо запустить PulseAudio Equalizer и выбрать схему эквализации, на мой взгляд Laptop крайне адекватная, поставить галочку EQ Enabled, нажать Apply Settings и закрыть.. (setup.sh это сделает)

Пуск → Приложения → Мультимедиа → PulseAudio Equalizer

PulseAudio Equalizer

Теперь у нас будет фоном постоянно работать эквалайзер. Но необходимо ещё указать звуковой системе приоритет устройств вывода звука. Для этого идём в Мультимедиа слева будет столбец, в котором мы выбираем пункт и указываем, что данного типа звуковые потоки будут сниматься с эквалайзера первыми.

Пуск → Компьютер → Параметры системы → Мультимедиа → Звук и видео

Настройка звука в KDE

Не забываем нажать Применить..
(Вместо "Фиктивный выход" будет название звуковой карты конкретного компьютера.)

Внимание! Если звук хрипит при изменении громкости, проверьте чтоб устройством по умолчанию была звуковая карта, а не эквалайзер.. В трее на динамике жмём правой → Настроить виджет громкость → Громкость… По умолчанию всё в порядке должно быть.. (Мой скрипт управления громкостью fsesound через карту работает обходя эквалайзер..)

На закладке "Настройка звукового оборудования" можно настроить устройства и переключить звуковую схему на 5.1 итп. Я ещё отключаю лишние устройства..

Скрипт для регулировки уровня громкости Pulse, переключения звуковых схем 5.1

Поскольку "яжпрограммист", написал свой сценарий управления звуком в системе.. Скрипт fsesound находится в архиве, рядом с установщиком setup.sh (смотрите раздел установка программ в Linux).. Скрипт будет выполняться на стадии запуска системы, выставляя начальную громкость и запуская эквалайзер.. И он борет проблему с отключением сабвуфера..

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

# есть в setup.sh
sudo cp -v ./fsesound /usr/bin/
sudo chmod +x /usr/bin/fsesound
mkdir -p ~/.config/autostart/
echo -e '[Desktop Entry]\nType=Application\nName=fsesound\nComment=Управление звуковой системой\nExec=/usr/bin/fsesound start 16\nIcon=preferences-desktop-sound' > ~/.config/autostart/fsesound.desktop
chmod +x ~/.config/autostart/fsesound.desktop
Скрипт принимает параметры:
  1. Что сделать
  2. Громкость или звуковая схема
  3. Карта или звуковая схема2
  4. Карта (all=применить ко всем)

Если не указана карта - берётся текущая, можно указывать как по индексу 0, 1.. так и по имени Creative, NVidia, HD-Audio (без учёта регистра HD-Audio = hd-audio) скрипт пройдёт по текстовым полям: alsa.card_name, alsa.long_card_name, device.vendor.name, device.product.name в попытке найти заданное..

Возможные действия:
  • up - увеличить громкость
  • down - уменьшить громкость
  • vol - задать громкость
  • start - действия при запуске системы
  • set - задать звуковую схему
  • toggle - переключить звуковую схему

Логика сокращений звуковой схемы в set и toggle такая:

Аналоговые схемы: выход[вход] (m=mono, s=stereo, 51=5.1 выход)
s = Аналоговый стерео выход
ss = Аналоговый стерео дуплекс (Аналоговый стерео выход + Аналоговый стерео вход)
51s = Аналоговый объёмный 5.1 выход + Аналоговый стерео вход

Цифровые схемы HDMI: d|схема|номер устройства:
ds = Цифровой стерео/Digital Stereo (HDMI) выход
ds2 = Digital Stereo (HDMI 2) выход
d512 = Digital Front 5.1 (HDMI 2) выход

Цифровые схемы IEC958
958 = Цифровой стерео (IEC958) выход
958m = Цифровой стерео (IEC958) выход + Аналоговый моно вход
958s = Цифровой стерео (IEC958) выход + Аналоговый стерео вход

Полный список смотрите в скрипте, функция getprofile() и/или в настройках карты..

Громкость принимает значение в процентах (и тут всё просто 0 - 100%) или значение 0 - 65535 (100%) [78642 - 120% — усиление]. т.е. если задать 1200 это будет 1200/65535*100=1,98.. ~2%

Примеры использования:

# увеличить громкость
/usr/bin/fsesound up 2%
# [0,1,2.. № зв. карты - pactl list short cards]
/usr/bin/fsesound up 2% 1
/usr/bin/fsesound up 2% all
/usr/bin/fsesound up 2% creative
/usr/bin/fsesound up 2% "HD Audio"
# аналогично:
# down - понизить громкость
# vol - задать уровень громкости, знак с какой стороны - без разницы
/usr/bin/fsesound vol 2%
/usr/bin/fsesound vol 2%+
/usr/bin/fsesound vol +2%

# действия при запуске системы (16% - громкость)
/usr/bin/fsesound start 16

# задать звуковую схему
/usr/bin/fsesound set 51s
/usr/bin/fsesound set s 1
/usr/bin/fsesound set s all
/usr/bin/fsesound set ss "HD Audio"
# можно задавать 2 схемы "или или", для разных устройств
/usr/bin/fsesound set "ss ds" all

# переключить звуковую схему
/usr/bin/fsesound toggle ss 51s
/usr/bin/fsesound toggle ss 51s 1
/usr/bin/fsesound toggle ss 51s all
/usr/bin/fsesound toggle ds d512 "HDA NVidia"
/usr/bin/fsesound toggle "ss ds" "51s d51" all

# создать ярлык для переключения с 5.1 на стерео
echo -e '[Desktop Entry]\nType=Application\nName=SoundToggle\nExec=/usr/bin/fsesound toggle ss 51s\nIcon=preferences-desktop-sound\nCategories=AudioVideo;Audio;' | sudo tee /usr/share/applications/soundtoggle.desktop

Конечно можно и без /usr/bin/ вызывать.. fsesound toggle ss 51s

Если после перезагрузки не сохраняется уровень громкости или не запускается PulseAudio Equalizer

Создадим скрипт в автозапуске start.sh, он сначала задаёт 1% уровень громкости включает эквалайзер и затем устанавливает приемлемый для меня стартовый уровень 16% громкости системы (поиграйтесь).. Это пример того, что делает скрипт fsesound, корректней всё работает через него.

#!/bin/sh
sleep 3s
/usr/bin/pactl set-sink-volume 0 1%
/usr/bin/pulseaudio-equalizer enable
sleep 2s
/usr/bin/pactl set-sink-volume 0 16%
# расталкиваем сабвуфер, чтоб включился
/usr/bin/amixer set Front 1- unmute
/usr/bin/amixer set Front 1+ unmute

# зададим скрипту права на запуск
chmod +x ~/.config/start.sh
# добавим ссылку в автозапуск
ln -s ~/.config/start.sh ~/.config/autostart-scripts/

# ещё варианты, они актуальны после переключения зв. схемы sink id будет меняться:
|| /usr/bin/amixer set Master 1% unmute
|| /usr/bin/amixer -c 1 -- sset Master 1% unmute

Одной командой в консоли:

mkdir -p ~/.config/autostart-scripts/ && echo -e '#!/bin/sh\nsleep 3s\n/usr/bin/pactl set-sink-volume 0 1%\nsleep 1s\n/usr/bin/pulseaudio-equalizer enable\nsleep 1s\n/usr/bin/pactl set-sink-volume 0 16%\n/usr/bin/amixer set Front 99% unmute\n/usr/bin/amixer set Front 100% unmute' > ~/.config/start.sh && chmod +x ~/.config/start.sh && ln -s ~/.config/start.sh ~/.config/autostart-scripts/

В GNOME, Cinnamon итд. автозапуск скорее всего в этой папке, в случае прорблем см. выше как это сделано ярлычком fsesound.desktop.

~/.config/autostart/
# не по теме: сюда можно разместить, чтоб стартовало до запуска KDE..
~/.config/plasma-workspace/env/

Отключаем всплывающее окно при изменении громкости (Plasma volume OSD)

В следующей версии KDE в настройках plasma-volume-control (значок динамика в трее) будет галочка отключающая OSD окно при изменении громкости, а пока решим этот вопрос изменив скрипт..

/usr/share/plasma/plasmoids/org.kde.plasma.volume/contents/ui/main.qml
Обработка идёт в этих функциях: increaseVolume(), decreaseVolume().
Можно смело закомментировать автозаменой:
osd.show(percent);
//osd.show(percent);

Как всегда руками этого делать не будем, через консоль быстрее:

# есть в setup.sh
sudo sed -i 's/osd.show(percent)/\/\/osd.show(percent)/g' /usr/share/plasma/plasmoids/org.kde.plasma.volume/contents/ui/main.qml

Ещё есть kmix - замена этого плагина (plasma-volume-control). Скажем так - это старая разработка, но не хуже, может даже лучше местами.. Стоит заметить: при переключении на схему 5.1 plasma-volume-control теряется, показывает неточные данные о громкости.. Мне это не мешает, но посмотрим, может kmix поставлю..

Если не работает сабвуфер

Дело в том, что в настройках pulse какие-то мутки с этим - канал lfe по умолчанию выключен. Подробнее гуглите man pulse-daemon.

# есть в setup.sh
echo 'enable-lfe-remixing = yes' | sudo tee -a /etc/pulse/daemon.conf

Ещё бывает сабвуфер залипает и не включается при переключении на 5.1, просто погоняйте бегунки канала в микшере (gnome-alsamixer), у меня при изменении любого рабочего канала Front, Surround итп отлагивается, но Front будет на каждой схеме.. (Опять же fsesound всё это делает за нас на автомате.)

Если PulseAudio Equalizer не запускается в графическом режиме, введите в консоли:

pulseaudio-equalizer-gtk

И проследите какие ошибки пишет, может не запускаться из-за отсутствия иконки в выбранной теме оформления..

Ещё бывало отваливался при обновлении из-за конфликта версий, для решения проблемы заблокируем обновление:

sudo apt-mark hold pulseaudio-equalizer

# разблокировать обновление пакета
sudo apt-mark unhold pulseaudio-equalizer

Что делать если в Linux пропал звук

Такое случалось при обновлении системы, иногда начинались проблемы завала в хрип. Лечиться традиционно удалением конфигов, остальные методы могут высадить много времени, но не решить проблему..

sudo apt purge -y pulseaudio pulseaudio-equalizer-ladspa swh-plugins
rm -rf ~/.config/pulse
sudo rm -rf /etc/pulse /usr/share/pulseaudio /usr/share/pulseaudio-equalizer
# на этом шаге возможно понадобится перезагрузка компьютера
sudo apt install -y pulseaudio pulseaudio-equalizer-ladspa swh-plugins
pulseaudio -k && pulseaudio --start

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

Страница сгенерирована за 0.002392 секунды
На один процесс веб-сервера: 418 стр/сек.
Всего Apache может отдать: 107 008 стр/сек.
Выделено php памяти: 880.25 KB, real_usage: 2 MB

© Все права защищены 2004 - 2018
Карта сайта
Отслеживать изменения в Твиттере
Политика конфиденциальности

Браузер построил за сек.
Полное время сек.

С момента выгрузки предыдущей страницы из памяти браузера: сек.