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

sale50feb.webp

Forum-blog.jpg

sluh_1920x420.jpg

vse_july_1920x420_1.jpg

1920xE420.gif

friends_club.webp

aurian_jan23.jpg

Рекомендуемые сообщения

Гость si.tempo

ПРИ НЕОБХОДИМОСТИ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

 

В аудиофильских плеерах такой необходимости нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А у какого тогда плеера есть необходимость в ресемплинге? У не аудиофильского?

Естественно, что речь в цитатах идет об автоматическом преобразовании в частоту поддерживаемую устройством.

Любой плеер может от этого уклониться, но сделают это и без него.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@IgorA, В таком случае ресемплинг в Андроиде реализован совсем недурно в плане качества, т.к. хай-рез в том же UAPP звучит весьма впечатляюще. Кстати, а Вы не в курсе как в некоторых плеерах реализован так называемый Hi-Res драйвер, который посылает аудио-поток вроде как более прямым путем к аудио-устройству?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да не сделают. Вы правда не понимаете?

 

Я понимаю, что сделают. И понимаю почему.

А вот понимаете ли Вы смысл того текста, который сами же процитировали вверху страницы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@IgorA, Нашел описание Hi-Res драйвера плеера UAPP: http://www.extreamsd.com/index.php/hires-audio-driver

Цитата оттуда:

"The HiRes direct driver in USB Audio Player PRO tries to work around that problem by accessing a so-called 'direct' audio path of the Android audio system. Using this direct path, audio can be passed to the chip in 24-bit at all the sample rates that the chip supports, without resampling or other audio degrading 'features' of Android."

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@IgorA, Кстати, а Вы не в курсе как в некоторых плеерах реализован так называемый Hi-Res драйвер, который посылает аудио-поток вроде как более прямым путем к аудио-устройству?

 

В деталях я реализацией этого варианта не интересовался, но что-то есть в Poweramp и там к каждому устройству может требоваться адаптация.

По этому поводу большая тема на их форуме:

 

http://forum.powerampapp.com/topic/8735-requests-for-hi-res-support-please-state-if-you-are-using-build-704705-or-the-newer-790/

 

Но там, где нет на аппаратном уровне управления опорной частотой, от ресемплинга не избавиться в любом случае.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость si.tempo

@IgorA, попробую объяснить попроще.

1. Пользователь запускает плеер.

2. Выбирается устройство, через которое будет выводиться звук.

3. Плеер посылает всякие запросы на устройство вывода, в том числе getSampleRates, в ответ на который устройство вывода присылает ответ, в котором содержится массив значений частот дискретизации, поддерживаемых устройством.

4. Пользователь выбирает трек и нажимает воспроизведение.

5. Плеер считывает параметры трека и устанавливает параметр выходной частоты дискретизации равным частоте дискретизации выбранного трека, если такая частота поддерживается устройством вывода. Если не поддерживается, плеер может или отказаться воспроизводить трек, или спросить пользователя, надо ли делать передискретизацию, или любое иное действие, заложенное разработчиком.

 

Я понятно объяснил?

 

p.s.

getSampleRates added in API level 23

int[] getSampleRates ()

Returns

int[] An array of sample rates supported by the audio device.

Изменено пользователем si.tempo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я могу лишь еще раз попытаться объяснить Вам, что и в Windows, и в Android, стандартные API вывода звука принимают входные потоки с различными частотами дискретизации и автоматически преобразуют эти потоки в стандартную частоту дискретизации устройства.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость si.tempo

А я могу еще раз попытаться объяснить Вам, что они будут это делать только если вы с этим согласны.

 

Любой программист может написать приложение, которое не будет использовать стандартную обработку.

Изменено пользователем si.tempo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

, Игорь, конечно, очень крут, но не настолько, чтоб от его согласия или не согласия зависели алгоритмы функционирования подсистем Android :NOno:

Изменено пользователем BSV

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость si.tempo

@IgorA, я понимаю, вы защищаете свое раннее утверждение.

Вот это:

В андроиде в звуковое API зашит неотключаемый ресемплинг и ограничение разрядности. Обойти это могут либо программисты, переделывая системные модули под своё устройство, либо плееры, выводя через USB на внешний ЦАП, вообще без участия аудиосистемы андроида.

Но в Андроиде не зашит неотключаемый ресемплинг и ограничение разрядности. Это было когда-то, но давно уже нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

