Аудио-подсистема. Пути реализации.

Обсуждаем ReactOS по-русски

Moderators: fog, fireball

Viruzzz-kun
Posts: 12
Joined: Mon Mar 08, 2010 4:12 pm
Location: Astrakhan, Russia

Аудио-подсистема. Пути реализации.

Post by Viruzzz-kun »

Доброго времени суток!
Хотелось бы узнать следующее, если это возможно:
Как я понимаю, в ReactOS реализуется полностью Windows-подобная аудио-подсистема, а будет ли возможность прикрутить к ней нечто по производительности близкое к alsa (ибо ASIO поддерживается далеко не всеми дровами, а скорость нужна), но имеющее интерфейсы ASIO, DirectSound, WinMM (опционально, для совместимости). Если такое хотя бы теоретически возможно, то можно было бы приложить руку.
Jedi-to-be
Posts: 706
Joined: Sun Mar 16, 2008 11:26 am
Location: Russia, Stavropol
Contact:

Re: Аудио-подсистема. Пути реализации.

Post by Jedi-to-be »

что это?
unxed
Posts: 220
Joined: Mon Aug 28, 2006 11:11 pm
Contact:

Re: Аудио-подсистема. Пути реализации.

Post by unxed »

Viruzzz-kun wrote:Доброго времени суток!
Хотелось бы узнать следующее, если это возможно:
Как я понимаю, в ReactOS реализуется полностью Windows-подобная аудио-подсистема, а будет ли возможность прикрутить к ней нечто по производительности близкое к alsa (ибо ASIO поддерживается далеко не всеми дровами, а скорость нужна), но имеющее интерфейсы ASIO, DirectSound, WinMM (опционально, для совместимости). Если такое хотя бы теоретически возможно, то можно было бы приложить руку.
А ASIO4ALL разве требует поддержки драйвером звуковухи?
http://tippach.business.t-online.de/asio4all/intro.html
Viruzzz-kun
Posts: 12
Joined: Mon Mar 08, 2010 4:12 pm
Location: Astrakhan, Russia

Re: Аудио-подсистема. Пути реализации.

Post by Viruzzz-kun »

А разве ASIO4ALL настолько быстр? Может, у меня просто старая версия валялась, но она задержки меньше 100мс мне не давала, в то время, как максимально допустимая - 10 мс (и то с большой натяжкой), то есть предполагается, что kmixer уже должен обходиться.
unxed
Posts: 220
Joined: Mon Aug 28, 2006 11:11 pm
Contact:

Re: Аудио-подсистема. Пути реализации.

Post by unxed »

Viruzzz-kun wrote:А разве ASIO4ALL настолько быстр? Может, у меня просто старая версия валялась, но она задержки меньше 100мс мне не давала, в то время, как максимально допустимая - 10 мс (и то с большой натяжкой), то есть предполагается, что kmixer уже должен обходиться.
Получалось ли на том же самом железе получить эти самые 10мс с другим софтом?
Viruzzz-kun
Posts: 12
Joined: Mon Mar 08, 2010 4:12 pm
Location: Astrakhan, Russia

Re: Аудио-подсистема. Пути реализации.

Post by Viruzzz-kun »

unxed wrote:Получалось ли на том же самом железе получить эти самые 10мс с другим софтом?
Ага. SB Live!5.1 + kx даёт 3 мс легко (меньше - хуже, потому загрузка огромная), а ASIO4ALL в глубоком пролёте при этом. CT4810 + alsa + jack + wineasio + wine + ресурсоёмкая FL Studio на ~46 мс временами похрипывает, под виндой проверить на свежей ASIO4ALL пока не успел, но мне с трудом вреится, что потянет...
Viruzzz-kun
Posts: 12
Joined: Mon Mar 08, 2010 4:12 pm
Location: Astrakhan, Russia

Re: Аудио-подсистема. Пути реализации.

Post by Viruzzz-kun »

Сейчас проверил на свежайшей ASIO4ALL. Вполне приемлемые задержки. А я на ОСь грешил. ^___^
unxed
Posts: 220
Joined: Mon Aug 28, 2006 11:11 pm
Contact:

Re: Аудио-подсистема. Пути реализации.

Post by unxed »

Viruzzz-kun wrote:Сейчас проверил на свежайшей ASIO4ALL. Вполне приемлемые задержки. А я на ОСь грешил. ^___^
Какие, если не секрет?
Viruzzz-kun
Posts: 12
Joined: Mon Mar 08, 2010 4:12 pm
Location: Astrakhan, Russia

Re: Аудио-подсистема. Пути реализации.

Post by Viruzzz-kun »

