Welcome To The Jungle (Страница 1) / Общее / Форум StopLinux

Объявление

Kwork.ru - услуги фрилансеров от 500 руб.

#1 02-02-12 20:39:59

computer user
Участник
Зарегистрирован: 08-04-11
Сообщений: 594
Windows XPOpera 11.61

Welcome To The Jungle

Welcome To The Jungle

Скрытый текст:

I have been programming multimedia-type stuff on Linux since 1999. I have long observed that there are many, many, many methods of programming audio. By “programming audio”, I generally refer to the act of programmatically taking an array of numbers that represent an audio wave’s discrete amplitude levels over time, and shoving that array out to a digital-to-analog converter (DAC). This is how a modern computer makes noise, cooling systems notwithstanding.

There are 2 primary methods of sending audio data to a DAC under Linux: OSS and ALSA. OSS came first; ALSA supplanted OSS. Despite this, and as stated above, there are numerous different ways to do the DAC send. There are libraries and frameworks that live at a higher level than OSS and ALSA. In the end, they all just send the data out through OSS or ALSA.

The zaniest part is that some of these higher level libraries can call each other, sometimes in a circular manner. Library A supports sending audio through both OSS and ALSA, and library B does the same. But then library A also has a wrapper to send audio through library B and vice versa. For that matter, OSS and ALSA both have emulation layers for each other. I took the time to map out all of the various libraries that I know of that operate on Linux and are capable of nudging that PCM data out to a DAC:
linuxaudio.png
I love you, Graphviz!

The green cell is the audio data’s final destination. The three colored boxes that live one layer removed from that green box depict the subsystems that actually send data to audio hardware. I admit that this exercise educated me about an output system I had not yet heard of — FFADO, for FireWire-based audio devices. All of the remaining boxes depict the higher layered libraries. I’m pretty sure each has been recommended by blog readers as the Flash audio output system.

Methodology: I downloaded the source code for each library contender; grep’d through the filenames for “alsa” or “oss” based on the assumptions that A) these libraries would all support one or the other, and B) that these libraries tend to be modular and this would lead me to where the output modules congregate; investigated the output modules that lived alongside the OSS and/or ALSA modules.

Why would a higher level library be useful? One oft-cited rationale is to enable playing more than one audio stream out of a device that only supports one audio stream. The library will handle the multi-stream mixing in software and send the final wave out to the device. However, ALSA also handles this.

Another major alleged selling point for many of these libraries is the promise of cross-platform compatibility. I.e., code to one of the libraries and it will make noise on lots of systems, not just Linux. Windows and Mac are often on the list, among many others. However, Flash has longstanding and well-debugged platform-specific code for pushing out that array of audio samples for Windows and Mac, so that’s not exactly a concern for this project.

May 12, 2007 Update: Thanks to all the commenters who have helped me recognize that this web is even more tangled that I had first thought possible. Added libao, added more lines from GStreamer’s box to other boxes; I also know of Phonon but I’m not convinced that it’s designed for the simple purpose that Flash Player would need.


Неактивен

#2 02-02-12 20:42:28

SemyonKozakov
Журнашлюшка :)
Из Саратов
Зарегистрирован: 28-11-09
Сообщений: 4,109
Сайт
LinuxChrome 16.0.912.77

Re: Welcome To The Jungle

computer user, и что? Поясни, из-за чего именно ты разместил эту тему.


https://nolinux.w2c.ru - море баттхерта и деаонимизации

Неактивен

#3 02-02-12 20:53:44

computer user
Участник
Зарегистрирован: 08-04-11
Сообщений: 594
Windows XPOpera 11.61

Re: Welcome To The Jungle

Линукс аудио, оно работает: lol
linuxaudio.png


Неактивен

#4 02-02-12 20:54:12

usr_share
Участник
Зарегистрирован: 13-03-10
Сообщений: 1,470
LinuxIceweasel 9.0.1

Re: Welcome To The Jungle

Просто он решил рассказать нам про разнообразие звуковых библиотек в линуксе, забыв про две вещи:

1) Они отлично сосуществуют друг с другом.

