-
Публикаций
5 598 -
Баллов
14 098 -
Зарегистрирован
-
Посещение
-
Победитель дней
15
Тип контента
Профили
Форумы
Пользовательские тракты
Галерея
Колекции
Блоги
Объявления
Магазин
Articles
Весь контент IgorA
-
@rustam0906 JACK работает с float32 аналогично тому, как фубар работает с входными плагинами (декодерами), то есть, он принимает от клиентских приложений только float32. Так задано в его спецификации. Поскольку в Red Book и большинстве hi-res оцифровок в исходных файлах целочисленные данные, то плеер, выводящий в JACK, предварительно пересчитывает эти входные данные в float32. Естественно, лучше от этого аудиоданные не становятся. При корректном обращении их можно обратно восстановить из float в integer, не более того. Что и делают перед любым выводом в драйвер и фубар, и JACK. Поскольку драйверы float не принимают. Эти трансформации в float и обратно при наличии DSP обработки передаваемого потока весьма разумны, но они совершенно лишние при ее отсутствии, и применяются в этом случае просто в силу универсальности рассчитанного на DSP интерфейса. Если осталось неясным, умеет ли JACK конвертировать форматы, то ответ - да. Без этого он не сможет работать, так как конвертирует их всегда.
-
Драйвер ALSA не принимает плавающую точку. При низкоуровневом выводе без посредников драйвер ALSA принимает один из трех целочисленных форматов - 16, 24, 32 бита. И по моему опыту обычно только один конкретный из трех. В современных картах и ЦАПах фактически всегда 32 или 24. Это очень похоже на работу ASIO под Windows. Поэтому последнее звено перед драйвером ALSA, будь то плеер или JACK, при прямом hardware выводе в ALSA обязано выдавать именно этот требуемый целочисленный формат. При микшировании JACK, видимо, использует плавающую точку, но нет смысла загонять Red Book в плавающую точку, чтобы потом его же извлекать оттуда. Если чем-то больше нравится трансфер через плавающую точку, то это скорее эффект косвенного влияния процессинга на звук. Вряд ли он имеет универсальное значение за рамками использования конкретных программ. dithering - тоже искажения, которые маскируют другие искажения, возникающие при усечении разрядности исходника. Если можно просто передать 16-битный поток бит в бит, этого достаточно и это объективно лучший вариант.
-
Вы сами задумайтесь пожалуйста о смысле своей аргументации. Если проблема только в том, чтобы без изменений донести биты из файла до ЦАПа, то любой фубар под любой Windows уже решает все проблемы. А сам плеер, да, конечно, и он тоже - промежуточное звено в конвейере звукового потока. А JACK - еще одно звено в этом конвейере.
-
Не сам звук, конечно, но цифровой звуковой поток - да. Само название расшифровывается как Audio Connection Kit. Connection - соединение, коммутация. Странно после того, как столько копий сломано, возвращаться к вопросу, что такое JACK. На стартовой странице проекта JACK конкретно сказано, что задача этого продукта - коммутация: take the audio output of one piece of software and send it to another.
-
@PolarLight Я думаю, что DOS позволяет получить предельный минимум загрузки процессора при воспроизведении звука (в противоположность тому, что делает сам ampir-nnn через JACK) и в этом смысле, да, DOS - идеальная ОС для звука на ПК. Но масса ограничений, связанных с отсутствием поддержки современных устройств, на мой взгляд, делает этот вариант неперспективным.
-
Да и сама апологетика минимально достижимого буфера в отношении задачи качественного воспроизведения музыки - тоже мифология, базирующаяся на незнании того, как тактируется передача звукового потока в ЦАП. Какой-то оптимальный, ограниченный сверху размер буфера может существовать, но лишь в отношении минимизации числа пересылок аудиоданных между памятью и кэшем процессора по пути в драйвер и размер такого буфера не меньше сотен семплов. А когда буфер зажимается до единиц семплов, то в разы возрастает нагрузка на процессор, соответствующим образом повышается уровень помех и джиттер от этого может только увеличиваться. Если кому-то нравится именно этот звук, то тут скорее вопрос личных предпочтений, а не какое-либо объективное преимущество этого варианта.
-
Иначе говоря, он передает звуковой поток стороннему компоненту, который под Windows умеет выводить через ASIO, опять же, никак и ничего в ASIO не минуя. То есть, спрятаться от ASIO за еще одним дополнительным посредником, для Вас означает "миновать звуковую систему ASIO"? Что он при этом минует в некой упомянутой выше "звуковой системе ASIO", если она и сводится только к этому драйверу?
-
@ampir-nnn Когда плеер использует прямой вывод через драйвер ALSA и поддерживает настройку размеров буферов ALSA, он работает с теми же функциями вывода, что и JACK, и имеет те же самые возможности. В этом случае JACK объективно является лишним посредником на пути от плеера к драйверу. И что Вы конкретно имели ввиду под "Jack работает минуя звуковую систему ASIO", если ASIO - это только драйвер вывода? Что там минует Jack?
-
Вы знаете, что драйвер карты, непосредственно взаимодействующий с железом, всегда работает в режиме ядра, а в комплекте Jack нет модулей, работающих в режиме ядра? Из чего с логической неизбежностью следует, что Jack может работать с железом только через драйвер, соблюдая все его условия и ограничения. Или во многом знании - немалая печаль?
-
Владимир, я, чтобы доказать ampir-nnn, что JACK не может обойти драйвер ASIO в Windows (как и ALSA в Linux) и его ограничения на минимальный размер буфера, даже написал драйвер ASIO, который логгировал действия JACK при выводе и, естественно, всё подтвердил. За исключением ampir-nnn никто в этом мире не утверждает, что JACK может обойти драйвер ALSA и работать напрямую с железом. Но вера, она сильнее фактов.
-
В 64-разрядной системе в общем случае оптимальнее 64-разрядная, но это не означает, что 32-разрядная там плохо работает. О разнице между 32-разрядными и 64-разрядными платформами можно почитать заметки в интернете. Это разные режимы работы процессора и адресации памяти. 64-разрядная система несколько производительнее и без ограничений на размер данных в памяти (пока хватает памяти).
-
Из readme (только для EXTRAS модулей вывода): Для этого варианта потребуется скопировать в основную папку 32-разрядной версии плеера используемый 64-разрядный ap2decoder.exe с его конфигуратором. Также потребуется сделать в той же папке копию 32-разрядного файла approxy.exe с именем approxy64.exe. После этого модуль вывода будет 64-разрядным, а процессинг - 32-разрядным.
-
Вот про то, как его увидеть, и рассказано в readme. Он выбирается и активизируется в программе ap2config на вкладке VST. Затем вызывается при воспроизведении через значок в трее.
-
Эквалайзер есть в комплекте плеера в качестве примера VST плагина. Информацию, как использовать плагины, можно найти в файле readme по ключевому слову VST.
