Перейти к содержанию

IgorA

Продвинутые
  • Публикаций

    5 555
  • Баллов

    14 098 
  • Зарегистрирован

  • Посещение

  • Победитель дней

    15

Весь контент IgorA

  1. На передачу уровня громкости отводится один байт. Больше 256 градаций через байт не передать. Но странно, если шаг в "1" дает большой скачок. По моим впечатлениям такое изменение можно и не заметить. Изменения настроек в apconfig действуют при следующем запуске плеера. Может быть, у Вас не сбросилось значение шага "12", заданное изначально?
  2. @Chris Rea, добрый день. На вкладке Hotkeys в ap2config в левом нижнем углу можно задать шаг громкости, а правее - локальные и глобальные горячие клавиши. Выбор шага подразумевает, что полный диапазон регулировки громкости - 256 уровней.
  3. @vvvzzz Если хочется, чтобы выбранный пресет загружался автоматически, его надо сохранить кнопкой "Save" (в левом верхнем углу панели VST) с именем default.
  4. Юрий, здесь проблема не с доступной памятью, а с тем, что декодер библиотеки BASS не может по http протоколу работать с файлами более 2GB, если открывать их именно как файлы. Но можно загружать такие файлы в режиме непрерывной трансляции, в котором для стандартного и Direct Input режимов не будет доступна перемотка. Для этого потребуется добавить при открытии файла проверку на превышение порога в 2GB. В следующем обновлении сделаю. Это относится только к рендереру. В плеере такой проблемы нет, он этот файл в режиме Full Memory воспроизводит.
  5. Юрий, если в исходном параметре GRUB_CMDLINE_LINUX_DEFAULT значения "nomodeset" не было, его не надо добавлять. Надо просто дописать в конец существующего значения isolcpus=3. То есть, в Вашем случае "quiet isolcpus=3". Тогда зависания не должно быть. Но документация на параметр isolcpus говорит, что он влияет на пользовательские потоки: This prevents the scheduler from scheduling any user-space threads on this CPU. То есть, потоки ядра системы могут продолжить выполняться и на изолированных таким способом ядрах процессора. Можно ли их разогнать из плеера, используя данные из каталога /proc, надо разбираться.
  6. Юрий, на скриншоте выведен список не процессов, а потоков. Поток может представлять собой как процесс в целом, так и его параллельно выполняемый фрагмент. Если посмотреть внимательно, то будет видно, что все экземпляры ap2renderer занимают одну и ту же память. То есть, это один и тот же процесс. Несколько дополнительных потоков могут создаваться библиотекой, реализующей UPnP управление рендерером. Такие потоки, как правило, почти все время находятся в "спящем" состоянии ожидания событий и не потребляют существенных ресурсов. Что касается распределения потоков по ядрам процессора. Плеер при старте воспроизведения перераспределяет ядра для процессов, присутствующих в списке активных процессов в виртуальном каталоге /proc. Но в Linux, в отличие от Windows, нет общего управления ядрами для всех потоков процесса сразу. Поэтому для процессов с доп.потоками требуются аналогичные действия еще и для всех потоков, представленных в папке /proc/pid/task. Этого сейчас не делается, но Linux версия может быть в этом отношении доработана. Более радикальное решение для Linux, доступное и сейчас - освободить последнее ядро для плеера в системных настройках. Если, например, у последнего ядра индекс 3, как на скриншоте, надо в файле /etc/default/grub строку GRUB_CMDLINE_LINUX_DEFAULT="nomodeset" заменить на строку GRUB_CMDLINE_LINUX_DEFAULT="nomodeset isolcpus=3" выполнить update-grub и перезагрузиться.
  7. Здравствуйте, Юрий! Да, это относится и к Windows, и к Linux версиям. Вытеснение процессов со своего ядра выполняется при каждом старте воспроизведения.
  8. Добрый вечер, Дмитрий! Да, плеер и рендерер работают с этими настройками одинаково.
  9. Когда включена опция "одно ядро" рендерер занимает последнее ядро и сам вытесняет с него остальные процессы.
  10. Доступна бета-версия Album Player for Linux. 32-разрядный плеер http://albumplayer.ru/linux/new7/aplayer32.tar.gz 64-разрядный плеер http://albumplayer.ru/linux/new7/aplayer64.tar.gz 32-разрядный рендерер http://albumplayer.ru/linux/new7/aprenderer32.tar.gz 64-разрядный рендерер http://albumplayer.ru/linux/new7/aprenderer64.tar.gz Что нового: 1) Для SACD, DSF, DFF добавлена поддержка режима вывода Native DSD ( PCM и DoP уже поддерживаются) . 2) В панель основных настроек добавлена опция вывода исходников 16 бит в 16-разрядном режиме, которая отображается, если драйвер поддерживает 16-разрядный вывод. Если опция не включена, весь вывод идет в 32- или 24- разрядном режиме. Поддержка Native DSD требует учета конкретной модели ЦАПа в коде ядра. В актуальных версиях Linux уже присутствует поддержка Native DSD для следующих ЦАПов: iFi Audio micro/nano iDSD, Matrix Audio X-Sabre, Matrix Audio Mini-i Pro, OPPO HA-1 , Pro-Ject Pre Box S2 Digital , Gustard DAC-X20U, DIYINHK DSD DXD 384kHz, JLsounds I2SoverUSB, Aune X1S 32BIT/384 DSD DAC, PS Audio NuWave DAC, T+A DAC, ITF-USB DSD, Amanero - Combo384. Для ЦАПов на XMOS обычно есть возможность добавить поддержку других моделей, добавив их VendorID и ProductID в файл /sound/usb/quirks.c и пересобрав модуль /kernel/sound/usb/snd-usb-audio.ko. Инструкции, например, здесь: https://l8sae-rexhn1.livejournal.com/10008.html Я так пару ЦАПов добавил. Поскольку есть разные варианты значения доп.параметра altsettings (2 или 3) и два возможных режима вывода DSD (U32_BE и U32_LE), может потребоваться перебор вариантов для нахождения рабочей конфигурации. Сборка должна выполняться с указанием в config файлах точного номера установленной подверсии ядра, иначе модуль не загрузится. И при автоматических обновлениях ядра своя версия заменится на стандартную, поэтому обновления надо отключать в таких случаях. Напоминаю инструкции по установке и использованию плеера. Плеер выводит напрямую через драйвер ALSA. При установке отключается автоматическая загрузка сервера PulseAudio. Восстановить её можно, добавив ";" в начало строки "autospawn = no" в файле /etc/pulse/client.conf (с перезагрузкой). Устанавливается на любой распространенный дистрибутив Linux x86 и x64. Для установки скачать и распаковать архив, соответствующий используемой платформе. Скрипты для запуска плеера с правами root подразумевают, что плеер распакован в папку /usr, но их можно изменить или запускать плеер иначе. Запускать плеер можно и из терминала, и из графического файлового менеджера. После распаковки архива надо однократно выполнить в папке плеера под root файл pulseoff ( sudo ./pulseoff ) и перезагрузиться. Проще всего на любой конфигурации запускать программы от администратора, используя файловый менеджер mc. В терминале запустить sudo mc. После этого все программы, запущенные из панелей менеджера, будут с root правами. Для использования плеера запускается файл aplayer. Первый раз надо запустить плеер обязательно с root правами. Открыть в браузере веб-интерфейс по адресу localhost:7778 для локального доступа или ip_компьютера:7778 по сети. Для рендерера вместо 7778 следует указывать 7779. Перейти в панели настроек (вызывается правой нижней кнопкой на панели) на вкладку Card, найти в списке доступных нужную карту, ввести в поле ввода ее номер и нажать кнопку "Select card". Плеер после этого должен автоматически завершиться. Карту достаточно выбрать один раз для плеера или рендерера. Выбор действует на обе программы. После этого можно приступать к обычному использованию плеера. Управление плеером в целом аналогично использованию веб-интерфейса для Windows. Отличия следующие: ∙ В левом верхнем углу панели плеера находится кнопка включения/выключения режима радио. При включении этого режима плеер вместо текущего плейлиста отображает каталог радиостанций, который находится в папке Radio и может редактироваться пользователем. ∙ В правом нижнем углу панели плеера находится кнопка вызова панели настроек. Для рендерера правила использования и управление аналогичны плееру (тот же веб-интерфейс), но запускается файл ap2renderer. Изменения настроек режимов и параметров вывода, включая размеры буферов, параметры ресемплинга и т.д. могут выполняться в процессе воспроизведения, что делает удобным сравнение звука при различных настройках.
  11. А вот тест реального, а не воображаемого, Android 7 на Samsung Galaxy Note 8: http://eng.soomal.com/edoc/10100000185.htm Там подключали по USB ЦАП Matrix с цифровым индикатором входной частоты. Результаты: исходники до 96KHz ресемплируются в 48KHz, а от 96 и выше - в 192. Как мудро, не правда ли, не то что у простых, где всё в 48. Догадливые должны сами догадаться, что при этом происходит с внутренним выводом. И резюме: According to the test results, Note 8 will have SRC when connecting with an external audio device, which has a negative effect on the audio performance.
  12. Даже в устройстве, залоченном на 48KHz, эта функция вернет либо большой список частот, либо пустой массив. Поскольку это частоты не аппаратной опорной частоты, а частоты, допустимые для потоков, передаваемых API. Как Вы понимаете тезис из собственной цитаты?: it is recommended to match the sample rate for AudioRecord and AudioTrack to the endpoint device sample rate Какие две sample rate здесь сопоставляются?
  13. Зачем же Вы обрезаете текст справки по функции на самом важном месте? Там еще добавлено в конце: Note: an empty array indicates that the device supports arbitrary rates. То есть, если эта функция возвращает пустой массив, то затем можно передавать на вывод потоки с любой частотой дискретизации. И теперь вопрос на понимание ситуации и смысла этой функции: Может ли быть произвольной частота дискретизации, используемая не для передачи в API с дальнейшим ее автоматическим преобразованием, а частота, аппаратно поддерживаемая текущим устройством?
  14. Я могу лишь еще раз попытаться объяснить Вам, что и в Windows, и в Android, стандартные API вывода звука принимают входные потоки с различными частотами дискретизации и автоматически преобразуют эти потоки в стандартную частоту дискретизации устройства.
  15. В деталях я реализацией этого варианта не интересовался, но что-то есть в Poweramp и там к каждому устройству может требоваться адаптация. По этому поводу большая тема на их форуме: http://forum.powerampapp.com/topic/8735-requests-for-hi-res-support-please-state-if-you-are-using-build-704705-or-the-newer-790/ Но там, где нет на аппаратном уровне управления опорной частотой, от ресемплинга не избавиться в любом случае.
  16. Я понимаю, что сделают. И понимаю почему. А вот понимаете ли Вы смысл того текста, который сами же процитировали вверху страницы?
  17. А у какого тогда плеера есть необходимость в ресемплинге? У не аудиофильского? Естественно, что речь в цитатах идет об автоматическом преобразовании в частоту поддерживаемую устройством. Любой плеер может от этого уклониться, но сделают это и без него.
  18. Вы сами сейчас цитируете текст, в котором сообщается о поддержке номинальных 192KHz с автоматическим преобразованием их при необходимости в частоту, поддерживаемую устройством, и рекомендуется сразу выбирать адекватную частоту, не превышающую частоту самого устройства (endpoint device sample rate). То есть в точности то же самое, о чём шла речь в двух предыдущих моих сообщениях. Что касается Windows, то там WaveOut и DirectSound, да, аналогично залочены на одну частоту. Но она переключается в системных настройках.
  19. Описание, на которое я ссылаюсь,последний раз обновлялось 8 мая 2018 года. Там речь идет не про ограничение в 48 KHz для входных потоков, а лишь про то, что в итоге всё будет пересчитано в device sample rate. А так - на вход хоть 192 подавай. И вывод через opensl ES в этом отношении ничего не меняет. Пусть в более современных устройствах частота залочена не на 48КГц, а на 96, так все равно ведь залочена.
  20. Вот именно в свою звуковую систему андроида и включен неотключаемый ресемплер. А в официальном руководстве для разработчиков от Google сказано: In general, it is best to choose the sampling rate to fit the device, typically 44100 or 48000 in practice. Use of a sample rate greater than 48000 will typically result in decreased quality as a resampler must be used to play back the file. То есть, лучше не делайте больше 48КГц, а то будет еще хуже из-за дополнительного ресемплинга в обратную сторону.
  21. @ampir-nnn wdc9341 Даже в смартфонах, сделанных на этом чипе, частота дискретизации для PCM может быть залочена. Вот тесты с использованием RMAA для Samsung S8 и S8+. http://eng.soomal.com/edoc/10100000139.htm Там в табличных результатах видно, что при частотах дискретизации, отличных от 96KHz, динамический диапазон падает на 12dB. Естественное объяснение - и этот ЦАП при воспроизведении PCM залочен в конкретной реализации на 96KHz.
  22. amrip-nnn Единичные исключения не меняют общего правила. Число пользователей смартфонов, у которых частота залочена, близко к 100%. ALSA не является стандартным интерфейсом для пользовательских андроид-приложений (попытайтесь найти андроид-плеер, работающий через ALSA), а общим правилом там является автоматический ресемплинг. Я сам андроид-программистом, действительно, не являюсь, но в их форумы, где это обсуждалось, заглядывал.
  23. Вот, опять вы не понимая вопроса пишите, ну ладно - каждому своё Что ALSA на андроиде работает я знаю и без Ваших пояснений. Это ничего не меняет в том отношении, что ЦАПы смартфонов залочены на конкретную частоту, то есть, ни о каком аппаратном автомате частоты под андроидом речь не идет. При прямом аппаратном выводе через aplay -D hw:0,0 на андроиде воспроизводятся файлы только с определенной частотой дискретизации. Объясните пожалуйста, как при этом файлы с разными частотами успешно воспроизводятся плеерами, кроме как через "неотключаемый ресемлинг", упоминание которого мной вызвало Ваши протесты?
  24. @user20182018 После ресемплера работают VST плагины, если они подключены. В их числе есть и индикаторы уровней, и лимитеры. Настройки фазы в ресемплере влияют на характер артефактов (звона) на границах импульсов. Минимальная фаза обеспечивает отсутствие предзвона, но у нее больше постзвон, линейная - симметричный пред- и постзвон, а средняя - между ними. Что из этого лучше на слух - выбирает сам пользователь. Steep filter 99% обеспечивает минимальный спад на высоких частотах после ресемплинга, но увеличивает звон по сравнению со стандартными настройками. Выбор предпочтения неоднозначен и в этом случае.
  25. Для андроида уже есть хорошие плееры, а охватить всё я не могу и не планирую. Тем более, что существующее решение для Linux для декодирования некоторых форматов использует удобные, компактные, но закрытые по исходным кодам библиотеки BASS, поэтому на какую-либо иную платформу, кроме x86_64, плеер легко не перенесется.
×
×
  • Создать...

Важная информация

Пользуясь форумом вы соглашаетесь с нашими Условия использования.