2) Кроме собственно звуковых подсистем разных уровней, тут и просто есть библиотеки для работы с мультимедиа (PortAudio и GStreamer, например -- в них воспроизведение какого-либо звука в известном формате сокращается до нескольких строк кода).

А теперь -- подсказка -- несмотря на кажущееся разнообразие связей между компонентами, в нормальной ситуации все находящиеся выше программы подключаются к ALSA (ну или к PulseAudio, которая в данном случае работает как интерфейс ALSA).

Неактивен

#5 02-02-12 22:17:20

selenscy
Участник
Зарегистрирован: 28-11-10
Сообщений: 2,558
Windows 7Opera 11.61

Re: Welcome To The Jungle

usr_share пишет:

Просто он решил рассказать нам про дебильные бестолковые звуковые библиотеки в линуксе

Так вернее будет  smile Я даже соглашусь.


База сама по себе сплошной скрипт (с) AleksK

При том, что свежие очевидно работают лучше и исправляют некоторые глюки. А в линуксе они (глюки!!!)ещё и становятся нормальными (c) Журнашлюшка smile

Неактивен

Следующие пользователи поставили вам "+1":shell32

#6 02-02-12 23:08:41

usr_share
Участник
Зарегистрирован: 13-03-10
Сообщений: 1,470
LinuxIceweasel 9.0.1

Re: Welcome To The Jungle

linux_sound_alsa.jpeg
версия вышеуказанной диаграммы для нормальных дистров. (при условии, что в системе что-то, использующее JACK и PulseAudio, есть -- иначе эти блоки можно удалить)

Diagram2.jpeg
версия вышеуказанной диаграммы для дистров с PulseAudio. (соответственно для JACK)

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

Добавлено спустя 01 мин 43 с:
И да, прошу клиентские библиотеки (которые используются программистами) от собственно звуковых фреймворков (таких, как ALSA, OSS и в некоторой степени PulseAudio) отличать.

Редактировался usr_share (02-02-12 23:14:44)

Неактивен

#7 02-02-12 23:32:02

selenscy
Участник
Зарегистрирован: 28-11-10
Сообщений: 2,558
Windows 7Opera 11.61

Re: Welcome To The Jungle

usr_share пишет:

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

Спасибо!!! Поржал!!!
Во бля сколько удалили!  lol  lol  lol  Самому то не смешно?

Редактировался selenscy (02-02-12 23:33:11)


База сама по себе сплошной скрипт (с) AleksK

При том, что свежие очевидно работают лучше и исправляют некоторые глюки. А в линуксе они (глюки!!!)ещё и становятся нормальными (c) Журнашлюшка smile

Неактивен

#8 02-02-12 23:47:03

дохтур
Боевой дятел
Из Краматорск, ул. Железячкина
Зарегистрирован: 30-11-09
Сообщений: 994
Windows 7Opera 11.61

Re: Welcome To The Jungle

usr_share пишет:

Просто он решил рассказать нам про разнообразие звуковых библиотек в линуксе, забыв про две вещи:

1) Они отлично сосуществуют друг с другом.

2) Кроме собственно звуковых подсистем разных уровней, тут и просто есть библиотеки для работы с мультимедиа (PortAudio и GStreamer, например -- в них воспроизведение какого-либо звука в известном формате сокращается до нескольких строк кода).

А теперь -- подсказка -- несмотря на кажущееся разнообразие связей между компонентами, в нормальной ситуации все находящиеся выше программы подключаются к ALSA (ну или к PulseAudio, которая в данном случае работает как интерфейс ALSA).

Уже обсуждалось, или подзабыл?  smile


Бывает, новые пользователи перезагружают компьютер, потому что не знают, как ещё можно выйти из vi
Ну ты пруфами не сыпь © Skynet2015
Провокатор хуев -) Я к тебе в твою конторку инсайдера зашлю, ты даже не узнаешь в какой момент тебя поимели -) © Rector, 2010-2015

Неактивен

#9 03-02-12 08:29:13

usr_share
Участник
Зарегистрирован: 13-03-10
Сообщений: 1,470
LinuxIceweasel 9.0.1

Re: Welcome To The Jungle

