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 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 (их больше, но доминирует эта).

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

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

PulseAudio Equalizer

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

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

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

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

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

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

Переходим к настройке программ

Включить линейный вход звуковой карты Linux

Захотел услышать линейный вход(микрофонный так же), но по какой-то причине GNOME ALSA Mixer не включает Loopback Mixing.
Решение: запустить консоль написать alsamixer нажать F3 выбрать канал (стрелками влево вправо) и включить его (вверх вниз), заранее уберите уровни Line и Line Boost в 0 чтоб не оглохнуть.. Далее уже можно будет управлять из графического режима.

Скрипт для регулировки уровня громкости 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 update
sudo apt upgrade -y
pulseaudio -k
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 plasma-pa
echo 'enable-lfe-remixing = yes' | sudo tee -a /etc/pulse/daemon.conf
mkdir -p ~/.config/pulse/presets/
echo -e 'mbeq_1197\nmbeq\nMultiband EQ\n1.0\nLaptop\n1\n0\n-30\n30\n15\n-1.0\n-1.0\n-1.0\n-1.0\n-5.0\n-10.0\n-18.0\n-15.0\n-10.0\n-5.0\n-5.0\n-5.0\n-5.0\n0.0\n0.0\n50\n100\n156\n220\n311\n440\n622\n880\n1250\n1750\n2500\n3500\n5000\n10000\n20000' > ~/.config/pulse/equalizerrc
echo '' > ~/.config/pulse/presets/*.preset
sudo sed -i 's/osd.show(percent)/\/\/osd.show(percent)/g' /usr/share/plasma/plasmoids/org.kde.plasma.volume/contents/ui/main.qml
pulseaudio --start
pulseaudio-equalizer enable

Уходим на перезагрузку и не забываем эквалайзер поднять: Параметры системы → Мультимедиа → Звук и видео (подробнее см. выше)

Естественно, подразумеваю, что данный код уложите в bash repulse.sh скрипт и запустите (первая строка #!/bin/bash и не забудьте сделать выполняемым)..

Если щелчки, булькает или хрипит звук Linux

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

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

0) Загрузитесь из под установочной флешки/диска, выполните проверку дисков на ошибки (в диспетчере разделов).

1) Переустанавливаем полностью pulse вместе с конфигами см. выше.

2) Обновите ядро системы, поскольку присутсвует взаимосвязь и ядро может некорректно функционировать по какой-то причине с железом, можно воспользоваться Ukuu (Ubuntu Kernel Upgrade Utility). И повторяем пункт 1, а может и нет.

sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt install ukuu
# проверить используемое ядро
uname -r

3) Возможно проблема с режимом звуковой карты, выполним и уйдём на перезагрузку.

sudo sed -i 's/defaults.pcm.dmix.rate 48000/defaults.pcm.dmix.rate 44100/g' /usr/share/alsa/alsa.conf
sudo sed -i 's/; resample-method = speex-float-1/resample-method = copy/g' /etc/pulse/daemon.conf
sudo sed -i 's/; default-sample-format = s16le/default-sample-format = s32le/g' /etc/pulse/daemon.conf
sudo sed -i 's/; default-sample-rate = 44100/default-sample-rate = 44100/g' /etc/pulse/daemon.conf
sudo sed -i 's/; alternate-sample-rate = 48000/alternate-sample-rate = 44100/g' /etc/pulse/daemon.conf

4) Всё ещё проблемы? Вот это уже не хорошо.. Попробовать под Windows, если артефактов нет, виновато ядро, по каким-то причинам некорректно работающее с железом. Если через время от включения компьютера артефакты пропадают, то скорее всего где-то железная проблема, конденсаторы могут так себя вести, здесь уже более радикальное решение может быть вплоть до замены/ремонта материнской платы, видеокарты итп., лучше начать исключать периферию первой, по возможности.

5) Написать производителю материнской платы и подробно описать всё: какие артефакты, какая система, что делали. Возможно ждать нового ядра Linux, новой прошивки BIOS, поиграться с настройками в БИОС, раз на раз может повезти и больше не заходить туда..

В моём случае после обновления БИОС появилась какая-то обратная связь (помехи проходить стали) материнской платы с PCI слотом в котором старая карточкой Creative X-Fi Elite Pro. Виновником проброса щелчков оказалась сама звуковая карта - давала в систему и на встроенную звуковую карточку проходило. Конденсаторы на старой все менял, так что там уже что-то другое, видимо время пришло. Переключился на встроенный Realtek ALC892, на материнской плате стоят модные конденсаторы в тракте и в целом обещали крутой звук и знаете, действительно, встроенный звук шагнул далеко вперёд, не думаю что буду ещё покупать внешние звуковые. Заметил что слышу дополнительные звуки не воспроизводимые старой звуковой. А вот запаса по громкости не хватает - слабее раза в 2-3, полностью раскачать студийные наушники не может, буду паять усилитель для наушников. В любом случае молодцы!

Страница сгенерирована за 0.004067 секунды
На один процесс веб-сервера: 246 стр/сек.
Всего Apache может отдать: 62 976 стр/сек.
Выделено php памяти: 916.25 KB, real_usage: 2 MB

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

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

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