LINUX.ORG.RU

KLANG — проект новой аудиоподсистемы для ядра Linux и FreeBSD

 ,


1

4

Некий разработчик объявил о запуске проекта KLANG по созданию новой аудиоподсистемы для ядра Linux и FreeBSD. KLANG должен предоставить пользователям профессиональное качество работы с аудиоматериалом, минимальные задержки и минимальную загрузку ЦП при обработке звука.

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

Что не устраивает автора проекта в существующих аудиосистемах?

  • ALSA не имеет поддержки микшировавния, даже при использовании dmix.
  • JACK слишком сильно загружает ЦП.
  • PulseAudio все еще требует RealtimeKit для работы.
  • ESD — не для обычного домашнего использования.
  • OSS не поддерживает MIDI-синтезаторы, слишком быстро расходует батарею. Зато имеет прекрасный API.

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

При низком времени задержки требуется работа с более коротким буфером данных, что усложняет процесс конфигурации планировщика процессов. Имеющиеся аудиосистемы, работающие на пользовательском уровне, запускаются с realtime-приоритетом. Если процессов-обработчиков аудиоданных немного, то все будет работать хорошо, но с увеличением их числа нагрузка на ЦП вырастет в разы. Помещение аудиоподсистемы в ядро во многом помогает в решении проблемы и позволяет реализовать собственный эффективный планировщик. К тому же ядро — прекрасный и удобный уровень абстракции над оборудованием, не нужно самому заботиться о деталях.

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

API разрабатываемой аудиоподсистемы будет изначально подразумевать правильную работу со звуком:

  • open(2) — обращение к одной из конечных точек;
  • ioctl(2) — конфигурация работы с конечной точкой;
  • write(2) — запись аудиоданных;
  • read(2) — получение аудиоданных.

Очень сильно напоминает OSS. Да, подобный OSS-совместимый API будет предоставлен KLANG для пользовательского уровня. Данный API, конечно, ни для кого не станет открытием, но он достоин повторного использования и дальнейшего расширения.

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

>>> Подробности

★★★★★

Проверено: JB ()

В правильную сторону мыслит товарищ!

de_simakov ()
Ответ на: комментарий от anonymous

Шо? Даже скрипт нельзя написать? Каждый раз руками?

ls-h ★★★★ ()

Денис Попов? Новшество перекочевало из BolgenOS, не иначе

hackintosh ()
Ответ на: комментарий от AiFiLTr0

Какое отношение перенаправление звука с нескольких компов по сети, да еще и со своей логикой имеет к обычному десктопу/лэптопу? А для хитрожопых задач есть JACK.

segfault ★★★★★ ()
Ответ на: комментарий от segfault

К тому что приехал на дачу, и хочу без проводов, смс и прочего подцепиться к аудиосистеме, и юзать вместо встроенного.

AiFiLTr0 ★★★★★ ()
Ответ на: комментарий от anonymous

Некогда мне: я у родителей, так что в интернет выхожу редко.

Eddy_Em ☆☆☆☆☆ ()
Ответ на: комментарий от anonymous

Фактически аппаратное микширование осталось в прошлом, и это правильно.

Лол, оно осталось в прошлом потому что вендоры решили сэкономить копеечку в условиях жосткой конкуренции. А то что у юзера на заре этих нововведений проц грузился неслабо - никого не волновало - без лоха и жизнь плоха. Я все это прекрасно пережил на yamaha-724f, пока лохи вроде тебя давились жуя кактус и вереща «правильно!».

anonymous ()
Ответ на: комментарий от stevejobs

и они ушли на Мак именно потому, что там много чего не надо править

Да, остается грызть унылый кактус. Почитай про purge например. Мои конфиги уже 10 лет по моим линуксам мигрируют. Одна настройка раз в 10 лет, это наверное поменьше чем у любого вантузятника и маковода.

PS: На работе использую макось более 2 лет, и что-то меня до сих пор не тянет на нее переходить дома с таких «плохих линуксов», наоборот каждый день приходится жалеть об отсутствии многих удобных линуксовых вещей.

PPS: На макоси если в параллель поставить обсчет хеша для гигов 20 - система подвисает, звук заикается, работать невозможно. Идеальных систем не бывает, только в головах фанатиков, увы

anonymous ()
Ответ на: комментарий от anonymous

ты не обычный пользователь и не обычный программист

stevejobs ★★★★☆ ()
Ответ на: комментарий от anonymous

вендоры решили сэкономить копеечку в условиях жосткой конкуренции

Да.

А то что у юзера на заре этих нововведений проц грузился неслабо

А кто заставлял использовать максимально качественные алгоритмы? Какой-нибудь Speexrate 5 не сильно нагрузит CPU, а по качеству с большой вероятностью уделает железные ресэмплеры многих карт.

Я все это прекрасно пережил на yamaha-724f
прекрасно
yamaha-724f

/0. В этом куске говна убогий DSP, калечащий потоки 44.1 kHz приведением к 48 (ведь AC97 просто не может в другие частоты).

вереща

Ты только не нервничай, «не-лох» :)

anonymous ()

Хм... что-то кеды глючноваты в моей генте, пойду запилю свой дистр.

fang90 ★★★★★ ()

Мне на ноуте до визгу хватает связки ALSA+PulseAudio. Ничего не шипит, не пищит, не трещит (только скайп - «приятное» исключение). Править конфиги и разбираться что куда не особо охота - пульс все сделал спокойно и без меня :). П.С : Пока не на одном ноуте не видел звуковухи HD Audio с аппаратным микшером - даже в винде все разруливается программно. А вот на нормальных материнках (десктопы) аппаратное микширование обычно есть (ну разве что в совсем бюджетных нет)

malishok ()

Лучше бы допилить имеющиеся тулзы, а не клепать свое. Ох уж эти юниксоиды

amazpyel ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.