дохтур пишет:

Уже обсуждалось, или подзабыл?

Всё то, что находится на верху этой диаграммы, отношения к указанной вами проблеме вообще не имеет. Там имеет значение только ALSA и PulseAudio.

Во-вторых, реализация PulseAudio полностью соответствует API ALSA, и правильно написанный софт, использующий этот API так, как он описан, проблем вызывать вообще не должен. Но это именно какие-то проприетарные поделки, которые начинают глючить. Почему я не видел ни одной свободной программы, которая начинала бы глючить при установленном PulseAudio?

Редактировался usr_share (03-02-12 09:01:17)

Неактивен

#10 03-02-12 11:10:30

дохтур
Боевой дятел
Из Краматорск, ул. Железячкина
Зарегистрирован: 30-11-09
Сообщений: 994
Windows 7Opera 11.61

Re: Welcome To The Jungle

usr_share пишет:

реализация PulseAudio полностью соответствует API ALSA, и правильно написанный софт, использующий этот API так, как он описан, проблем вызывать вообще не должен.

А по факту - вызывает (даже для примеров, идущих с alsa-lib)  big_smile

usr_share пишет:

Почему я не видел ни одной свободной программы, которая начинала бы глючить при установленном PulseAudio?

Потому, что не хотел

Редактировался дохтур (03-02-12 11:18:17)


Бывает, новые пользователи перезагружают компьютер, потому что не знают, как ещё можно выйти из vi
Ну ты пруфами не сыпь © Skynet2015
Провокатор хуев -) Я к тебе в твою конторку инсайдера зашлю, ты даже не узнаешь в какой момент тебя поимели -) © Rector, 2010-2015

Неактивен

#11 03-02-12 11:51:19

selenscy
Участник
Зарегистрирован: 28-11-10
Сообщений: 2,558
Windows 7Opera 11.61

Re: Welcome To The Jungle

usr_share пишет:

Во-вторых, реализация PulseAudio полностью соответствует API ALSA, и правильно написанный софт, использующий этот API так, как он описан, проблем вызывать вообще не должен. Но это именно какие-то проприетарные поделки, которые начинают глючить.

А почему до сих пор в поделиях нет законченого редактора вроде Cubase?  wink


База сама по себе сплошной скрипт (с) AleksK

При том, что свежие очевидно работают лучше и исправляют некоторые глюки. А в линуксе они (глюки!!!)ещё и становятся нормальными (c) Журнашлюшка smile

Неактивен

#12 03-02-12 13:11:06

usr_share
Участник
Зарегистрирован: 13-03-10
Сообщений: 1,470
LinuxIceweasel 9.0.1

Re: Welcome To The Jungle

selenscy пишет:

А почему до сих пор в поделиях нет законченого редактора вроде Cubase?

Нежелание проприетарных разработчиков.

Но заявлять про тучу звуковых систем в Линуксе (путая их с отдельными библиотеками) -- большая ошибка. Всё равно, что путать, скажем, WinAPI и .NET Framework.

Редактировался usr_share (03-02-12 13:11:26)

Неактивен

#13 03-02-12 13:23:07

дохтур
Боевой дятел
Из Краматорск, ул. Железячкина
Зарегистрирован: 30-11-09
Сообщений: 994
Windows XPOpera 11.61

Re: Welcome To The Jungle

usr_share пишет:

Нежелание проприетарных разработчиков.

Это, уж прости, но твои профанации т.к.

Википедия пишет:

Linux пользователь может настроить систему ALSA так, чтобы она использовала виртуальное устройство, созданное сервером PulseAudio. Тогда программы, работающие со звуком через драйвер ALSA, будут на самом деле иметь дело с PulseAudio, который взаимодействует с помощью ALSA уже с реальным устройством.

Т.е. в линухе даже если ты (-разработчик программы) думаешь, что твоя программа будет работать напрямую с ALSA т.e. минуя всякие прослойки, пользователь может настроить свою систему так (а оно в убунте по умолчанию так, к примеру), что звук будет идти через поделия вроде PulseAudio, т.е. как в моих случаях - не работать/отваливаться. И виновать в этом будет, конечно же, разработчик программы big_smile

Добавлено спустя 13 мин 49 с:
Т.е. это имменно то, о чём уже не первый раз пишет Adobe - никто не будет писать серьёзного софта, пока в линуксе будет этот зоопарк


Бывает, новые пользователи перезагружают компьютер, потому что не знают, как ещё можно выйти из vi
Ну ты пруфами не сыпь © Skynet2015
Провокатор хуев -) Я к тебе в твою конторку инсайдера зашлю, ты даже не узнаешь в какой момент тебя поимели -) © Rector, 2010-2015

Неактивен

#14 03-02-12 14:03:50

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
Windows 7Chrome 16.0.912.77

Re: Welcome To The Jungle

Подумать только, звуковая система в линуксе - говно, видео система в линуксе - еще хуже, пользовательское консольное окружение - дерьмо, утилиты управления системой - дерьмо, софт - дерьмо, рабочее графическое окружение - дерьмо, даже ядро - теперь дерьмо. На какой десткоп хочет линукс?

Неактивен

#15 03-02-12 14:06:46

usr_share
Участник
Зарегистрирован: 13-03-10
Сообщений: 1,470
LinuxIceweasel 9.0.1

Re: Welcome To The Jungle

дохтур пишет:

этот зоопарк

Зоопарк из аж целых двух звуковых систем -- это просто очень страшно. (так как OSS ни одному линуксоиду не нужен).

Добавлено спустя 08 мин 47 с:

дохтур пишет:

И виновать в этом будет, конечно же, разработчик программы big_smile

И виноват в этом будет пользователь.

Неактивен

#16 03-02-12 14:45:23

computer user
Участник
Зарегистрирован: 08-04-11
Сообщений: 594
Windows XPOpera 11.61

Re: Welcome To The Jungle

usr_share пишет:

И виноват в этом будет пользователь.

В том, что поставил сибе Линукс. big_smile


Неактивен

#17 03-02-12 15:01:18

selenscy
Участник
Зарегистрирован: 28-11-10
Сообщений: 2,558
Windows 7Opera 11.61

Re: Welcome To The Jungle

usr_share пишет:

Нежелание проприетарных разработчиков.

О как!!!

Наивный чукотский юноша... smile Только полный мудак будет писать под этот зоопарк х*й пойми чего, под названиями звуковые  "библиотеки"  smile Даже если мудак напишет под одно поделие, то в другом поделии овер 9000 у него будет эпичный фейл  lol  lol  lol
Поэтому мудаков для этого не находится, кроме мудаков из опенсорца, которые тот же ардор десятилетиями пилят  wink


База сама по себе сплошной скрипт (с) AleksK

При том, что свежие очевидно работают лучше и исправляют некоторые глюки. А в линуксе они (глюки!!!)ещё и становятся нормальными (c) Журнашлюшка smile

Неактивен

#18 03-02-12 15:12:18

дохтур
Боевой дятел
Из Краматорск, ул. Железячкина
Зарегистрирован: 30-11-09
Сообщений: 994
Windows XPOpera 11.61

Re: Welcome To The Jungle

usr_share пишет:

Зоопарк из аж целых двух звуковых систем -- это просто очень страшно. (так как OSS ни одному линуксоиду не нужен).

Если бы они ещё работали предсказуемо (ALSA) и присутствовали в 100% систем (OSS) big_smile

usr_share пишет:

И виноват в этом будет пользователь.

Т.е. уже не проприетарщики? А мы ведь только начали... big_smile


Бывает, новые пользователи перезагружают компьютер, потому что не знают, как ещё можно выйти из vi
Ну ты пруфами не сыпь © Skynet2015
Провокатор хуев -) Я к тебе в твою конторку инсайдера зашлю, ты даже не узнаешь в какой момент тебя поимели -) © Rector, 2010-2015

Неактивен

#19 03-02-12 17:27:39

usr_share
Участник
Зарегистрирован: 13-03-10
Сообщений: 1,470
LinuxIceweasel 9.0.1

Re: Welcome To The Jungle

computer user пишет:

В том, что поставил сибе Линукс.

В том, что неправильно настроил систему. И ЕМНИП, в Ubuntu звук по умолчанию из ALSA в PulseAudio не перенаправляется, т.к. файл /etc/asound.conf отсутствует. PulseAudio просто ставит себя на место дефолтных входа/выхода.

дохтур пишет:

Т.е. уже не проприетарщики?

Проприетарщики будут виноваты тогда, когда будет обнаружено использование ими недокументированных функций или неопределённого поведения документированных.

дохтур пишет:

и присутствовали в 100% систем (OSS)

Это же кто будет писать "профессиональный звуковой софт" под BSD? (другой причины, чтобы кому-то понадобился OSS, я пока что не вижу)

Редактировался usr_share (03-02-12 17:27:55)

Неактивен

#20 03-02-12 17:41:10

selenscy
Участник
Зарегистрирован: 28-11-10
Сообщений: 2,558
Windows XPOpera 9.20

Re: Welcome To The Jungle

usr_share пишет:

В том, что неправильно настроил систему.

Ты вот в самом деле думаешь, как все пенгванутые, что музыканту и другим нужно настраивать систему, причём именно из консоли?
lol  lol  lol

Добавлено спустя 04 мин 18 с:

usr_share пишет:

Проприетарщики будут виноваты тогда, когда будет обнаружено использование ими недокументированных функций или неопределённого поведения документированных.

ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ!!! Так весь смысл мудаков из опенсорца не для того  чтобы работало, а чтобы следить друг за дружкой?  big_smile
Это пиздец!!!

Редактировался selenscy (03-02-12 17:46:19)


База сама по себе сплошной скрипт (с) AleksK

При том, что свежие очевидно работают лучше и исправляют некоторые глюки. А в линуксе они (глюки!!!)ещё и становятся нормальными (c) Журнашлюшка smile

Неактивен

#21 03-02-12 17:51:21

usr_share
Участник
Зарегистрирован: 13-03-10
Сообщений: 1,470
LinuxIceweasel 9.0.1

Re: Welcome To The Jungle

selenscy пишет:

Ты вот в самом деле думаешь, как все пенгванутые, что музыканту и другим нужно настраивать систему, причём именно из консоли?

Нет, но если юзер сам что-то не так сделал в системе, за это не должны отвечать разработчики ПО.

selenscy пишет:

ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ!!! Так весь смысл мудаков из опенсорца не для того  чтобы работало, а чтобы следить друк за дружкой

А весь смысл проприетарщиков, тогда получается, в том, чтобы писать кривой, полный костылей, обрастающий кучей ненужных артефактов и еле-еле работающий код?

Я, конечно, извиняюсь, но отвечать за кривой код должны разработчики кривого кода.

Редактировался usr_share (03-02-12 17:51:31)

Неактивен

#22 03-02-12 18:16:02

дохтур
Боевой дятел
Из Краматорск, ул. Железячкина
Зарегистрирован: 30-11-09
Сообщений: 994
Windows XPOpera 11.61

Re: Welcome To The Jungle

usr_share пишет:

Проприетарщики будут виноваты тогда, когда будет обнаружено использование ими недокументированных функций или неопределённого поведения документированных.

Лол, как такое вообще может быть при открытом API да ещё и в свободной ОС? big_smile
Хотя мне кажется, что кто-то тупо перенёс шаблон с одной ОС на другую big_smile

usr_share пишет:

другой причины, чтобы кому-то понадобился OSS, я пока что не вижу

На своей памяти помню quake3, хотя исходники уже давно открыты -то и спасло игру в какой-то мере, а вообще - да, не так важно, т.к. хороших игр в линуксе почти нет, можно простить tongue

Добавлено спустя 03 мин 40 с:

usr_share пишет:

Нет, но если юзер сам что-то не так сделал в системе, за это не должны отвечать разработчики ПО.

А если это сделали "по умолчанию" в самом популярном дистрибутиве ?

usr_share пишет:

Я, конечно, извиняюсь, но отвечать за кривой код должны разработчики кривого кода.

Вот пусть автор PulseAudio и разгребает, а не бугуртит на адоб

Добавлено спустя 06 мин 13 с:

usr_share пишет:

И ЕМНИП, в Ubuntu звук по умолчанию из ALSA в PulseAudio не перенаправляется, т.к. файл /etc/asound.conf отсутствует. PulseAudio просто ставит себя на место дефолтных входа/выхода.

В 10.4 так было по умолчанию, как сейчас - проверять лень


Бывает, новые пользователи перезагружают компьютер, потому что не знают, как ещё можно выйти из vi
Ну ты пруфами не сыпь © Skynet2015
Провокатор хуев -) Я к тебе в твою конторку инсайдера зашлю, ты даже не узнаешь в какой момент тебя поимели -) © Rector, 2010-2015

Неактивен

#23 03-02-12 18:23:44

usr_share
Участник
Зарегистрирован: 13-03-10
Сообщений: 1,470
LinuxIceweasel 9.0.1

Re: Welcome To The Jungle

дохтур пишет:

Лол, как такое вообще может быть при открытом API да ещё и в свободной ОС?

Разве не вы говорили, что в линуксе проблемы с документацией?

Если у либы есть документация, в которой не описана какие-то функции (а остальные описаны), то стоит очень серьёзно подумать, прежде чем их использовать. Действительно для любой ОС.

дохтур пишет:

На своей памяти помню quake3, хотя исходники уже давно открыты -то и спасло игру в какой-то мере, а вообще - да, не так важно, т.к. хороших игр в линуксе почти нет, можно простить

Третья квака вышла в 99ом году. ALSA впервые появился в ядре в 2002 (вообще появился в 98). А дефолтом стал только с начала ветки 2.6 в 2004 году. Естественно, они не стали бы выбирать недефолтное решение, которое нужно отдельно качать и ставить в систему.

дохтур пишет:

В 10.4 так было по умолчанию, как сейчас - проверять лень

У меня в дебиане после установки PulseAudio файл /etc/asound.conf не появился.

Редактировался usr_share (03-02-12 18:24:29)

Неактивен

#24 03-02-12 18:34:26

дохтур
Боевой дятел
Из Краматорск, ул. Железячкина
Зарегистрирован: 30-11-09
Сообщений: 994
Windows XPOpera 11.61

Re: Welcome To The Jungle

usr_share пишет:

Разве не вы говорили, что в линуксе проблемы с документацией?

Я, просто не думал, что это так можно применить для оправдания чьего-то говнокода smile

usr_share пишет:

Третья квака вышла в 99ом году. ALSA впервые появился в ядре в 2002 (вообще появился в 98). А дефолтом стал только с начала ветки 2.6 в 2004 году. Естественно, они не стали бы выбирать недефолтное решение, которое нужно отдельно качать и ставить в систему.

Стоит ли напоминать, что и с какого года используется в винде и почему, собственно, там на порядки больше игр и приложений для работы со звуком? smile (OSS вышел вроде раньше, но и умер быстрее)

Добавлено спустя 01 мин 42 с:

usr_share пишет:

У меня в дебиане после установки PulseAudio файл /etc/asound.conf не появился.

Раз за вас, только у большинства всё по-другому

Редактировался дохтур (03-02-12 18:42:57)


Бывает, новые пользователи перезагружают компьютер, потому что не знают, как ещё можно выйти из vi
Ну ты пруфами не сыпь © Skynet2015
Провокатор хуев -) Я к тебе в твою конторку инсайдера зашлю, ты даже не узнаешь в какой момент тебя поимели -) © Rector, 2010-2015

Неактивен

Kwork.ru - услуги фрилансеров от 500 руб.
Мой VPS с 2016 года !
✅ Виртуальные от 300 ₽/месяц, RAM 1-10GB, DISK 20-360 GB;
✅ Выделенные от 3000 ₽/месяц. RAM 4-64GB, DISK до 4TB;
✅ Intel Xeon, SSD, XEN, iLO/KVM, Windows/Linux, Администрирование;
✅ Бесплатно Full Backup и Anti-DDoS.





Подвал форума

Под управлением FluxBB
Модифицировал Visman

Яндекс.Метрика