После шести месяцев разработки увидел свет (http://lists.freedesktop.org/archives/pulseaudio-discuss/201...) релиз звукового сервера PulseAudio 2.0 (http://pulseaudio.org/), который выступает в роли промежуточного звена, выполняющего роль посредника между приложениями и различными низкоуровневыми звуковыми подсистемами, абстрагируя работу с оборудованием. PulseAudio позволяет управлять громкостью и смешиванием звука на уровне отдельных приложений, организовывать поступление, смешивание и вывод звука при наличии нескольких входных и выходных каналов или звуковых карт, позволяет на лету менять формат звукового потока и использовать плагины (http://www.pulseaudio.org/wiki/Modules), дает возможность прозрачно перенаправлять звуковой поток на другую машину. Кроме Linux, PulseAudio поддерживает работу в таких системах, как Solaris, FreeBSD, NetBSD, Mac OS X и Windows. Код PulseAudio распространяется в рамках лицензии LGPL 2.1+.
Ключевые улучшения (http://www.freedesktop.org/wiki/Software/PulseAudio/Notes/2.0) PulseAudio 2.0:
- Поддержка альтернативных частот дискретизации. Для оборудования, которое поддерживает несколько частот дискретизации, теперь поддерживается динамическое переключение на необходимую частоту, что позволяет исключить накладные расходы, связанные с программным преобразованием исходной частоты дискретизации. Ранее, PulseAudio поддерживал открытие устройства только с одной частотой дискретизации, требуя чтобы все потоки удовлетворяли изначальным параметрам и выполняя программное преобразование для всех других частот дискретизации. Поддержка использования альтернативных частот дискретизации позволяет снизить нагрузку на CPU и уменьшить энергопотребление для оборудования, поддерживающего переключение частоты (например, большинство устройств Intel HDA);- Автоматическое определение типа аудио разъёмов, используя возможности, появившиеся в ядре Linux 3.3. PulseAudio теперь может определить какие подключены аудио разъемы и принимать соответствующее решение, например, автоматически выставлять разный уровень громкости для наушников и колонок;
- Улучшения для VoIP: значительное улучшение работы модуля подавления акустического эха. Добавлен новый метод подавления эха, используемый в проекте WebRTC (http://WebRTC.org) и отличающийся более коротким временем обучения и более высоким качеством. Ранее используемый модуль подавления эха, основанный на наработках проекта Speex, оставлен в качестве опции. Из WebRTC также перенесена поддержка автоматической регулировки громкости, которая позволяет добиться сохранения заданной громкости, автоматически адаптируясь под меняющийся уровень сигнала от микрофона. Также реализована поддержка компенсации ухода частоты (drift compensation), позволяющая обеспечить работу подавления эха между разными устройствами (например, громкоговорители ноутбука и микрофон на web-камере);
- Модуль для формирования виртуального Surround-звука;
- Поддержка звуковой подсистемы для паравиртуализированных гостевых окружений Xen;
- Поддержка операционной системы HURD;
- Улучшено качество работы декодера A2DP.URL: http://lists.freedesktop.org/archives/pulseaudio-discuss/201...
Новость: http://www.opennet.me/opennews/art.shtml?num=33823
На N900 запилить можно ли интересно? А то там идет постоянное преобразование в 48kHz, хоть и аппаратно (speex-fixed-2), но все же это не очень хорошо.
Смешивает звук с входа и выхода он просто прекрасно, во всех voIP мощнешее эхо с самовозбуждением.
Я то думал, что нормальное ПО должно всё гонять по отдельным несвязанным каналам.
Уже минимум год как я не сталкивался с таким в PA
> Смешивает звук с входа и выхода он просто прекрасно, во всех voIP мощнешее эхо с самовозбуждением.Хотеть! Расскажи, как ты это настроил?
может это ты чего-то не так сделал в микшере для своей карточки? Такое бывает и без PA
Никогда такой фигни не встречал. У тебя наверно звук с колонок попадает в микрофон, от того и возбуждение.
> Никогда такой фигни не встречал. У тебя наверно звук с колонок попадает
> в микрофон, от того и возбуждение.Скорее всего, человек программно смикшировал входной и выходной потоки. Очень интересно узнать, как это делается.
Это я думаю от аудиокарты зависит. В моём примере эхо есть на SB Live и оно никак не убирается. На встройке via vt1708 всё отляк работает, не могу настроить эхо. :D
> теперь поддерживается динамическое переключение на необходимую частотуВот это круто. Раньше для беспотерьного прослушивания HiRes нужно было менять частоту в настройках PA. Теперь можно не заботиться о том, что при настройке PA на какие-нибудь 96 kHz src-sinc-best-quality сожрет весь проц при прослушивании CD рипов.
Не все так безоблачно =/ Из мана:alternate-sample-rate The alternate sample frequency. Sinks and sources will use either the default-rate-rate value or this alternate value, typically 44.1 or 48kHz. Switching between default and alternate values is enabled only when the sinks/sources are suspended. This option is ignored in passthrough mode where the stream rate will be used. If set to zero, this feature is disabled.
Т. е. там переключение только между 2-мя частотами.
Там написано "typically 44.1 or 48kHz", то есть они приведены в качестве примера наиболее часто используемых, но не значит, что это единственные варианты. Может, я ошибаюсь.
Это понятно. Имелось в виду, что там всего 2 опции, задающие частоту: default-sample-rate и alternate-sample-rate. Т. е. таки 2 частоты, между которыми возможно переключение.
Да. Непонятно, что мешает подхватывать весь список частот и переключать между ними$ cat /proc/asound/CUBE/stream0 | grep Rates
Rates: 8000, 16000, 32000, 44100, 48000, 96000
Rates: 8000, 16000, 32000, 44100, 48000, 96000
Rates: 8000, 16000, 32000, 44100, 48000, 96000
Rates: 8000, 16000, 32000, 44100, 48000, 96000
> PulseAudio теперь может определить какие подключены аудио разъемы и принимать соответствующее решение, например, автоматически выставлять разный уровень громкости для наушников и колонокТ.е. при включении наушников - отключить колонки, а при выдергивании наушников - включить обратно.
Шикарно. Огромный шаг вперед в плане юзабилити линукс-десктопа.
А раньше разве не так было?
Только если звуковуха и соответствующий alsa-драйвер поддерживали на аппаратном уровне. Например, ноутбучный Realtek HD Audio.
> Только если звуковуха и соответствующий alsa-драйвер поддерживали на аппаратном уровне.
> Например, ноутбучный Realtek HD Audio.Ну да, PA через libastral определит состояние вашего наушникового гнезда, если нет такой аппаратной поддржки. Не смешите.
> Ну да, PA через libastral определит состояние вашего наушникового гнезда, если нет
> такой аппаратной поддржки. Не смешите.Аппаратная поддержка есть почти везде, но в ALSA соответствующей поддержки нет и не планируется. А зачем? Все равно это лишь прокладка под PA.
Нифигасебе "прокладка" - ещё может скажите linux kernel прокладка под firefox ? :)
примерно так и есть, кстати. потому что само по себе ядро бесполезно, и нужно только для того, чтобы обеспечивать среду запуска прикладных программ.
> примерно так и есть, кстати. потому что само по себе ядро бесполезно,
> и нужно только для того, чтобы обеспечивать среду запуска прикладных программ.Это прикладные программы сами по себе бесполезны :)
А если по теме без PA жить можно (и даже нужно!), а вот без alsa ...
>(и даже нужно!)если тебе нужно живи.
учитывая что никакого другого способа перенаправлять потоки на ходу нет
jack ?
аноним такой аноним.
Ой не врите. Есть там апи, в котором можно прописывать разъемы (jack'и), для каждого указывать тип (наушники/микрофон), устанавливать gpio или irq, и при срабатывании будут переключены DAPM виджеты и испущен event через input систему.Посмотрите драйвер sound/soc/pxa/palm27x.c - там это используется.
> Посмотрите драйверубивец. хочешь, чтобы у человека череп взорвался.
> А раньше разве не так было?Было, на гитовских версиях пульса.
>> А раньше разве не так было?
> Было, на гитовских версиях пульса.а у меня на субноуте и без пульса работает. я опять накосячил?
>я опять накосячил?ага. опять не удержал в себе.
>Т.е. при включении наушников - отключить колонки, а при выдергивании наушников - включить обратно.
>Шикарно. Огромный шаг вперед в плане юзабилити линукс-десктопа.Т.е. ещё один повод выпилить эту мерзость сразу после установки, верно я понимаю?
PulseAudio как всегда на шаг впереди остальных!
> PulseAudio как всегда на шаг впереди остальных!Кого "остальных"? Других костылей вроде никто не придумал, поттердинг у нас один такой альтернативно одарённый. А на шаг впереди ногмального ядерного звука она быть не может, потому что сама поверх него работает.
Phonon?
esound же
> esound жеNAS
>> esound же
> NASВы бы еще arts вспомнили :)
> Кого "остальных"? Других костылей вроде никто не придумал, поттердинг у нас один такой альтернативно одарённый.Ну да, ыксперды не утруждают себя знанием темы.
Но зато очень утруждаются доведением до всех своего авторитетного мнения.
А он уже научился видеть аппаратные регуляторы звуковой карты?
Поддержка микроядра HURDОго там звук
Вот бы он ещё научился независимо по S/PDIF звук гонять. А то для XBMC приходится отдельную звуковую карту иметь, так как отдельные колонки к ресиверу подключены. При чём в Windows разные колонки по аналогу и через S/PDIF на одной карте без проблем работают, а под Linux это невозможно. Вот и приходится либо колонки перетыкать, либо в Windows перегружаться.
> Linux это невозможно. Вот и приходится либо колонки перетыкать, либо в
> Windows перегружаться.Вы уверены, что это невозможно именно в linux, а не в pulseaudio?
хм? странно что по S/PDIF не работает отдельно, к примеру между аналогом и hdmi спокойно раскидываются...
> хм? странно что по S/PDIF не работает отдельно, к примеру между аналогом
> и hdmi спокойно раскидываются...Ну правильно, ведь HDMI с точки зрения системы и есть отдельная звуковая карта.
не просто "с точки зрения системы", а HDMI-звук и висит на отдельном чипе. ага, ещё один Realtek HDA, только висящий рядышком с видео-чипом. насколько я понял.так что, если у вас стоит отдельная хорошая звуковушка, и вы хотите гнать с неё звук... с PA, и его CPU-only подходами, и HDMI, и его пукалкой HDA, можете смело забыть про это.
>PulseAudio теперь может определить какие подключены аудио разъемы и принимать соответствующее решение, например, автоматически выставлять разный уровень громкости для наушников и колонокЯ, наверное, ерунду скажу, т.к. не разбираюсь. Но алса уже сейчас разные уровни громкости для разных устройств ввода умеет. По крайней мере, у меня при подключении наушников включается другой уровень громкости, а при отключении возвращается старый. Наверное, алса разные устройства master'у ставит в соответствие. Только вот настойки эти не сохраняются при перезапуске почему-то :(
это не алса должна уметь, а железка. С хорошими железками алсы вполне достаточно, но есть много железа без всех этих вкусностей. Например, почти всё железо на ноутах. И здесь без PA реально сделать что-то иное трудно.
ага. пульс использует libastral и сможет всё разрулить.
Собственно, все, кто не любят pulse — как раз обладатели дискретных «хороших железок». Там эта гадость только мешает и подлежит выпиливанию. Владельцы ноутов же и пользователи встроенных звуковух на пульс молятся. Не пихай мейнтейнеры дистрибутивов этот пульс везде, где ни попадя, проблемы б не было — хочешь — пользуешь чистую альсу, хочешь — пускаешь поверх пульс. В адрес того же jackd плевков почти нет, потому как используют только те, кому надо, насильно не впихивают.
так как же его не пихать, есть без пульсы софт, собраный с поддержкой пульсы, часто ни разу не работает?
Если его собирал не дебил, то вполне работает. Включение поддержки pulseaudio вовсе не означает выкидывания поддержки alsa. Хотя да, среди тех же федоровцев встречались недоумки, что думали иначе — версии толи в 9, толи в 10 пяток пакетов я из-за них пересобирал/ставил из неофициальных реп (mpd, mocp, на счёт mplayer и vlc не уверен). В шестнадцатой федоре такого безобразия уже нет.
PA нормальная вещь! только это спасло меня от невозможности слушать несколько потоков одновременно, ибо железка не умеет аппаратное смешивание. около года назад конечно глюкавила и с кедами интеграция была никакая, но теперь у меня все работает. слава потерингу!
толстяк.
А я его поддерживаю. Period. :D
просто неосилятор.
https://bugs.nemomobile.org/show_bug.cgi?id=39хотел поставить Mer/NEMO себе на N900. теперь вот побаиваюсь.
даже там поганые PA и PolKit устраивают гадюшник. и что самое плохое - поганят самый главный функционал "телефона".