Возник вопрос: как подцепить HiFiMeDIY Sabre U2 к андроид смартфону? Нужно какой то переходник с разъема смартфона с выходом USB? Или какой то хаб?
И еще вопрос юзеру aluver: У вас в подписи указано "ГУ RK3066 Android 4.4.4 -> HiFiMeDIY Sabre U2 24/96 Async USB-DAC -> toslink -> Рязаньприбор X1 mkII (w/mod DSP X5 8channels) -> Focal Performance PS165FX, P25F(ЗЯ)+Pioneer GM-D8601", как удалось подцепить HiFiMeDIY Sabre U2 24/96 Async USB-DAC к Рязаньприбор по оптике? Он же имеет выход 3,5 под наушники, или это не тот DAC?
03.01.2016, 00:46
HoSStiA
Вложений: 1
Re: USB DAC и USB Audio для Android
Цитата:
Сообщение от aluver
Жаль... в случае с AC3 & DTS он их отправит на spdif в недекодированном виде, то есть неизменно... По крайней мере кино можно посмотреть
Преобразование WAV/RAW 2ch в PCM 2ch происходит по алгоритмам из одной библиотеки, что AC3 и DTS после "расщепления" видео и аудио ряда (DEMUX).
Список декодеров устанавливается в файлах /system/etc/media_codecs*.xml.
Стандартная конфигурация для 4.4.2 даже не определяет конкретного для "audio/wav", т.е. используется декодер по усмотрению плеера (?):
в функции AudioSystem::getSamplingRate из frameworks/av/media/libmedia/AudioSystem.cpp
---------- Сообщение добавлено 03.01.2016 в 00:56 ----------
Цитата:
Сообщение от linelect
Возник вопрос: как подцепить HiFiMeDIY Sabre U2 к андроид смартфону? Нужно какой то переходник с разъема смартфона с выходом USB? Или какой то хаб?
Для обычного смартфона буде достаточно обычного USB OTG кабеля Вложение 923564
---------- Сообщение добавлено 03.01.2016 в 01:15 ----------
Цитата:
Сообщение от HoSStiA
Сейчас интересно проверить присвоенное значение
Код:
outputDesc = AudioSystem::gOutputs.valueFor(output);
...
*samplingRate = outputDesc->samplingRate;
в функции AudioSystem::getSamplingRate из frameworks/av/media/libmedia/AudioSystem.cpp
И понять, почему происходит свистопляска между передаваемым из AudioTrack и назначаемым значениями в этой функции:
По USB OTG уже HoSStiA ответил. Единственное, не все смартфоны обладают функцией USB-Host. Надо проверить Ваш заранее, т.к. без него работать не будет.
Дежавю - оказывается, в этой же теме все уже написано, причем мною же http://magnitola.org/usb-audio-dac-a...ml#post3142480 :)
---------- Сообщение добавлено 03.01.2016 в 12:06 ----------
Цитата:
Сообщение от HoSStiA
Цитата Сообщение от aluver Посмотреть сообщение
Жаль... в случае с AC3 & DTS он их отправит на spdif в недекодированном виде, то есть неизменно... По крайней мере кино можно посмотреть
Преобразование WAV/RAW 2ch в PCM 2ch происходит по алгоритмам из одной библиотеки, что AC3 и DTS после "расщепления" видео и аудио ряда (DEMUX).
Это я уяснил. Я имел в виду, что должно быть возможным заставить потоки AC3 и DTS уходить на spdif без декодирования в PCM. Для фильмового многоканала например.
Цитата:
Сообщение от HoSStiA
Если вы WAV-декодирование не поддерживалось по умолчанию, пришлось бы добавить строку
<MediaCodec name="OMX.google.raw.decoder" type="audio/raw" />
А что будет, если все-таки добавить? Не подхватится гугло-декодером?
И не забыть еще про соответствующую строчку в cfg
Цитата:
Сообщение от HoSStiA
Для примера, в Андроиде 5.1 RK предлагается более "тонкая настройка":
вот. тут-то зачем-то они ее забили... значит должно и в 4.4 подхватиться.
Цитата:
Сообщение от HoSStiA
Сейчас интересно проверить присвоенное значение
как я понял, outputDesc назначаются параметры потока, которые установлены для модуля конечного вывода звуковой подсистемы, коим у нас является alsa (???)
и уже из этих параметров выдирается значение частоты семплирования...
изначально по коду выше, откуда берется значение AudioSystem::gOutputs.valueFor(output) ?
может не туда, но в альсе есть еще одно место, где забита частота по умолчанию: alsa.conf - тот, что в user/share
и хоть она там для dmix, но кто его знает, как оно может повлиять...
03.01.2016, 13:23
linelect
Re: USB DAC и USB Audio для Android
Цитата:
Сообщение от aluver
ну раз гугл в Киеве отключили, поработаю за него :)
этот выход двойного назначения - и аналоговый, и оптический цифровой. чтобы задействовать последний, необходим переходник miniToslink->Toslink
По USB OTG уже HoSStiA ответил. Единственное, не все смартфоны обладают функцией USB-Host. Надо проверить Ваш заранее, т.к. без него работать не будет.
Дежавю - оказывается, в этой же теме все уже написано, причем мною же http://magnitola.org/usb-audio-dac-a...ml#post3142480 :)
Спасибо, извините за неудобства. Прочитал много страниц этой темы, но или пропустил, или не понял про что идет речь, напоролся на недостаток форума как источника информации.
А по USB OTG вопрос возник потому как на сайте hifimediy есть еще вариант специально под Андроид смартфоны и работоспособность Sabre U2 с андроидом была под сомнением.
04.01.2016, 18:28
HoSStiA
Вложений: 2
Re: USB DAC и USB Audio для Android
Цитата:
Сообщение от aluver
может не туда, но в альсе есть еще одно место, где забита частота по умолчанию: alsa.conf - тот, что в user/share
и хоть она там для dmix, но кто его знает, как оно может повлиять...
Был бы возможен dmix на RockChip без танцев с бубном, то можно было бы пойти именно этим путем.
Хардкод, и только хардкод. У данной системы нет конфигурационных файлов или параметров, через которые можно переназначить частоту дискретизации по умолчанию для AudioHAL. Для RockChip она принята в 44100 Гц. Cхожие плеера следующего поколения на процессорах AmLogic используют уже 48000 Гц.
Сервис AudioFlinger получает системную частоту дискретизации по параметрам, назначаемым в AudioHAL. Как видно, есть определение ALSA_DEFAULT_SAMPLE_RATE , но программисты предпочли не использовать его повсеместно.
AudioSystem запрашивает AudioFlinger о текущей частоте дискретизации, а остальные приложения уже ориентируются на то, что им назначит AudioSystem.
С воспроизведением исходного материала с ч.д. 48000 Гц более нареканий не вызывает.
Экстраполяция из 44100 Гц к 48000 Гц тоже видится корректной, но необходим пересчет всех связанных с частотой дискретизации 44100 параметров. Возможно не только в AudioHAL, но и системных приложениях. Так как из найденных уже недостатков - обрыв воспроизведения на последней секунде из-за некорректного расчета общего времени воспроизведения трека. Вложение 924008Вложение 924010
На скриншотах: верхняя пара каналов - запись через S/PDIF, нижняя - импортированный исходный материал.
04.01.2016, 22:54
aluver
Re: USB DAC и USB Audio для Android
Цитата:
Сообщение от HoSStiA
С воспроизведением исходного материала с ч.д. 48000 Гц более нареканий не вызывает.
помедленнее... - я записссывую... (c) )))
Я что-то нить потерял - это после каких изменений? Этих?
Код:
+ mHandle->sampleRate = 48000
Либы альсы заменил или сам пересобирал?
Это после этого стало из 44 в 48 с обрывом последней секунды гнать или еще какие-то изменения были?
Кстати, вот эта проблема восстановления конфигурации альсы после сна не решилась на примере Allwinner A10? А то на моем ГУ после сна настройки громкости теряются после реинициализации USB-DAC. Сам режим сна не пользую, а вот мировое сообщество на xda требует ответа :)
Цитата:
Сообщение от HoSStiA
... при отключенном питании планшет засыпает через несколько минут отсутствия активности в целях экономии батареи. Соответственно, "засыпают" и устройства, подключенные по USB, т.к. они потребляют 5V питания.
При возвращении из сна система восстанавливает свое состояние, последовательно переподключая устройства. Но так как моя сборка не знает команды alsa_ctl restore, чтобы прочитать конфигурацию микшера из файла /etc/asound.state,
а в Андроиде, ко всему прочему, отсутствует механизм запуска сервисов по выходу из сна из /etc/pm/sleep.d/ (как в полных Linux), то необходимо найти альтернативный способ повторить команду
/system/xbin/alsa_amixer -c 2 sset 'Digital',0 on
после пробуждения, либо сделать средствами конфигурации,
/system/usr/share/alsa/alsa.conf или ~/.asoundrc,
включенным Digital при инициализации карты.
Если решено, то примерно как?
05.01.2016, 18:02
HoSStiA
Re: USB DAC и USB Audio для Android
Цитата:
Сообщение от aluver
помедленнее... - я записссывую... (c)
Я что-то нить потерял - это после каких изменений? Этих?
Выше патч с двумя изменениями, которые "запустили" AudioFlinger требуемым образом.
Оригинальный код библиотеки взят отсюда.
Цитата:
Сообщение от aluver
mHandle->sampleRate = 48000
Здесь по феншую должно быть что-то вроде
Код:
mHandle->sampleRate = DEFAULT_SAMPLE_RATE
, но автор успокоился на достигнутом. Следовательно, дальше нужно проверять все расчеты, которые делались для 44100 и принимались как константы.
Цитата:
Сообщение от aluver
Это после этого стало из 44 в 48 с обрывом последней секунды гнать или еще какие-то изменения были?
В /system/etc/audio_policy.conf для S/PDIF и HDMI оставил только 48000,
также для spdif_passthrough изменил
devices AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET
на
devices AUDIO_DEVICE_OUT_AUX_DIGITAL
А то на моем ГУ после сна настройки громкости теряются после реинициализации USB-DAC. Сам режим сна не пользую, а вот мировое сообщество на xda требует ответа
Думаю, для таких случаев необходимо в полной мере реализовать alsactl, и запускать при монтировании и выключении устройства с параметрами restore и store соответственно, как это можно делать в linux:
На RockChip не сталкивался остро с этой проблемой.
11.01.2016, 13:37
DaveMF
Re: USB DAC и USB Audio для Android
Внимательно слежу за темой. На Radxa Rock2 тоже косяки со звуком, в андроид 4.4.2 standby всех звуковых выходов включается через 2 секунды и присутствует щелчок (на Radxa PRO и firefly-rk3288 аналогично). А вот в андроид 5.1.1 оптика ведет себя также, а minijack это полный ужас, standby включается мгновенно, так что между песнями (даже между двойным щелчком мышки при воспроизведении звука нажатия клавиш) успевает заснуть и проснуться с очень сильными щелчками. И при этом идет автоматическое переключение выходов HDMI/SPDI/minijack, т.е воткнули наушники, автоматически включается minijack и при этом отключается штатный микрофон на плате.
В исходниках структура совсем другая, MediaDecoder.cfg в прошивке нет. И в исходниках файлов раза в 2 больше, могу скинуть на мыло или куда еще...
---------- Сообщение добавлено 11.01.2016 в 20:30 ----------
А еще вопрос, а через плеер Neutron Musik Player пробовали звук выводить на USB DAC? У плеера есть настройка - "Прямой доступ к USB" - Разрешить прямой доступ к USB чтобы обойти возможные ограничения выходного формата OC. Просто у меня нет юсбшного ЦАПа, интересно реально работает или брехня???
12.01.2016, 23:54
MSMaster
Re: USB DAC и USB Audio для Android
Цитата:
Сообщение от DaveMF
А еще вопрос, а через плеер Neutron Musik Player пробовали звук выводить на USB DAC? У плеера есть настройка - "Прямой доступ к USB" - Разрешить прямой доступ к USB чтобы обойти возможные ограничения выходного формата OC.
Прямой доступ с Нейтрона отлично всё работает. Можно задать частоту вывода. Я вывожу 24/48 . DSD можно слушать, качество очень неплохое.
13.01.2016, 00:22
DaveMF
Re: USB DAC и USB Audio для Android
Цитата:
Сообщение от MSMaster
Прямой доступ с Нейтрона отлично всё работает. Можно задать частоту вывода. Я вывожу 24/48 . DSD можно слушать, качество очень неплохое.
А на каком чипе у вас андроид комп? Просто в последних постах обсуждалось что у рокчипа заблокировано на 16/44100. Вот и думаю на нем через прямой доступ чтото изменится или нет