unxed wrote:Какие, если не секрет?
У меня, к сожалению, не было возможности проверить точно, но на размере буфера 128 семплов (48 кГц) и 4 kernel buffers ASIO4ALL утверждал, что 3 мс. Я так понимаю, что учитывая, что там 4 буфера, должно выходить порядка 11 мс. Ощутимой задержки я не наблюдал. А вот при включенном Hardware buffer задержка была порядка полусекунды... Такие дела.
unxed
Posts: 220
Joined: Mon Aug 28, 2006 11:11 pm
Contact:

Re: Аудио-подсистема. Пути реализации.

Post by unxed »

Viruzzz-kun wrote:
unxed wrote:Какие, если не секрет?
У меня, к сожалению, не было возможности проверить точно, но на размере буфера 128 семплов (48 кГц) и 4 kernel buffers ASIO4ALL утверждал, что 3 мс. Я так понимаю, что учитывая, что там 4 буфера, должно выходить порядка 11 мс. Ощутимой задержки я не наблюдал. А вот при включенном Hardware buffer задержка была порядка полусекунды... Такие дела.
Ясно, спасибо! Действительно, 11 это уже не 100.

Последний и главный вопрос: в ReactOS ASIO4ALL заводится?
Viruzzz-kun
Posts: 12
Joined: Mon Mar 08, 2010 4:12 pm
Location: Astrakhan, Russia

Re: Аудио-подсистема. Пути реализации.

Post by Viruzzz-kun »

unxed wrote:Последний и главный вопрос: в ReactOS ASIO4ALL заводится?
Пока проверить не успел. На виртуалке с этим делом совсем плохо (ибо дрова), так что надо грузиться "вживую", значит, с LiveCD (кстати, почему-то последняя версия ARWINSS при перемещении окна, само окно не отрисовывает - только стирает)
Сегодня буду перезагружаться - проверю обязательно (а то сижу я под убунтой, а музыку делать приходится под виндой)
unxed
Posts: 220
Joined: Mon Aug 28, 2006 11:11 pm
Contact:

Re: Аудио-подсистема. Пути реализации.

Post by unxed »

Viruzzz-kun wrote:
unxed wrote:Последний и главный вопрос: в ReactOS ASIO4ALL заводится?
Пока проверить не успел. На виртуалке с этим делом совсем плохо (ибо дрова), так что надо грузиться "вживую", значит, с LiveCD (кстати, почему-то последняя версия ARWINSS при перемещении окна, само окно не отрисовывает - только стирает)
Сегодня буду перезагружаться - проверю обязательно (а то сижу я под убунтой, а музыку делать приходится под виндой)
Баг номер 5237.
Отчасти чинится переключением на второй рабочий стол и обратно после перемещения окна.

Вообще, на данный момент (это мой личный опыт, своё мнение не навязываю) лучший способ получить максимально рабочую систему - взять свежую транковскую сборку, установить и заменить следующие файлы на аналоги из arwinss-сборок (они все живут в reactos\system32, если смотреть образ уже установленной системы):
freetype.dll
gdi32.dll
user32.dll
win32csr.dll
win32k.sys
winent.drv
explorer.exe

Образы vmware я ковыряю с помощью winimage. Кстати, qemu этот формат образов (vmdk) тоже поддерживает.
Viruzzz-kun
Posts: 12
Joined: Mon Mar 08, 2010 4:12 pm
Location: Astrakhan, Russia

Re: Аудио-подсистема. Пути реализации.

Post by Viruzzz-kun »

unxed wrote:Последний и главный вопрос: в ReactOS ASIO4ALL заводится?
Сейчас перезугружался, пробовал с LiveCD под виртуалкой запустить. Ничего не вышло. Даже устанавливаться не стала, ругнулась на отсутствие:
iphlpapi.dll
imm32.dll
USER32.dll
comctl32.dll
SHELL32.dll
и всё. Что, кстати, странно...
А из транков я ничего пока не собирал. Транковская сборка лежит в репозитории? Или это образ установочного диска, который на сайте? Или собранная вирт-машина? Или мне нужно всю репу взять (кстати, сколько она весит?)?
NOX86
Posts: 164
Joined: Tue Jun 20, 2006 12:21 pm

Re: Аудио-подсистема. Пути реализации.

Post by NOX86 »

Можно репу (Гига 2-3), можно тут
hto
Developer
Posts: 2193
Joined: Sun Oct 01, 2006 3:43 pm

Post by hto »

Снимок репозитория "весит" где-то 600-700M.
Post Reply

Who is online

Users browsing this forum: No registered users and 13 guests