- Как сбросить настройки звука или переустановить аудиодрайвер (PulseAudio&Alsa) в Ubuntu?
- Как перезапустить pulseaudio
- Отключаем PulseAudio в Linux
- PulseAudio, часть 1: управление из командной строки
- Кратко о PulseAudio
- GUI инструменты
- Основные понятия PulseAudio
- ALSA → PulseAudio
- Управление PulseAudio: pactl
- Конфиг
- patricks
Как сбросить настройки звука или переустановить аудиодрайвер (PulseAudio&Alsa) в Ubuntu?
На ноуте стоит винда с бунтой, на винде микрофон пишет чисто, а на бунте хрипит. Год назад что-то делал с пульсой, хотел писать звук с карты и микрофона, но фиг там, ничего с этим не вышло, точнее звук с карты отставал. После этих манипуляций стал хрипеть звук с микрофона, как сбросить все звуковые настройки? Пробовал:
— дергать ползунки в alsamixer
— дергать ползунки в pulseaudio
— sudo alsa force-reload
— sudo aptitude reinstall pulseaudio
— удалял конфиги с /home/user/.config/pulse
— sudo dpkg —purge pavucontrol & sudo aptitude install pavucontrol
— подключал другой микрофон — с ним все ок, видать в дровах дело, или пульсу пересобирать надо, только я не понимаю как собирать ее
Откуда такой странный вопрос? В чём может быть сакральный смысл «переустановки»?
Ну ведь в драйвере дело раз в винде все нормально и при подключении другого микрофона в бунте ничего не шипит
Забыл сказать, что я только подозреваю, что из-за моих манипуляций с пульсой стал хрипеть звук, возможно он всегда хрипел.
Так. А что такое, по-твоему, «драйвер», что значит его «переустановить», и как это может помочь, даже чисто теоретически?
Ну раз в винде все ок, а линуксе нет, следовательно дело не в железе, отсюда и подозрение на драйвер, кроме него я не знаю что еще можно подозревать, если Вы подскажете — буду признателен.
Очевидно же, что дело в пульсаудио, при чём тут alsa? Возьми да удали это говно.
Удалял пульсу и писал с альсы, один фиг хрипит, если бы все так просто было бы — сюда бы не писал.
http://i.imgur.com/CGUaS.jpg
а попробуй выключить, лечит наводки по плате, эффект в виде подключения отключения разъемов, при этом хрип в колонках и на запись с микра
и конечно проверить, что включено в розетки, у меня не хило хрипит мик когда включена настольная лампа, вот такой хреновый преобразователь в бп для дневного света
Сегодня вышла десяточка, а вы всё ещё сношаетесь с бунтами и прочим говном?
нет спасибо, десяточку будем посмотреть через годик, когда фанатики вроде тебя набагрепортят и все устаканится. Это касается и лтс бунты, никогда не перехожу раньше чем через пол года, ну некогда мне с косяками бороться
Включал/Выключал я вообще все комбинации перепробовал которые можно в alsamixer. Щас вот заливаю на флешку такой же дистрибутив, чтобы в LiveCD загрузиться и проверить запись, если будет все ок, то проблема исправима, если нет, то проблема исправима, но сам я ее навряд ли решу )
Если выражаться виндовым языком, то в Linux драйвера «ставится» при загрузке системы всякий раз заново, так же заново пересохздаётся каталог /dev.
И если проблемы с драйвером, вызванные писанием в /proc и /sys чего и куда не попадя не решаются перезагрузкой компа,
то видимо что то не так в папке /etc, а это уже не драйвер, а настройки софта.
(pulseauidio это не драйвер, а именно сервер пересылки звуковых потоков).
а может дело в том что ты не тот пакет поставил, или нетот плугин.
Для начала выкачай LiveCD с последней версией твоей системы и посмотри, работает в нём всё как надо или нет.
Если не работает или у тебя уникальное устройство для которого нет драйвера вообще или мантейнер чёто не додумал.
Качай LiveCD с другим декстопом, если опять не помогает то ищи другой дистр.
Проверил.. хрипит в LiveCD, так что этот хрип уже из коробки( Хреново адаптировали систему под мою аудиокарту, в винде чистейший звук..
Мнда.. загрузился с LiveCD Ubuntu 15.04 — такой же чистейший звук как винде. А стоит у меня Xubuntu 14.04, получается в крысе дело..
Источник
Как перезапустить pulseaudio
Время от времени ни с того ни с сего отваливается (или точней теряет часть функционала pulseaudio). Приложения, завязанные на него теряют способность воспроизводить звук (skype), в alsamixer перестает отображаться pulseaudio. Хотя процесс висит. Так вот попытка выполнить
Что говорят ps -Fp $(pgrep pulse) , getent passwd $USER и ls -ld /run/user/1000 ?
С юзером все ОК, а вот как так получилось, что pulseaudio от root запущен? Может, в этом и корень всех бед?
Радуйся же. А если серьёзно, я бы на твоём месте давно отредактировал конфиг, запретив ему autospawn. Правда, если у тебя GNOME3, тебе потребуется другой регулятор громкости.
Как кстати запускается пульса при старте системы? Я руками для этого ничего не делал, просто поставил пакет из реп и все. Я так понимаю не через systemd.
Что за autospawn?
Как кстати запускается пульса при старте системы?
Никак. Точнее, не должна никак — запуск pulseaudio происходит при попытке той или иной программы проиграть звук через пульс при условии, что никакие специалисты не запретили autospawn (это параметр в /etc/pulse/client.conf).
Какой дистрибутив, кстати сказать?
Arch linux. Как сделать чтоб запускалась от пользователя?
Как сделать чтоб запускалась от пользователя?
Вообще, по умолчанию так и должно быть. Могу предположить, что в /etc/pulse/daemon.conf надо поправить system-instance. Возможно, понадобится ещё выключить юнит systemd. Точно не знаю, у меня в Debian всё само работает.
Arch linux. Как сделать чтоб запускалась от пользователя?
Источник
Отключаем PulseAudio в Linux
Здравствуйте! Сегодня мы узнаем, как отключить PulseAudio в Linux! Но «для чего?» не узнаем — вы должны знать ответ сами!
Как это сделать?
Вообще, тут должен был быть скучный список «если такой-то дистр меньше N-й версии, то
/.pulse , а если больше, то
/.config/pulse ». Или хитрый скрипт, который проверяет «if
/.pulse exist, then echo tuda, else echo v
/.config/pulse». Но сделаем просто:
Вот! Чтобы наверняка.
Почему не работает просто killall pulseaudio?
Потому что Поттеринг. И ведь это — одна из первых его поделок, и поэтому в ней работает отключение хотя бы через не очевидный способ! В последующих нет даже неочевидного способа.
Почему не удалить пульсу?
Многие программы слинкованы с /usr/lib/libpulse.so.0 Upd: Оказывается libpulse и системная служба PulseAudio — в разных пакетах! Значит, удалять всё-таки можно.
То есть, отключаем пульсу — и всё, звук идёт через ALSA?
Да. Попробуйте сами.
Хотя не совсем. В некоторых дистрибутивах Linux не исчезает ALSA-устройство «pulse» — звук, соответственно, идёт в /dev/null. У меня в Debian и Ubuntu ALSA-устройство «pulse» пропадает при отключении пульсы. А в openSUSE пришлось также удалить/переименовать/закомментировать конфигурационный файл /etc/asound-pulse.conf.
Это устройство — довольно хитрый «костыль»: те программы, которые поддерживают PulseAudio, выводят звук напрямую в него. А те, которые поддерживают только ALSA, выводят звук в ALSA-устройство default, ведущее в «pulse», которое ведёт в PulseAudio. А потом снова в ALSA, и далее в дом, который построил Джек
Какие проблемы могут быть?
- Исчез значок в системном трее
У меня в KDE такого не было, но было в MATE. В MATE можно установить программку Volti. В репозиториях она собрана с GTK2, а в GIT доступна начальная поддержка GTK3
Перестали работать мультимедийные клавиши клавиатуры
У меня такого не было, но другие люди жаловались. Если у вас не работает, включите в настройках Volti. Работает либо через HAL, которого в современном линуксе уже нет (но есть в CentOS 6), либо через Xlib (который в современном линуксе ещё есть). Также советую выставить в настройках Volti недефолтный микшер (например этот), потому что дефолтный неудобен.
Исчез звук в Skype 4.3
Запускайте через apulse (уже в репозиториях!)
Исчез звук в приложениях, использующих SDL (99% игр)
У меня в KDE такого не было, но было в MATE. Проверить можно этой игрой. Решается так:
А тут вот что произошло. BlueZ 4 поддерживал ALSA, а BlueZ 5 — перестал. Разработчики сказали «а мы не обязаны! Вот посмотрите: разработчики PulseAudio написали плагин сами. Почему плагин для ALSA должны писать мы?», и удалили поддержку ALSA.
Bluez-alsa пока доступен не во всех репозиториях, поэтому даю ссылку на исходники. Инструкция по настройке.
Источник
PulseAudio, часть 1: управление из командной строки
Одним из новшеств Ubuntu 10.10 стал переход с «голой» ALSA на PulseAudio. Ранее постилось много советов прибить и удалить его для решения проблем, однако теперь PulseAudio стабилен, с ним не шипят колонки ;), и он способен на такое, что не снилось Alsa 🙂
В статье я с самого начала расскажу что это такое и как оно работает, а так же:
- Как переключить весь звук на USB-колонку на закрывая приложений (usb hotplug);
- Как выбрать порт звуковой карты для вывода звука (колонки ноутбука/наушника, LineOut/Наушники);
- Как выбрать профайл звуковой карты (маппинг физических портов: 5.1 или стерео+lineIn?);
- Как управлять громкостью и усиливать тихий сигнал (!);
- Как сделать Skype громче музыки?
И представлю своё решение, призванное упростить управление PulseAudio 😉
Кратко о PulseAudio
Обзор хорошо написан в нашей википедии. Приведу сводный список основных отличий от Alsa:
- PulseAudio — «слой звуковой абстракции», принимающий звуковой поток от приложений и передающий его Alsa;
- PulseAudio оперирует объектами и позволяет перенаправлять звуковой поток между ними (роутинг);
- PulseAudio — демон, обычно запускаемый от имени пользователя;
- Позволяет передавать звук по сети и «расшаривать» микрофоны, установленные на других компьютерах.
- Теперь при отключении USB-колонки ни одна прога не подвиснет, а будет переброшена на другую доступную карту 🙂
GUI инструменты
Если Вы читаете эту статью чтобы решить пару нюансов и не вникать — могу порекомендовать попробовать GUI-tools, описанные на странице PulseAudio. С помощью pavucontrol можно будет быстро выбрать устройство записи «по умолчанию» (Input Devices, кнопка справа «Set as fallback») и Skype будет работать 🙂 Также pavucontrol позволяет управлять громкостью общей и отдельных приложений.
Основные понятия PulseAudio
Card, Sink & Source
Известно, что у звуковой карты два типа гнёзд: входы (line in, микрофон) и выходы (наушники, line out, S/PDIF). В типовой конфигурации для каждой имеющейся звуковой карты и её «гнёзд» PulseAudio создаёт следующие объекты:
- Card. Объект представляет физическую звуковую карту со всеми её входами и выходами;
- Sink (англ. низина) — «сток», принимающий звуковой поток. Представляет выход звуковой карты: линейный выход, наушники, колонки ноутбука;
- Source (англ. источник) — источник звука, создающий звуковой поток. Представляет вход звуковой карты: линейный вход, микрофон.
В PulseAudio задаётся «default Sink» и «default Source»: объекты, используемые по умолчанию для свежезапущенных приложений.
Замечу, что Sink не обязательно должен описывать физический порт звуковой карты: это абстракция приёмника потока звука. PulseAudio — штука высокоуровневая и позволяет создавать весьма «хитрые» объекты: например, Sink типа ‘NULL’ (реализуемый модулем PulseAudio module-null-sink) просто поглотит звук, а модуль module-pipe-sink позволит передавать звуковой поток через файл FIFO. Также можно создавать сетевые Sink’и, ведущие multicast-вещание или передающие звуковой поток определённому хосту. Всё это реализуется модулями PulseAudio.
Итак, звук проигрывается через «Sink», а записывается через «Source».
Sink-Input & Source-Output
- Sink-Input. Когда приложение, поддерживающее PulseAudio, собирается проигрывать звук — оно направляет свой вывод в один из объявленных Sink’ов и становится «входом Sink’a»: Sink Input. Приложение может создавать несколько потоков вывода, создавая отдельные Sink-Input’ы для каждого потока.
- Source-Output. Если же приложение собирается принимать звук из некоторого Source (звукозапись) — оно становится «выходом Source’а»: Source-Output.
Каждый Sink-Input по умолчанию связываться с одним из Sink’ов и передаёт звуковой поток. PulseAudio далее определяет с чем связан Sink (например, звуковая карта) и передаёт его по назначению.
Существует особый тип Source’а: Monitor. Для каждого Sink’а может быть создан отдельный монитор, позволяющий вести запись. Так, получается запись «звука из колонок».
Итак, медиаплеер создаёт Sink-Input, а Skype — и Sink-Input, и Source-Output.
module, client, sample
В рамках статьи — чисто информационные 🙂
- Module. Загруженный модуль PulseAudio. Например, загрузка module-alsa-sink с заданием пераметров, указывающих на устройство Alsa — создаст Sink, связанный с этим устройством. Существуют и другие модули, создающие объекты PulseAudio, позволяющие управлять им, использовать FIFO для обмена звуковым потоком и многое другое;
- Client. Приложение, подключившееся к PulseAudio. Может создавать потоки Sink-Input и Source-Output и управлять демоном PulseAudio.
- Sample. Звуковой сэмпл, загруженный в PulseAudio для быстрого воспроизведения. Может использоваться для проигрывания стандартных звуков. Например, x11 bell. Могут проигрываться по команде от модуля, клиента или из консоли.
ALSA → PulseAudio
/.asoundrc вставляем следующие строки (Которые, кстати, вылечат микрофон Skype’а! если ещё отключить «Позволить скайп автоматически подстраивать громкость» — подсказывает aim):
pcm.pulse < type pulse >
ctl.pulse < type pulse >
pcm.!default < type pulse >
ctl.!default < type pulse >
Первые две строки создадут виртуальные устройства ALSA с именем ‘pulse’ для ввода и вывода, а также устройство контроля (громкости). Следующие две — определяют их как «по умолчанию»: теперь все приложения вместо Alsa будут использовать PulseAudio через специальный плагин (и ничего не подозревать).
Для применения измений нужно перезапустить звуковые приложения. Свежезапущенные приложения подхватят изменения сами.
UPD: yuretsz подсказывает, что приложения, использующие OSS ( /dev/dsp ), нужно запускать через враппер padsp [options] PROGRAM [ARGUMENTS . ] .
Управление PulseAudio: pactl
Управление PulseAudio осуществляется с помощью команды pactl, про которую нельзя сказать что она удобная и продвинутая 🙂 однако тренироваться будем с ней.
Осмотр владений
Для начала давайте посмотрим что у нас есть: какие объекты определены в PulseAudio. Рекомендую запустить фоновую музыку чтобы было на что смотреть 🙂
Команда pactl list покажет длинный список существующих объектов.
У каждого объекта есть набор описывающих его полей, а также специальное поле «Properties»: список key-value свойств (обычно строковых).
У всех объектов есть index (Sink #0) — уникальный номер объекта определённого типа. Также многие объекты имеют имена (Name: ): index и Name можно использовать для обращения к конкретному объекту.
Рекомендую присмотреться к полям объектов Sink и Source: по умолчанию они описывают Ваше железо.
Покажу свой пример:
pactl & pacmd
Кроме pactl существует другая утилита для управления PulseAudio: pacmd .
Если к PulseAudio подключен модуль module-cli-protocol — создаётся UNIX-сокет на котором висит PulseAudio-shell. Это во многом похоже на telnet 🙂
Шелл принимает текстовые команды и исполняет их. pacmd help покажет список доступных команд.
Проблема в том, что pactl умеет не всё, а pacmd не так удобен в использовании. В дальнейшем будем придерживаться pactl , однако если его функционала не хватит — используем pacmd .
В конце статьи я продемонстрирую собственную утилиту, работающую поверх стандартных: намного более функциональную и удобную 🙂
Card Profile: маппинг портов звуковой карты
У звуковой карты ограниченное количество разъёмов, а применений им может найтись масса: можно задействовать все под вывод звука 5.1 и оставить один для микрофона; или же оставить один джек под стерео-выход, зато получить входы для микрофона и линейный; или…
Увы, магия здесь не прокатит: наборы предустановлены производителем. Их список можно посмотреть в поле «Profiles» объекта «Card».
Для каждого профиля задаётся приоритет (priority): число, определяющее «степень привлекательности» именно этого профайла. По умолчанию PulseAudio выбирает профайл с наибольшим приоритетом.
Для каждого профайла указывается сколько Sink’ов и Source’ов он породит если его выбрать: sinks: 1, sources: 0 .
На данный момент нельзя изменить приоритеты, однако можно выбрать тот или иной профиль.
Подсматриваем в выводе pactl list имя карты и профиля, и выбираем:
pactl set-card-profile ‘alsa_card.pci-0000_00_1b.0’ ‘output:analog-stereo+input:analog-stereo’
Всё, порты карты переназначены.
Можно вообще выключить все разъёмы, выбрав профайл «off»:
pactl set-card-profile ‘alsa_card.pci-0000_00_1b.0’ ‘off’
Sink Port: переключение звука на наушники
У одного Sink’а может быть несколько звуковых портов. Например, Sink созданный на основе звуковой карты ноутбука, может иметь два порта: встроенные колонки и выход на наушники.
Текущий порт Sink’а можно посмотреть в его поле Active Port: analog-output-speaker .
Глядя на список Ports нужного объекта Sink, назначаем порт:
pactl set-sink-port ‘alsa_output.pci-0000_00_1b.0.analog-stereo’ ‘analog-output’
и звук моментально перебрасывается на наушники, отключая колонки.
Аналогично для Source. Возможно, Ваш микрофон не работает в Skype именно из-за того что выбран не тот порт записи 🙂
Default Sink: звуковой выход по умолчанию
PulseAudio метит один из Sink’ов как «по умолчанию»: новые запущенные приложения по умолчанию будут проигрываться через него. Другими словами, если приложение при создании Sink-Input’а не выбирает Sink самостоятельно (например, из пользовательских настроек) — выбирается default-sink.
Sink по умолчанию можно посмотреть выполнив команду pactl stat :
$ pactl stat
.
Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo
Default Source: alsa_input.usb-046d_0802_0825F490-02-U0x46d0x802.analog-mono
Изменим его: смотрим имя нужного Sink’а и пишем:
pacmd set-default-sink ‘1’
Обратите внимание что pacmd в некоторых случаях позволяет использовать номера вместо длинных имён.
Аналогично для Source. Кстати, неверно выбранный default-Source тоже может не давать общаться в Skype 🙂
Move Sink-Input: перемещение звукового потока
Этим действием можно перекинуть Sink-Input с одного Sink’а на другой. Таким образом можно перебросить музыку на только что подключенную USB-колонку.
Смотрим имена двух Sink’ов, находим нужный Sink-Input и пишем:
pactl move-sink-input 16 ‘1’
и звук Sink-Input#16 моментально переключается на Sink #1. Это может быть USB-колонка.
Увы, перебросить сразу все Sink-Input’ы с помощью pactl или pacmd нельзя. В конце статьи будет решение.
Source-Output также можно переключать между Source’ами.
Управление громкостью
Громкость в PulseAudio задаётся численно: 0..65535 (соответствует 0% и 100%), а также — сюрприз! — значения большие чем 100% вызывают усиление сигнала что незаменимо при просмотре фильмов с ненормализованной громкостью.
Здесь можно использовать index Sink’а:
pactl set-sink-volume ‘1’ 100 # очень тихо! 100/65535 = 0,15%
pactl set-sink-volume ‘1’ 65535 # 100%
pactl set-sink-volume ‘1’ 78642 # 120% — усиление
pactl set-sink-mute ‘1’ true # соседи могут засыпать
Усиление может вызывать clipping: всем известный «дребезг».
Аналогично можно управлять громкостью Source’ов.
UPD: с версии 0.9.15 появилась фича «FLAT_VOLUME» (её можно увидеть в Sink ‘Flags’). При наличии этого флага громкость Sink’а автоматически устанавливается как максимальная громкость всех Sink-Input’ов. Отключить её можно так:
echo «flat-volumes = no» >> /etc/pulse/daemon.conf
Громкость приложений
С появлением Windows7 линуксоиды, не знакомые с PulseAudio, обзавидовались возможности регулировать громкость отдельных приложений 🙂
Теперь это возможно: смотрим index нужного Sink-Input’а и усиливаем отдельное приложение:
pactl set-sink-input-volume ’16’ 80000
Приостановка
Sink и Source можно «приостановить»:
pactl suspend-sink ‘1’
Конфиг
Когда Вам в голову придёт мысль добавить одну из этих команд в автозагрузку — немедленно выбросьте её! В таких случаях нужно использовать файл конфигурации PulseAudio.
Пример можно найти в файле /etc/pulse/default.pa . Обратите внимание на shebang #!/usr/bin/pulseaudio -nF : это скрипт, синтаксис которого очень похож на команды, которые понимаем pacmd .
Для самообразования:
- pacmd — Запускает интерактивную консоль PulseAudio
- pacmd help — список команд, на оффсайте
- Модули PulseAudio
patricks
Замучавшись неудобством официальных утилит, ваш верный слуга написал свою утилиту для управления демоном PulseAudio 🙂
Особенности:
- Короткие, интуитивные команды
- Дозированная подача информации командой ls : теперь в терминал не будет вываливаться тонна информации (особенно properties)
- Все объекты — в том числе порты и профайлы — можно задавать как по имени, так и по индексу
- Команда set sink 0 port next — можно не гадать номер порта и просто переключиться на следующий. Удобно для хоткея.
- Наличие команды mv sink 0 all для перемещения всех звуковых потоков в нужный Sink (USB-Колонка)
Полакомиться можно на GitHub: ootync/Patricks
(файлы скрипта положить куда-нибудь и сделать симлинк на patricks.php)
Пример работы:
Посмотреть список Sink’ов. Текущий Sink выделен символом >:
Внимательнее присмотретсья к Sink #0:
Внимательнее посмотреть на список портов Sink #0:
Переключить Sink #0 на следующий порт
Перекинуть все Sink-Input’ы на следующий Sink (например, свежеподключенную USB-колонку)
Источник