int[] getSampleRates ()

Returns

int[] An array of sample rates supported by the audio device.

 

Зачем же Вы обрезаете текст справки по функции на самом важном месте?

 

Там еще добавлено в конце:

 

Note: an empty array indicates that the device supports arbitrary rates.

 

То есть, если эта функция возвращает пустой массив, то затем можно передавать на вывод потоки с любой частотой дискретизации.

 

И теперь вопрос на понимание ситуации и смысла этой функции:

 

Может ли быть произвольной частота дискретизации, используемая не для передачи в API с дальнейшим ее автоматическим преобразованием, а частота, аппаратно поддерживаемая текущим устройством?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость si.tempo

Зачем же Вы обрезаете текст справки по функции на самом важном месте?

Это не самое важное место. Это вообще не важное место, применимо к аудиофильскому плееру. Мы ведь говорим о высококачественном выводе звука? Не так ли?

В таком случае речь идет исключительно об устройствах, поддерживающих Hi-Res, в которых никогда не вернется пустой массив.

Не передергивайте, пожалуйста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

, Если б все было так просто, то стали бы разработчики аудиофильских плееров напрягаться лишний раз, разрабатывая Hi-Res драйверы с заточкой под конкретные устройства?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость si.tempo

si.tempo, Если б все было так просто, то стали бы разработчики аудиофильских плееров напрягаться лишний раз, разрабатывая Hi-Res драйверы с заточкой под конкретные устройства?

Раньше это действительно было непросто, но за последние два года, с появлением новых стандартов, чипсетов и API это становится все проще. Прорывным стал как раз Андроид 6.0 (API 23), появившийся 2015 году. А сейчас актуален уже API 27. Андроид развивается стремительно.

Изменено пользователем si.tempo

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Даже в устройстве, залоченном на 48KHz, эта функция вернет либо большой список частот, либо пустой массив. Поскольку это частоты не аппаратной опорной частоты, а частоты, допустимые для потоков, передаваемых API.

 

Как Вы понимаете тезис из собственной цитаты?:

 

it is recommended to match the sample rate for AudioRecord and AudioTrack to the endpoint device sample rate

 

Какие две sample rate здесь сопоставляются?

Изменено пользователем IgorA

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

, Ваш диалог с Игорем очень ярко демонстрирует разницу между знатоком и экспертом (без обид))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость si.tempo

@BSV, да что вы, какие обиды)

Есть еще одна разница, я пишу под Андроид, а Игорь, не знаю, похоже, что нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот тест реального, а не воображаемого, 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.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Доступна бета-версия 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.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Игорь, здравствуйте! Порекомендуйте пожалуйста, в каком направлении смотреть. Актуальный рендерер для Linux, PCM output mode. DLNA сервер JRiver.

Решил послушать действительно большой трек (свыше 2 ГБ) DSD 256 и столкнулся с тем, что в режиме Full Memory рендерер вылетает в процессе его декодирования даже без включения Full preloading. В режиме Direct Input воспроизведение осуществляется нормально. Объём ОЗУ источника 8 Гиг, в принципе памяти должно хватаь. Кстати, сразу после прослушивания этого трека в режиме Direct Input удавалось запустить его и в Full Memory. Видимо декодированный трек уже весь находился в ОЗУ и не требовал дальнейшей обработки. "Маленький" трек (400+ МБ) из этого же альбома заускается в Full Memory даже с Full preloading. Видимо моя проблема именно в размере файла.

Прослушиваемые треки Sasha Cooke DSD 256.

 

Понимаю, что прослушивание таких гипертрофированных файлов больше баловство, но спортивный интерес порой берёт верх над здравым смыслом. :?:

С уважением, Юрий.


С уважением, Юрий

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Юрий, здесь проблема не с доступной памятью, а с тем, что декодер библиотеки BASS не может по http протоколу работать с файлами более 2GB, если открывать их именно как файлы. Но можно загружать такие файлы в режиме непрерывной трансляции, в котором для стандартного и Direct Input режимов не будет доступна перемотка. Для этого потребуется добавить при открытии файла проверку на превышение порога в 2GB. В следующем обновлении сделаю.

 

Это относится только к рендереру. В плеере такой проблемы нет, он этот файл в режиме Full Memory воспроизводит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...

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

By using this site, you agree to our Условия использования.