-
Публикаций
5 598 -
Баллов
14 098 -
Зарегистрирован
-
Посещение
-
Победитель дней
15
Тип контента
Профили
Форумы
Пользовательские тракты
Галерея
Колекции
Блоги
Объявления
Магазин
Articles
Весь контент IgorA
-
Чтобы плеер запускался, в ap2config надо отключить опцию "Управлять системной громкостью". Она не работает и плеер аварийно завершается, так как в Server 2016 Core нет службы Windows Audio.
-
Здесь еще есть вопрос по объективности самого ощущения лучше-хуже. Звук после эквалайзера часто лучше на слух, но хуже, если нас интересует подобие оригиналу. Кто сказал, что любого характера привнесенный в сигнал джиттер будет всегда восприниматься слушателем как "хуже", а не как более объемный и наполненный звук? У некоторых на слух и фубар всех обыгрывает по звуку. Я думаю, что в точных сравнительных измерениях соответствия копии оригиналу выиграют именно самые "тихие" варианты воспроизведения. Что касается медленных процессоров, то это палка о двух концах, так как частоты помех снижаются, но их продолжительность увеличивается при том же объеме вычислений. А вот минимизация самого процессинга, сопровождающего воспроизведение, на мой взгляд, безусловное благо.
-
@BSV, а папки SACD были пересканированы после переключения опции "Full disc playback mode"?
-
@BSV, да, ведь approxy64 обновлялся. Попробуйте этот вариант. approxy64_.zip
-
Так ведь нагрузка на процессор, синхронизированная с процессингом звука, это и есть та самая единственная ось зла, которую я могу представить в качестве возможного источника косвенных влияний на воспроизведение в условиях bit perfect передачи данных и опережающей буферизации с собственным клоком. Если есть какие-то другие идеи, предлагайте пожалуйста.
-
m@jor Видимо, только когда буфер драйвера становится меньше буфера контроллера (который и так небольшой - сотни байт), он начинает лимитировать размер передаваемого блока и возникает такая ситуация. Но по моим представлениям в этом нет ничего хорошего.
-
Так и вопрос, с которого обсуждение началось, был задан о настройке буферов для этого плеера. В linux версии в DI весь процессинг синхронизирован с подкачкой этих блоков, а в FM вынесен во времени за рамки их передачи. В других плеерах собственный буфер тоже может регулироваться. То, что происходит на этапе передачи данных из памяти драйвера в аппаратный контроллер вообще находится за рамками софтовых настроек. Там передаются фиксированные фреймы размером от десятков до сотен байт. И в контроллере тоже опережающая буферизация. То есть, передает он один блок данных и параллельно принимает другой. Поскольку из памяти трансфер на порядки быстрее передачи данных по интерфейсу, то опоздать здесь невозможно и ускоряться, в общем-то, незачем.
-
Размер периода в настройках буфера драйвера определяет размер регулярно передаваемого плеером в драйвер блока данных. Соответственно, именно с блоками такого размера выполняется процессинг. И чем меньше этот размер, тем больше вероятность того, что обработка данных будет локализована в кэше. При использовании DMA данные передаются только из ОЗУ. Из плеера в драйвер блок передается программно и кэширование работает.
-
Если в стандартном режиме вывода выбрать максимальный буфер предзагрузки, то работать будет подобно Full Memory - предзагружаться большими блоками, но играть будет сразу. В дальнейшем, скорее всего, в настройки добавится выбор режима загрузки диска целиком или по трекам. Впрочем, если начинать слушать с первого трека альбома, то и сейчас Full Memory x64 должен начинать играть сразу.
-
В ситуации снижения частоты импульсные помехи становятся менее интенсивными, но более длительными, так как объем вычислений остается тот же. Что из этого будет лучше для звука, я с ходу не знаю - это вопрос для отдельного исследования.
-
Для DI и FM, я думаю, нет принципиальной разницы - 3 или 8MB кэш.
-
Например, для стандартного режима воспроизведения - если буфер предзагрузки весь умещается в кэше, то чтение из него будет происходить без обращения к оперативной памяти.
-
grigoxyr Поддержка воспроизведения с CD дисков в linux версии возможна, но если это будет, то в дальнейшем, в версии с графическим интерфейсом. Но воспроизведение рипа диска из памяти в любом случае прямее по отношению к процессингу тех же самых PCM данных чем проигрывание CD диска на компьютере.
-
Наверно, чем больше, тем лучше.
-
m@jor Я имел ввиду кэш L1. Что касается прерываний от контроллера, то при передаче ему данных драйвером стандартным является использование DMA. В этом случае данные считываются из памяти, а не из кэша. Основной процессинг данных, скорее всего, происходит в контексте плеера и его потоков, включая работу кода ядра при приеме драйвером этих данных.
-
Насчет размера буферов существуют противоположные мнения. Экстремально низкие размеры существенно повышают нагрузку на процессор, что вряд ли чем-то помогает воспроизведению. Чем больше размеры, тем меньше вычислительная нагрузка. С другой стороны, небольшие размеры буферов могут быть оптимальны в том плане, что основная работа с данными будет выполняться во внутреннем кэше процессора. Но для этого, видимо, достаточный минимум - 64/128 фреймов или 128/256. Связаны размеры буферов в том смысле, что размер буфера должен быть больше размера периода в два раза или больше. Способ задания этих размеров в фреймах или микросекундах альтернативен в том смысле, что первый вариант создает буфер фиксированного размера, а второй - буфер, увеличивающийся при увеличении частоты дискретизации.
-
Адам, настройки можно менять командами с клавиатуры, завершаемыми Enter, при оставленном воспроизведении: pf - размер периода в фреймах, без пробела - pf1024 , pf512, и с другими параметрами аналогично. pt - длительность периода в микросекундах bf - размер буфера в фреймах bt - длительность буфера в микросекундах di - Direct Input mode fm - Full Memory mode pcm - DSD->PCM mode (pcm, pcm44, pcm88, pcm176, pcm352) dop - DSD DoP mode card - выбор устройства вывода (после выбора нужен перезапуск). Графический интерфейс будет доступен позже.
-
Если задать в семплах и period_size, и buffer_size как period_size * 3, то так и будет. Для всех версий Windows режим вывода DSD потока плеером (PCM/DoP/Native) выбирается одинаково - в панели настроек входного SACD плагина (через "Форматы файлов" в контекстном меню).
-
PolarLight Когда размер буфера задается не в килобайтах, а в интервалах времени, это уже адаптивный вариант, где размер буфера автоматически меняется при изменении samplerate. Вряд ли здесь нужна дополнительная дифференциация. Систему настроек лучше не усложнять без необходимости.
-
Адам, версиям плеера, начиная с 2.106, требуется запуск от имени администратора. Возможно, проблема с этим. На следующей неделе, если будет возможность, посмотрю на виртуальной машине.
-
PolarLight, спасибо за хлопоты. Насчет интеграции в систему - по мере готовности плеера посмотрю, что для этого требуется. Возможно, что специальная адаптация и не нужна, так как плеер и в дальнейших версиях останется портабельным.
-
@DJ Pete, можно попробовать отключить в ap2config Gapless Mode, если используется стандартный режим воспроизведения и включена эта опция. Также настраиваемые буферы можно поварьировать и режимы воспроизведения. Скорее всего, к ошибке приводит неудачная синхронизация управления при воспроизведении и изменение условий воспроизведения может влиять на это.
-
bbest, я в любом случае делаю тот звук, который максимально (в рамках возможного) избавлен от программных влияний. Но совсем не факт, что именно он должен всем нравиться больше иных вариантов.
-
bbest Если бы ap был запущен с root правами, у него был бы максимальный приоритет, а не стандартный. В конфиге MPD я ничего необычного не обнаружил, вроде бы, с таким и запускал.
-
@bbest, после окончания загрузки файла в режиме Full Memory (этот режим по умолчанию активен) и с начала воспроизведения в ap остается только один активный поток, который и обеспечивает воспроизведение. Еще один поток, обслуживающий консольный интерфейс, просто спит в ожидании ввода. Для обеспечения управления приоритетом и блокировки используемой памяти от перемещения плеер следует запускать под root - sudo ./ap . В Full Memory в этом случае выполняется прямой вывод декодированного потока из памяти в драйвер с потреблением 0% ресурсов процессора. Конечно, если минимизировать буферы, то потребление ресурсов чуть увеличится. С точки зрения объективных условий для воспроизведения вряд ли это чем-то уступает режиму вывода в MPD. И при сравнении на одной системе я превосходства звука при воспроизведении через MPD не наблюдал. Размером буфера драйвера и периода можно управлять командами в соответствии с инструкцией.
