Sheykhnur |
|
![]()
Темы:
16
Сообщения:
244
Участник с: 05 февраля 2013
|
Спасибо за развёрнутый ответ. Я просто раньше аудиоаппаратурой маялся по-любительски (любительские усилки, динамики и акустические системы и иже с ними), и, поэтому, у меня было немного другое представление о "многоканальности", т.е. сколько аудиовходов и выходов имеется, столько же и каналов "кагбэ". У меня просто немного аналоговое мышление :-) Но с цифрой, оказывается, всё меняется... Вообще со звуком в Линуксе, если честно, я сам до конца ещё не разобрался. Сколько ни читал манов и энциклопедий, но здесь столько слоев абстракций нагорожено... Давайте попробую прояснить: альса - низкоуровневый драйвер, который знает, как работать с моим чипом и, поэтому, "микширует" звук, т.е. программно смешивает вместе цифровые потоки от разных программных источников (mplayer, wine, firefox), которые не знают о моей звучке ничего вообще. То бишь различные звуковые сервера, такие как пульса и джек, - как бы "надстройка" над альсой, которая позволяет дополнительно управлять цифровым звуковым потоком от разных программ, например, регулировать громкость отдельных программ раздельно, чего альса, к сожалению, как я понял, не умеет, так? Просто у джека более продвинутые технологии в плане микширования и задержек, нежели у пульсы, задача коей просто разделять звук и давать возможность отдельно регулировать юзеру игру и музыку, я правильно понимаю? А к блекджеку (простите, не удержался :-)), ко всему прочему, можно подключать всевозможные фильтры, эквалайзеры и т.д. и т.п., и он круто со всем этим справляется, так ведь? Тогда у меня вопрос, что делает т.н. "фреймворк", то бишь phonon-gstreamer/phonon-vlc в кедах? Это ещё один слой между альсой и пульсой/джеком или фонон умеет работать вообще без альсы (которая знает о моей звучке всё)? По поводу сабжа, быть может, Джек может просто "попросить" пульсу освободить устройство, мол, пока я поработаю, а ты покури нервно в сторонке? :-)
[email protected]# cat /dev/ass > /dev/head
|
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
ALSA состоит из звуковой подсистемы ядра Linux и библиотеки alsa-lib. "Ядерная" часть ALSA включает в себя драйверы звуковых карт, поддерживает "физические" звуковые устройства, которые обычно именуются hw:0, hw:1 и т.д. , находятся в каталоге /dev/snd/ , и обеспечивают практически прямой доступ к "железу" с минимальными задержками. Список "физических" устройств и подустройств ALSA можно посмотреть командой aplay -l , также их свойства и состояние отображаются в каталоге /proc/asound/ При необходимости ядро может также эмулировать OSS (устройства /dev/dsp* ), если загрузить соответствующие штатные модули. Никакие дополнительные пакеты для этого не требуются. А вот всяческие "удобства" вроде плагинов, конфигурирования в .asoundrc, программного многоканального микширования и прочих полезных, но медленных функций, вынесены в юзерспейсную библиотеку alsa-lib , которая поддерживает "логические" устройства, которые могут быть переопределены и расширены через конфиги. Список "логических" устройств alsa-lib показывает команда aplay -L Все остальные программные надстройки могут иметь целью: 1) расширение функционала, например добавление кодеков и фильтров на уровне общей библиотеки или демона, а не конечной программы (Phonon, gstreamer); 2) абстрагирование от конкретной звуковой архитектуры в целях кроссплатформенности (Phonon, gstreamer, Pulseaudio, JACK) Насколько я понимаю, JACK отличается от прочих программных надстроек упором на минимизацию задержек, что явно не подразумевает излишней функциональности. |
nafanja |
|
![]()
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
а какой из двух версий джека лучше?
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
Perfect_Gentleman |
|
Темы:
55
Сообщения:
1039
Участник с: 29 октября 2012
|
второй конечно |
nafanja |
|
![]()
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
Да, джек это вещь, просто и удобно соединить несколько обработчиков звука в цепочку. но у меня что то при запуске джека другие проги юзающие алсу замолкают. (((
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
Natrio |
|
Темы:
47
Сообщения:
4763
Участник с: 08 января 2011
|
nafanjaПравильно, потому что JACK для минимизации задержек работает напрямую с hw, а звуковуха одноканальная, и dmix (программное многоканальное микширование) в alsa-lib работает только если никто не захватит hw напрямую. |
nafanja |
|
![]()
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
в общем перевел систему на использование джека, но как сохранить настройки джека для каждой проги. а то все сбивается постоянно. один встроенный саунд, но который можно переключать на 2 4 6 каналов. хочу например audacious пускать на уши (surround), а смплеер на колонки (front), при запуске аудио плеер подключается сразу к четырем каналам, а потом вручную отключаю его от колонок, и так каждый раз (стало надоедать ((( ).
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
Sheykhnur |
|
![]()
Темы:
16
Сообщения:
244
Участник с: 05 февраля 2013
|
Natrio, огромное вам спасибо, за ответы. Дошло, почему джек не используют. Он работает в пользу задержек в ущерб функционалу, т.е. работает только с теми программами, которые умеют с ним работать (а их, оказывается, на самом-то деле не так много), а именно которые заточены для качественной обработки/воспроизведения звука (студии, высококачественные плееры и т.д. и т.п.). Т.е. пульса и иже с ней заточены на функциональность, а джек - на качество, вот поэтому они и не конкурируют друг с другом. Я ведь правильно понял, что из-за низкой функциональности (не все программы умеют с ним работать), джек и не получится использовать в качестве основного звукового сервера? Думаю, поставлю в заголовке решено. Спасибо всем за ответы!
[email protected]# cat /dev/ass > /dev/head
|
nafanja |
|
![]()
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
Sheykhnur ~/.asoundrc pcm.!default { type plug slave { pcm "jack" } } pcm.jack { type jack playback_ports { 0 system:playback_1 1 system:playback_2 } capture_ports { 0 system:capture_1 1 system:capture_2 } } у меня по крайней мере работают. (правда идентифицироваться они будут как alsa-jack.jackP.***, а не так как умеющие) Да и пульс можно настроить на джек
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
Sheykhnur |
|
![]()
Темы:
16
Сообщения:
244
Участник с: 05 февраля 2013
|
Думаю, если джек будет работать нормально, то пульса не нужна... Его, кстати, хотят запилить в качестве основного сервера в Haiku :-) очень годная даже идея. Самый, на мой взгляд, вменяемый сервер.
[email protected]# cat /dev/ass > /dev/head
|