The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз звуковой подсистемы Linux - ALSA 1.2.1, opennews (?), 19-Ноя-19, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


31. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  +8 +/
Сообщение от Zenitur (ok), 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-версии

Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

41. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  –3 +/
Сообщение от anonymous (??), 19-Ноя-19, 13:19 
PulseAudio был фейлом?

Угу козмонот не смог в пульсаудио в своей пшпшбубунту а виновата RedHat. Вот за это вас убунтятников и не любят, за враньё с апломбом.

Ответить | Правка | Наверх | Cообщить модератору

44. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  +2 +/
Сообщение от Zenitur (ok), 19-Ноя-19, 13:25 
Спасибо за критику. Внёс исправление, добавил "по моему мнению"
Ответить | Правка | Наверх | Cообщить модератору

45. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  +1 +/
Сообщение от AlexYeCu_not_logged (?), 19-Ноя-19, 13:26 
>5а. Микрофон на вебке не работает через ALSA вообще - только через PulseAudio

Ты откуда эту чушь взял?

>1. Иногда приложение захватывало звук единолично. Это происходило при запуске старого приложения, которое знакомо только с OSS (например Герои 3: Возрождение Эрафии).

Обратил внимание, что Wine может единолично захватывать аналоговый микрофон. Заметил при запуске HoTA. Пришлось Wire переключить на микрофон вебки, которая, ес-но, работает без PA.

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

46. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  +/
Сообщение от Zenitur (ok), 19-Ноя-19, 13:30 
>> 5а. Микрофон на вебке не работает через ALSA вообще - только через PulseAudio
> Ты откуда эту чушь взял?

Мне об этом на ЛОРе говорили много людей. Сам не пробовал. Серьёзно, работает?

Ответить | Правка | Наверх | Cообщить модератору

48. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  +1 +/
Сообщение от AlexYeCu_not_logged (?), 19-Ноя-19, 13:32 
>Серьёзно, работает?

Работает, причём больше 10 лет. Не встречал ещё проблемных uvc-вебок (а других сейчас особо и нет, разве что сильно девелоперское под заказ).

Ответить | Правка | Наверх | Cообщить модератору

49. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  –1 +/
Сообщение от AlexYeCu_not_logged (?), 19-Ноя-19, 13:35 
>Мне об этом на ЛОРе говорили много людей. Сам не пробовал. Серьёзно, работает?

Кстати, может где-то в Wine-е и могут быть проблемы: с usb-устройствами кроме мышей и клав Винище вообще не очень дружит. Не знаю как сейчас, но раньше были проблемы с графическими планшетами. Готов допустить, что и с usb-звуковухами (куда входит и звук вебкамер) там не всё гладко.

Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

67. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  +1 +/
Сообщение от крокодил мимо.. (?), 19-Ноя-19, 15:19 
>>> 5а. Микрофон на вебке не работает через ALSA вообще - только через PulseAudio
>> Ты откуда эту чушь взял?
>Мне об этом на ЛОРе говорили много людей. Сам не пробовал. Серьёзно, работает?

:facepalm:
на чистой alsa работает всё, внезапно и неожиданно, при условии наличия /dev/hands и /dev/brain..  настроить dmix по вкусу - "всё"©™.. "пшпш" - ненужно от слова "совсем"..

тут мики юсб-вэбок под OpenBSD отказываются работать - вот где бида и пичаль, что характерно.. обновляться до last stable/current не хоцца как-то прям особенно сильно..

Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

140. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  +/
Сообщение от Ilya Indigo (ok), 20-Ноя-19, 08:25 
Единственное ALSA default устройство для захвата не создаёт, по-этому микрофон на вебке или явно указать нужно, или в конфиге создать/переопределить default на него (plughw:0,0) и всё работает!

pcm.!default {
    type asym
        playback.pcm "plug:dmix"
        capture.pcm "plughw:0,0"
    hint.description "Default"
    hint.show on
}
pcm.!sysdefault default

Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

47. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  +1 +/
Сообщение от AlexYeCu_not_logged (?), 19-Ноя-19, 13:30 
>6. Если ты хочешь вывести звук на телевизор, то PulseAudio позволяет перенаправить звук в дву клика (утилита pavucontrol). В ALSA же, надо чтобы само приложение имело диалог выбора звукового устройства, а например в браузере его нет. Тогда надо в ~/.asoundrc менять дефолтную звуковую карту, а это не так удобно.

Если тебе на ТВ надо вывести плеер, то указываешь плееру звуковуху, если вообще весь звук, то назначаешь дефолтной hdmi-карту. Если у телевизора есть другие звуковые входы, а dmi не устраивает, то просто кидаем провод от любимой звуковой.

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

56. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  +/
Сообщение от Zenitur (ok), 19-Ноя-19, 14:14 
Ещё полезная ссылка по настройке PulseAudio. http://linuxoidblog.blogspot.com/2015/06/pulseaudio.html
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

94. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  –2 +/
Сообщение от Аноним (88), 19-Ноя-19, 18:09 
> Лате́нтность (от лат. latentis «скрытый, невидимый»): свойство объектов или
> процессов находиться в скрытом состоянии, не проявляя себя явным образом;
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

107. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  +1 +/
Сообщение от Аноним (107), 19-Ноя-19, 19:58 
la·ten·cy
/ˈlātənsē/
Learn to pronounce
noun
noun: latency; plural noun: latencies

    1.
    the state of existing but not yet being developed or manifest; concealment.
    "tension, and the latency of violence, make the greatest impressions"
        the state of a disease not yet manifesting the usual symptoms.
        "the latency of tumors in mice"
    2.
    Computing
    the delay before a transfer of data begins following an instruction for its transfer.
    "poor performance due to network latency"

--------------------
в общем это и скрытое и задержки в зав-ти от контекста.

Ответить | Правка | Наверх | Cообщить модератору

132. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  +/
Сообщение от rshadow (ok), 20-Ноя-19, 01:53 
У пульсы еще есть сетевая прозрачность. Можно гнать звук на другой комп. Или собирать и переключать со множества источников по сети. Наверно мало кому надо (привет сетевой прозрачности X11), но мне очень даже зашло.
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

150. "Релиз звуковой подсистемы Linux - ALSA 1.2.1"  +1 +/
Сообщение от Mihail Zenkov (ok), 20-Ноя-19, 12:10 
> 1в. Специалисты, ответьте мне на вопрос. Мне как-то говорили, что если воспроизводить при помощи mplayer какой-то DTS-звук, то mplayer займёт звуковую карту единолично. Это правда? А что, получается что приложение может попросить ALSA отдать звуковую карту только ей?

На 100% не скажу, так как сам не делал. Но в теории, если плата умеет выводить цифру (S/PDIF), то alsa должна показывать отдельное устройство, например:

aplay -L
....
iec958:CARD=EMU1010,DEV=0
    E-mu 1010b PCI [MAEM8960], ADC Capture/Standard PCM Playback
    IEC958 (S/PDIF) Digital Audio Output


Соответственно для вывода DTS (или AC3) плеер должен занять это устройство монопольно, ведь мы посылаем туда не просто звук, который можно смешать из нескольких приложений, а уже сжатый/кодированный поток и любое его изменение приведет к невозможности его декодировать.

Зато гарантировано получаем bit perfect - плеер,звуковая подсистема,драйвер и dsp на звуковой плате/чипе должны передать то, что получили без каких либо изменений.

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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