The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Релиз звуковой подсистемы Linux - ALSA 1.2.1"
Отправлено Zenitur, 19-Ноя-19 13:00 
https://wiki.debian.org/ru/ALSA
https://wiki.debian.org/ru/ALSA/FAQ
http://rus-linux.net/lib.php?name=/MyLDP/algol/guide-to-soun...
http://rus-linux.net/lib.php?name=/MyLDP/mm/sound_borovski.html
http://rus-linux.net/lib.php?name=/txt/mm.koi
http://www.linuxlib.ru/mmedia/linmuz.htm
http://www.skillz.ru/dev/linux/article-Zvuk_51_v_Linux_kubun...
https://www.linux.org.ru/forum/multimedia/13122743?cid=13122974

Сначала звука не было, и Торвальдс смеялся над авторами патчей, улучшающих латентность в ядре Linux, чтобы впоследствие добавить поддержку звука. Латентность это задержка между событием и реакцией системы на него, это ключевой параметр для работы звука. Потом появилась звуковая система OSS. Она была хороша, но была одна проблема: микширование звука не работало ни на SB16-совместимых карточках, ни на интеграшках AC97. А работало только на AWE32 и новее (Live!, Audigy). Буржуи смеялись над остальными, а остальные использовали звуковые серверы ESD и aRts, которые, на самом деле, создавались не тупо чтобы звук из двух приложений микшировался, а для разносторонней работы со звуком, обладая большим набором возможностей. В остальном, OSS был очень хорош, и аудиофилы его до сих пор любят.

Вторая проблема OSS была менее очевидна: открытая, но не свободная лицензия. Как у Qt (из-за чего и появился GNOME), вот только Qt в итоге перелицензировали. А OSS в начале нулевых взял - и закрыл код в версии 4. Теперь покупайте. Авторы OSS расчитывали, что Linux сейчас каааак откусит 15% от десктопов! Но что-то не сложилось. А разработчики ядра Linux сделали свою звуковую систему, ALSA. ALSA была в чём-то лучше, а в чём-то хуже OSS - но зато микширование на SB16-совместимых и AC97 работало, и поэтому все горячо приветствовали ALSA. После релиза ядра 2.6, звуковые серверы ESD и aRts стало можно убрать. А OSS v.4 открыли свой код в 2007 году, но уже не были никому нужны. В Linux. Но есть же ещё FreeBSD. Upd: оказывается, там тоже никому не нужен: https://www.linux.org.ru/forum/talks/14747049?cid=14747754

Тем временем, появился звуковой сервер JACK. Он давал огромные возможности для записи и обработки звука. Linux и FreeBSD быстро стали лидерами в этой области, став лучше Windows 2000/XP и Mac OS X. Особенно здорово JACK работал с kernel-rt (в Ubuntu известен как linux-lowlatency).

Проблемы ALSA:

1. Иногда приложение захватывало звук единолично. Это происходило при запуске старого приложения, которое знакомо только с OSS (например Герои 3: Возрождение Эрафии).
1а. В 2012 году в дистрибутивах Linux отключили эмуляцию OSS для старых приложений. Её можно включить, выполнив modprobe snd-pcm-oss.
1б. Я давал выше ссылку на Debian Wiki. Там написано что, в момент релиза ALSA, программное микширование (плагин dmix) было ещё экспериментально, а потому отключено по умолчанию. Спустя несколько лет, его включили.
1в. Специалисты, ответьте мне на вопрос. Мне как-то говорили, что если воспроизводить при помощи mplayer какой-то DTS-звук, то mplayer займёт звуковую карту единолично. Это правда? А что, получается что приложение может попросить ALSA отдать звуковую карту только ей?
2. Ресемплинг звука надо настраивать вручную (sox)
3. Звук 5.1 и 7.1 надо настраивать вручную (последние две ссылкы, которые я привёл).
4. Разработчику сложнее освоить libasound2, чем делать mmap() или write() в /dev/dsp (четвёртая ссылка)
5. Всякие там блютуз-гарнитуры легче настроить через звуковой сервер PulseAudio, чем когда пользуешься ALSA напрямую, без посредников вроде сервера PulseAudio
5а. Микрофон на вебке не работает через ALSA вообще - только через PulseAudio
6. Если ты хочешь вывести звук на телевизор, то PulseAudio позволяет перенаправить звук в два клика (утилита pavucontrol). В ALSA же, надо чтобы само приложение имело диалог выбора звукового устройства, а например в браузере его нет. Тогда надо в ~/.asoundrc менять дефолтную звуковую карту, а это не так удобно.

В 2005 году, империя наносит ответный удар. Red Hat начала бурную деятельность по развитию GNOME. Появились Dbus, HAL, polkit, PolicyKit, ConsoleKit, GIO и ещё куча всякого стильно-модно-молодёжного, непременно с конфигами на XML или вообще в реестре gconf. К сожалению, эта зараза пожрала и KDE, который начиная с 4 версии заменил свои самобытные DCOP на Dbus, и aRts на PulseAudio.

PulseAudio появился в Fedora 8 и Ubuntu 8.04. Его внедрили недоделанным, чем вызвали массовое FUUUUUUU в сообществе. Многие принципиально выключали PulseAudio, устанавливая кастомный регулятор звука Volti в связке с GNOME ALSA Mixer. Помимо глючного звука, всех возмутило то, почему ни у кого не спросили согласия? Просто внедрили, и всё? Почему нет простого способа выбрать?

Если вам интересно моё мнение, то PulseAudio был фейлом. Отключается он легко, достаточно выполнить echo "autospawn = no" >> ~/.local/pulse/client.conf && killall pulseaudio. Следующее поделие от Поттеринга внедрили глубже.

Но кому-то PulseAudio нравится, либо потому что удобно в конкретной конфигурации, либо потому что установлено по умолчанию и "просто работает", не портя звук (всё-таки сколько лет прошло с момента релиза). Лично я использую ALSA дома, и PulseAudio на работе. На рабочей станции "пульса" - самое то.

P.S. Для тех, кто будет использовать JACK и lowlatency, я тут нашёл патчи для Wine, снижающие латентность там. Вот он:

Для ALSA: https://github.com/Tk-Glitch/PKGBUILDS/blob/master/wine-tkg-...
Для PulseAudio: https://aur.archlinux.org/cgit/aur.git/tree/winepulse_latenc...
Для winejack не нашёл

Просто не все программы для работы со звуком доступны в виде нативной Linux-версии

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру