The OpenNET Project / Index page

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



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

Оглавление

Релиз звуковой подсистемы Linux - ALSA 1.2.2, opennews (??), 22-Фев-20, (0) [смотреть все]

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


18. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +31 +/
Сообщение от Zenitur (ok), 22-Фев-20, 09:33 
В линуксе есть "звуковая система" и "звуковой сервер". Звуковая система работает в kernelspace, а звуковой сервер в userspace. ALSA это звуковая система, а PulseAudio это звуковой сервер. PulseAudio работает поверх ALSA.

Вы, наверное, думаете, что прикладное ПО соединяется с PulseAudio, а с ALSA напрямую соединиться не может. "Это же в ядре - разве приложение может соединиться с ядром напрямую, минуя сервер звука?". На самом деле, может. Можно выводить звук напрямую в ALSA при помощи libasound2 (а в "пульсу", соответственно, через другую библиотеку libpulse0).

* В 1997-2002 годах использовалась звуковая система OSS в связке со звуковым сервером ESD. Опционально можно было выключить ESD.

* В 2002-2008 использовалась звуковая система ALSA.

* В 2008-2020 используется ALSA + PulseAudio. Опционально можно отключить PulseAudio.

Есть также звуковой сервер JACK. Он используется для профессиональной работы со звуком.

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

19. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +1 +/
Сообщение от Аноним (8), 22-Фев-20, 09:40 
Поздно посмотрел на ник. Ещё был artsd, который сегодня phonon. OSS наверно до 2010 ещё жил и использовался в софте, в 2008 он ещё был основным (для alsa дров было мало и они хуже)
Ответить | Правка | Наверх | Cообщить модератору

46. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +3 +/
Сообщение от Zenitur (ok), 22-Фев-20, 10:37 
> Поздно посмотрел на ник. Ещё был artsd, который сегодня phonon. OSS наверно
> до 2010 ещё жил и использовался в софте, в 2008 он
> ещё был основным (для alsa дров было мало и они хуже)

Ты прав. Я решил не усложнять текст для новичка. Потому что с нюансами он был слишком длинным, а потому трудный для восприятия.

В KDE был aRts, в GNOME был ESD. Как-то они не договорились о едином сервере.

Когда произошёл переход на ALSA, то оставалось много приложений, написанных раньше этого, и которые ничего не знали про ALSA. Например Quake III Arena 1.32.

Поэтому была эмуляция OSS. Она и сейчас есть, просто выключена по умолчанию. Включается так: modprobe snd-pcm-oss; modprobe snd-mixer-oss. Опционально ещё модуль snd-seq-oss, это для MIDI.

Вывод звука в OSS очень прост. Это mmap() или write() в файл /dev/dsp. Однако существовала проблема, при которой программа, когда отправляла поток данных в этот файл, то другая программа не могла это делать. Проще говоря, звук работал только из одного приложения, а из двух сразу - нет.

Вот поэтому и использовали ESD/aRts. Чтобы звук работал из нескольких приложений. После появления ALSA, в них не стало необходимости: звук стал микшироваться даже без звукового сервера. Хотя бывало и так, что ты используешь ALSA, а одно приложение захватило весь звук.

Что интересно, была ОДНА звуковая карта, на которой, при использовании OSS, звук из двух приложений работал ДАЖЕ без ESD/aRts. И никаких конфликтов при доступе двух программ к одному файлу. Это звуковая карта Creative. Линейка AWE32, Live!, и Audigy. А остальные (такие как "встройки" AC97 и SB-совместимые карточки) остаются за бортом.

В AC97 точно было аппаратное микширование. Потому что моя Win98 выводила звук из двух программ. Было бы микширование программным - я думаю, всё бы тормозило. Значит, оно точно было аппаратным

P.S. Очень хороший коммент по этому вопросу: https://www.linux.org.ru/forum/talks/14747049?cid=14747754

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

51. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +2 +/
Сообщение от Аноним (51), 22-Фев-20, 10:44 
>Проще говоря, звук работал только из одного приложения, а из двух сразу - нет.

Это давно исправили в OSS4. Во фряхе можно посмотреть, или в линуксе попробовать накатить, но должна быть поддержка со стороны программ.

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

53. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  –1 +/
Сообщение от Zenitur (ok), 22-Фев-20, 10:46 
>>Проще говоря, звук работал только из одного приложения, а из двух сразу - нет.
> Это давно исправили в OSS4. Во фряхе можно посмотреть, или в линуксе
> попробовать накатить, но должна быть поддержка со стороны программ.

Подтверждаю. В OSS4 всё работает на моей "встройке" Intel HDA.

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

93. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (93), 22-Фев-20, 15:17 
> исправили в OSS4

Причём с раздельной регулировкой громкости звуков каждого приложения.

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

65. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +3 +/
Сообщение от Michael Shigorinemail (ok), 22-Фев-20, 12:03 
> В AC97 точно было аппаратное микширование. Потому что моя Win98
> выводила звук из двух программ. Было бы микширование программным
> - я думаю, всё бы тормозило. Значит, оно точно было аппаратным

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

А так даже на 286 программное микширование вполне себе бывало и работало -- на четырёх каналах *.mod с соответствующими частотами дискретизации ;-)  И даже успевали ещё и раскладывать это всё для PC Squeaker, не говоря уж о Covox.

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

99. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +3 +/
Сообщение от sfstudioemail (ok), 22-Фев-20, 22:06 
AC97 и иже с ними никогда не умели аппаратного микширования.

Всегда вместо этого для них использовался софтовый dmix или какой-нить сервер.

Аппаратное микширование умели карты с мозгом. Самые распространённые из них в нулевых это криатив сблёв и аудига. Которые получены были путём кастрации профессиональной EMU-APPS после покупки на корню криативом собсно EMU. На них так же был аппаратный Wave-Table синтезатор кушающий SF2 банки (привет порабощённому криативом Engsonic, да начиная с этих карт под банки юзалось уже ОЗУ, а не собственные модули памяти на карте как у гуся или авечек) произвольная внутренняя коммутация, процессор эффектов и EAX типа 3D surround.

Позже после того как криатив умудрился ещё и Aureal поглотить и изувечить их A3D скрестив ужа с ежом так. Так появился EAX2 и померли Vortex`ы.

А AC97 и иже с ними это по сути тупо ЦАП/АЦП.

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

100. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +2 +/
Сообщение от sfstudioemail (ok), 22-Фев-20, 22:14 
Когда слышу криатив, всегда вспоминаю басню(?) ну о царе который к чему не прикасался всё в золото превращалось.

Дык вот креатив это одна из немногих компаний, которая к чему не коснётся всё превращается в г-но.

Но и тут правда спасибо им надо сказать. Народ быстро прочухал что SBLive это младший EMU с другими АЦП на фронтах и приюзал оригинальные дрова, с поддержкой ASIO на них. Это было долго безальтернативным решением для музыкантов ибо карты с офиц поддержкой ASIO человеческой тогда начинались от почти штуки баксов, а сблайв можно было за 70 взять.

Потом другие ребята (проект kxproject) написали полноценные дрова где было доступно и программирование эффектов и внутренний роутинг наглядно строился и т.д. и т.п.

Т.е. их дрова были даже круче оригинальных емушных и использовались в продакшн на студиях и даже в кабаках (вместо микшера с эффект процессором просто тыкалось 2 моно преда микрофонных и в риалтайме DSP на карте считал ревер и прочее + микшировал с аудиопотоками из софта без нагрузки на CPU).

С одной стороны криатив похоронил сразу 3 отличных компании которые могли бы сильно изменить к сегодняшнему дню мир в части синтеза, 3d на 2х источниках и т.д.

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

Как-то так...

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

101. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от sfstudioemail (ok), 22-Фев-20, 22:19 
Ессно всё это прошло мимо Linux.
Ответить | Правка | Наверх | Cообщить модератору

145. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от F1nal (?), 25-Фев-20, 10:51 
//Есть также звуковой сервер JACK. Он используется для профессиональной работы со звуком.

аЖ ПОПЕРХНУЛСЯ . Какой профессионал будет использовать джек , если не одна проф железка не поддерживает этот недостандарт ?))

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

153. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (-), 25-Фев-20, 15:07 
> если не одна проф железка не поддерживает этот недостандарт ?))

Железки кернель должен поддерживать, а jack лишь интерфейс к всему этому. И таки навороченные программы для работы со звуком (да, для линуха их есть) им пользуются. И таки даже какие-то музыканты линухом свое добро обрабатывают.

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

70. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (70), 22-Фев-20, 12:43 
Zenitur, раз уж Вы так глубоко в теме, разжуйте плиз почему JACK не стал в своё время основным сервером, а повсеместно было принято Поттерингоподелие. В сети я встречаю оправдание, что JACK для проф задачи и хомячку не нужен. Такое объяснение считаю глупым - ничего не мешает поставить буфер побольше и оставить хомячку только фейдер громкости в трее. Зато в любое время даже довохозяйка освоит patchage и легко и непринуждённо, направив звук из микрофона в скайп через компрессор с эквалайзером, зазвучит как диктор с радио, или, как они любят, сможет эквализовать звук из плеера.
Неужели всё потому что Шляпа на голове Леннарта?
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

73. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  –1 +/
Сообщение от Zenitur (ok), 22-Фев-20, 13:00 
Ответ в мощности компьютеров того времени. Pentium 3 и 4, Athlon, Athlon XP и 64, Sempron, Duron, Celeron. Они бы не потянули мощный звуковой сервер на постоянке.

На компьютерах Core2Duo JACK можно было бы и по умолчанию сделать, но в Red Hat почему-то решили сделать PulseAudio. Я могу только догадываться, почему. Возможно, что они не интересовались профессиональным звуком, но интересовались рабочими станциями.

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

75. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +3 +/
Сообщение от Stax (ok), 22-Фев-20, 13:07 
А вы его пробовали для этой цели использовать? Я вот пробовал в те годы (когда появлялся пульс). Это нереально.

Проблема в том, что низкая латентность JACK достигается ценой требовательности к приложениям: они должны быть написаны правильно. И звуковухи должны быть правильными. Собственно, в профессиональной среде это все не проблема.. а вот в бытовой..

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

А т.к. JACK писался с идеей, что соединяем правильный софт, главное низкие задержки, а софт-то поправят - это просто не работает в бытовой жизни. Пульс же сразу делался с рассчетом, что г0внософт не должен переклинивать сервер. Правда, с плохими драйверами звуковых ему все равно пришлось столкнуться (и огрести за это от пользователей). Только тут от JACK все было бы еще хуже.

Нет, JACK сам по себе не плохой. Просто его авторы не захотели бы затачивать его на бытовые реалии, если бы пострадало профессиональное применение.

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

83. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (70), 22-Фев-20, 13:58 
Stax, нет, в те времена ещё только начинал разбираться в линуксе и не то что jack пробовать везде и всюду, некоторые файлы открывать было той ещё задачкой, да и комп у меня всегда был довольно мощный.
Но разве JACK потребляет много ЦПУ при большом буфере, и так же при большом буфере ктото из программ не успевает отдать звук и клинит всю систему? Или речь уж совсем о таких системах где буфера и в 1024 семпла будет мало?
Если так то теперь более менее понятно.    
Ответить | Правка | Наверх | Cообщить модератору

81. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +2 +/
Сообщение от анонимчик (?), 22-Фев-20, 13:44 
Спасибо тебе. Пользуюсь линуксом с 2006, но до сих пор так и не разбирался в деталях. Если нужно было простое одноканальное управление использовал только alsa, если на каждую совтину ставил pulse

Ты мне сейчас просто как пелену с глаз снял

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

95. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (95), 22-Фев-20, 16:41 
Бывает, что с ALSA звук не микшируется.

* Либо когда включена эмуляция OSS, и какое-то приложение как раз выводит звук в /dev/dsp. Как уже говорили, модуль ядра по умолчанию не загружен, и поэтому этого не может произойти случайно - а только если вы намеренно загрузили модуль и запустили программу
* Либо когда звуковой чип не поддерживает аппаратное микширование. Тогда должен сам включаться программный микшер dmix. На Debian Wiki в статье ALSA/FAQ пишут, как включить dmix, если он не включился сам
* Либо при выводе цифрового звука DTS. Тогда ALSA не принимает другие источники звука, чтобы цифровой звук оставался неизменным

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

97. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (97), 22-Фев-20, 20:45 
Еще есть звуковой сервер здорового человека — sndio.
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

117. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (117), 23-Фев-20, 19:59 
Тео, залогиньтесь!
Ответить | Правка | Наверх | Cообщить модератору

103. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (103), 23-Фев-20, 03:04 
Спасибо за коммент. Не могли бы вы прояснить следующие вопросы:
1. неужели нельзя было сделать микширование напрямую в альсе с интерфейсом через отображения, а не через сеть, оставив пульсе сеть и прочее высокооверхэдное?
2. возможно ли заюзать emu10k2 для микширования и EAX/OpenAL и прочих HRTF-эффектов?
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

108. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (95), 23-Фев-20, 13:17 
> неужели нельзя было сделать микширование напрямую в альсе с интерфейсом через отображения, а не через сеть, оставив пульсе сеть и прочее высокооверхэдное?

Насколько я знаю, "пульса" не поддерживает аппаратное микширование. Почему - не знаю

> возможно ли заюзать emu10k2 для микширования и EAX/OpenAL и прочих HRTF-эффектов?

В OpenAL доступен EFX. Это тот же EAX, только программный. Я не знаю, какой версии EAX он является аналогом. Работает на любой звуковой карте.

В Doom 3 поддержку EFX добавили в source-порте dhewm3. В Wine поддержка EFX доступная в Wine Staging, и по-идее в играх можно включить EAX.

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

109. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (103), 23-Фев-20, 17:07 
>Насколько я знаю, "пульса" не поддерживает аппаратное микширование. Почему - не знаю

Леннарт против. Вопрос был, почему микширования нет напрямую в Альсе?

>Это тот же EAX, только программный.

Зачем мне программный, если у меня крутая карта с DSP, способная в 3д-звук через HRTF **через 2 колонки** (система калибруются под комнату, колонки, голову и их положение в комнате (на диске шла программа, издававшая щелчки из 2х колонок с разницей по фазе, нужно было крутя слайдеры сделать так, чтобы щелчки были слышны в обеих ушах как можно одновременнее, после чего шла демка для проверки, после чего профиль записывался)) в реальном времени? Как-то это не очень правильно. Раз деньги уплочены - значит жрать надо.

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

113. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +1 +/
Сообщение от Аноним (97), 23-Фев-20, 19:24 
> Вопрос был, почему микширования нет напрямую в Альсе?

Оно там есть. Dmix.

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

140. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (103), 24-Фев-20, 14:33 
Спасибо. Как оказалось, dmix - это программный микшер. А там есть ещё и аппаратный.
Ответить | Правка | Наверх | Cообщить модератору

123. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (95), 23-Фев-20, 22:44 
>> Насколько я знаю, "пульса" не поддерживает аппаратное микширование. Почему - не знаю
> Леннарт против. Вопрос был, почему микширования нет напрямую в Альсе?

ALSA умеет аппаратное и программное. В первой версии (релиз ALSA 1.0 вроде в 2002 был) программное не было включено по умолчанию. Потом его по умолчанию включили (если аппаратное недоступно), но мне кажется, это было уже после появления PulseAudio.

https://wiki.debian.org/ru/ALSA/FAQ#A.2BBBoEMAQ6_.2BBEEENAQ1...

>> Это тот же EAX, только программный.
> Зачем мне программный, если у меня крутая карта

Процессоры стали сильнее. Те эффекты, на которых Pentium II напрягался, на Intel Core не тормозят. Ситуация сравнима с аппаратными декодерами h264 в современных видеокартах: сейчас мало кто ими пользуется, ведь на процах уже давно не тормозит

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

136. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (103), 24-Фев-20, 12:47 
>Ситуация сравнима с аппаратными декодерами h264 в современных видеокартах: сейчас мало кто ими пользуется, ведь на процах уже давно не тормозит

Я это прекрасно понимаю. Но я перфекционист. То есть неадекват. То есть мне пофиг, что не тормозит на проце и что всех всё устраивает и что это вероятно не стоит усилий; если есть возможность его разгрузить, вынеся функциональность на специализированный ускоритель - значит это надо сделать.

Это как с телефонами - если следовать обывательской логике, то я свой должен выкинуть и купить сиаоми. Всё равно все под колпаком и всё равно никто мой старый телефон поддерживать не будет, просто чип дропнут и поддержку удалят из исходников (как уже сделали многие проекты для десктопа), за то что не 64-бита, и придётся всё от и до самому за свой счёт патчить и собирать. Но я не должен подчиняться обезумевшему обществу массового потребления.

К слову о нужности DSP. В некоторых телефонах они есть и используются программами из стоковой прошивки (а SDK к ним производитель зажилил). То есть DSP и софт к ним в бытовых компьютерах - это всё таки нужно.

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

139. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (137), 24-Фев-20, 13:23 
В 2006 году в сети мелькала openal-alsa-emu10k. Осталось её откопать и портировать для работы с современным софтом.
Ответить | Правка | Наверх | Cообщить модератору

154. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Аноним (-), 25-Фев-20, 15:13 
> вынеся функциональность на специализированный ускоритель - значит это надо сделать.

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

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

119. "Релиз звуковой подсистемы Linux - ALSA 1.2.2"  +/
Сообщение от Michael Shigorinemail (ok), 23-Фев-20, 22:15 
> Насколько я знаю, "пульса" не поддерживает аппаратное микширование.
> Почему - не знаю

Потому что это задача ALSA (и там давно работает).

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

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

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




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

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