Jack в качестве основного звукового сервера. [ВОПРОС ЗАКРЫТ]

Спасибо за развёрнутый ответ. Я просто раньше аудиоаппаратурой маялся по-любительски (любительские усилки, динамики и акустические системы и иже с ними), и, поэтому, у меня было немного другое представление о "многоканальности", т.е. сколько аудиовходов и выходов имеется, столько же и каналов "кагбэ". У меня просто немного аналоговое мышление :-) Но с цифрой, оказывается, всё меняется...
Вообще со звуком в Линуксе, если честно, я сам до конца ещё не разобрался. Сколько ни читал манов и энциклопедий, но здесь столько слоев абстракций нагорожено... Давайте попробую прояснить: альса - низкоуровневый драйвер, который знает, как работать с моим чипом и, поэтому, "микширует" звук, т.е. программно смешивает вместе цифровые потоки от разных программных источников (mplayer, wine, firefox), которые не знают о моей звучке ничего вообще. То бишь различные звуковые сервера, такие как пульса и джек, - как бы "надстройка" над альсой, которая позволяет дополнительно управлять цифровым звуковым потоком от разных программ, например, регулировать громкость отдельных программ раздельно, чего альса, к сожалению, как я понял, не умеет, так? Просто у джека более продвинутые технологии в плане микширования и задержек, нежели у пульсы, задача коей просто разделять звук и давать возможность отдельно регулировать юзеру игру и музыку, я правильно понимаю? А к блекджеку (простите, не удержался :-)), ко всему прочему, можно подключать всевозможные фильтры, эквалайзеры и т.д. и т.п., и он круто со всем этим справляется, так ведь? Тогда у меня вопрос, что делает т.н. "фреймворк", то бишь phonon-gstreamer/phonon-vlc в кедах? Это ещё один слой между альсой и пульсой/джеком или фонон умеет работать вообще без альсы (которая знает о моей звучке всё)?
По поводу сабжа, быть может, Джек может просто "попросить" пульсу освободить устройство, мол, пока я поработаю, а ты покури нервно в сторонке? :-)
[email protected]# cat /dev/ass > /dev/head
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 отличается от прочих программных надстроек упором на минимизацию задержек, что явно не подразумевает излишней функциональности.
а какой из двух версий джека лучше?
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
второй конечно
Да, джек это вещь, просто и удобно соединить несколько обработчиков звука в цепочку.
но у меня что то при запуске джека другие проги юзающие алсу замолкают. (((
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
nafanja
Да, джек это вещь, просто и удобно соединить несколько обработчиков звука в цепочку.
но у меня что то при запуске джека другие проги юзающие алсу замолкают. (((
Правильно, потому что JACK для минимизации задержек работает напрямую с hw, а звуковуха одноканальная, и dmix (программное многоканальное микширование) в alsa-lib работает только если никто не захватит hw напрямую.
в общем перевел систему на использование джека, но как сохранить настройки джека для каждой проги. а то все сбивается постоянно.
один встроенный саунд, но который можно переключать на 2 4 6 каналов. хочу например audacious пускать на уши (surround), а смплеер на колонки (front),

при запуске аудио плеер подключается сразу к четырем каналам, а потом вручную отключаю его от колонок, и так каждый раз (стало надоедать ((( ).
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874
Natrio, огромное вам спасибо, за ответы. Дошло, почему джек не используют. Он работает в пользу задержек в ущерб функционалу, т.е. работает только с теми программами, которые умеют с ним работать (а их, оказывается, на самом-то деле не так много), а именно которые заточены для качественной обработки/воспроизведения звука (студии, высококачественные плееры и т.д. и т.п.). Т.е. пульса и иже с ней заточены на функциональность, а джек - на качество, вот поэтому они и не конкурируют друг с другом. Я ведь правильно понял, что из-за низкой функциональности (не все программы умеют с ним работать), джек и не получится использовать в качестве основного звукового сервера?
Думаю, поставлю в заголовке решено.
Спасибо всем за ответы!
[email protected]# cat /dev/ass > /dev/head
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
Думаю, если джек будет работать нормально, то пульса не нужна... Его, кстати, хотят запилить в качестве основного сервера в Haiku :-) очень годная даже идея. Самый, на мой взгляд, вменяемый сервер.
[email protected]# cat /dev/ass > /dev/head
 
Зарегистрироваться или войдите чтобы оставить сообщение.