Форум автозвука и установки музыки в автомобиль
Страница 5 из 14 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 133

ГУ на андроид - USB DAC - ?? - акустика и саб.

  1. #41
    Ушел в ЛАС Технический директор Array Репутация: лучше не знать Аватар для HoSStiA
    Регистрация
    11.01.2004
    Город/село
    Столиця
    Сообщений
    13,050
    Спасибо (Раздал)
    11289
    Спасибо (Получил)
    14942

    Re: ГУ на андроид - USB DAC - ?? - акустика и саб.

    Цитата Сообщение от aluver Посмотреть сообщение
    Это как? На уровне snd-usb-audio? А в нем разве есть ресэмплер? Я пытался разобраться с параметром device_setup, а также возможностью установки AltSetting при инициализации своей сабры U2..... но безрезультатно....
    Для Sabre U2 по умолчанию AltSetting 1 (16 бит и до 48 кГц), а существует AltSetting 2 (24 бит, до 96кГц). Может быть можно все-таки прописать параметры инициализации USB по vid pid и насильно установить AltSetting 2 ?
    Ресемплер частоты дискретизации (из библиотеки libspeex) в Андродах обычно встраивается как раз в AudioHAL, но так как RockChip исторически затачивались под TV-приставки, в общедоступных SDK принудительный ресемплинг на 44.100 ГЦ как раз отключен. Но если даже сделать интерполяцию с 44.1 на 48 кГц исходной записи, и воспроизвести через такой плеер без ресемплинга через внешнюю звуковую карту, выигрыша в качестве звучания не произойдет.
    Это же касается и разрядности аудиопотока: если оригинал был 16 битным, то принудительный перевод его в 24 или 32 битный формат, кроме двоекратного увеличения размера, никакого выигрыша В качестве не даст.

    Положим, что для более точных манипуляций с коэффициантом усиления 24 бита предпочтительнее 16-ти, в теории. Ничто не мешает аудиокодеку получить на вход 16 слово, и внутри себя преобразовать в 32 битное несколькими инструкциями ассемблера. Это гораздо эффективнее, чем переписать код аудиобиблиотек Андроида. Что он потом будет делать внутри с этими данными - известно только разработчикам. Для экономии ресурсов микроконтроллера с двойной точностью расчитываются только некоторые параметры, которые потом округляются до целых,а динамические данные из буфера обрабатываются через массивы-матрицы преобразований, так что дискретность вычислений внешнего кодека намного выше, чем у любого ARM с VFP-сопроцессором.

    Относительно Sabre U2 - поддержка асинхронных кодеков имплементируется ядром Linux, либо обособленными драйверами как у USB Audio Player Pro. В случае с RK3066 о новых ядрах можно забыть.


  2. # 0+

    Если Вы впервые на нашем Форуме:

    1. Обратите внимание на список полезных тем в первом сообщении.
    2. Термины и наиболее популярные модели в сообщениях подсвечиваются быстрыми подсказками и ссылками на соответствующие статьи в МагВикипедии и Каталоге.
    3. Для изучения Форума не обязательно регистрироваться - практически весь профильный контент, включая файлы, картинки и видео, открыты для гостей.

    С наилучшими пожеланиями,
    Администрация Форума автозвука Магнитола


     

  3. #42
    Энтузиаст Стажер
    Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 2508 Аватар для R6MF49T2
    Регистрация
    15.05.2013
    Город/село
    Великий Новгород
    Сообщений
    45
    Спасибо (Раздал)
    8
    Спасибо (Получил)
    33

    Re: ГУ на андроид - USB DAC - ?? - акустика и саб.

    Цитата Сообщение от HoSStiA Посмотреть сообщение
    Но если даже сделать интерполяцию с 44.1 на 48 кГц исходной записи, и воспроизвести через такой плеер без ресемплинга через внешнюю звуковую карту, выигрыша в качестве звучания не произойдет.
    Это же касается и разрядности аудиопотока: если оригинал был 16 битным, то принудительный перевод его в 24 или 32 битный формат, кроме двоекратного увеличения размера, никакого выигрыша В качестве не даст.
    Зависит от алгоритма ресемплинга и ЦАПа. Но разница вцелом вероятно будет всё же не настьлько несущественна.


  4. #43
    Ушел в ЛАС Технический директор Array Репутация: лучше не знать Аватар для HoSStiA
    Регистрация
    11.01.2004
    Город/село
    Столиця
    Сообщений
    13,050
    Спасибо (Раздал)
    11289
    Спасибо (Получил)
    14942

    Re: ГУ на андроид - USB DAC - ?? - акустика и саб.

    Цитата Сообщение от Shumik Посмотреть сообщение
    Но ведь при прослушивании через сторонние проигрыватели, такие, как USB audio player PRO это не распространяется? Верно? Кстати, я уже привык к нему, даже кнопки на руле понимает, правда звук пока не очень всё таки, никак сабра не доедет...
    Это приложение взаимодействует с известными ему USB-устройствами напрямую.


  5. #44
    Энтузиаст Стажер
    Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 2508 Аватар для R6MF49T2
    Регистрация
    15.05.2013
    Город/село
    Великий Новгород
    Сообщений
    45
    Спасибо (Раздал)
    8
    Спасибо (Получил)
    33

    Re: ГУ на андроид - USB DAC - ?? - акустика и саб.

    Цитата Сообщение от HoSStiA Посмотреть сообщение
    Относительно Sabre U2 - поддержка асинхронных кодеков имплементируется ядром Linux, либо обособленными драйверами как у USB Audio Player Pro. В случае с RK3066 о новых ядрах можно забыть.
    Вот про асинхронную передачу хотелось бы узнать побольше. Асинхронный тип передачи входит в спецификации audio class 1, по идее устройства на андроиде выше 5-ки должны его поддерживать. Так например мойя xperia z в асинхронном режиме работает без проблем. Если я Вас правильно понял не все устройства его поддерживают?


  6. #45
    Ушел в ЛАС Технический директор Array Репутация: лучше не знать Аватар для HoSStiA
    Регистрация
    11.01.2004
    Город/село
    Столиця
    Сообщений
    13,050
    Спасибо (Раздал)
    11289
    Спасибо (Получил)
    14942

    Re: ГУ на андроид - USB DAC - ?? - акустика и саб.

    Цитата Сообщение от R6MF49T2 Посмотреть сообщение
    Вот про асинхронную передачу хотелось бы узнать побольше. Асинхронный тип передачи входит в спецификации audio class 1, по идее устройства на андроиде выше 5-ки должны его поддерживать. Так например мойя xperia z в асинхронном режиме работает без проблем. Если я Вас правильно понял не все устройства его поддерживают?
    Видимо, это предпосылка на использование архитектуры нового поколения ядер совместно с API Level 21 для Android 5.0. Будем считать, что стабильным на сегодняшний день для Вашего устройства является 3.10.49, https://github.com/sonyxperiadev/ker...9.067/Makefile , что, несомненно, открывает широкие возможности к интеграции периферии. Всё что поддерживается ядром - в теории может поддерживать и Андроид, если не были искусственно наложены ограничения (как в коде AOSP, так и в SDK для конкретного устройства - всё очень индивидуально).


  7. #46
    Активист Бригадир
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 66830 Аватар для aluver
    Регистрация
    17.02.2015
    Город/село
    Москва, ЮЗАО
    Сообщений
    581
    Спасибо (Раздал)
    315
    Спасибо (Получил)
    627

    Re: ГУ на андроид - USB DAC - ?? - акустика и саб.

    Цитата Сообщение от HoSStiA Посмотреть сообщение
    Это же касается и разрядности аудиопотока: если оригинал был 16 битным, то принудительный перевод его в 24 или 32 битный формат, кроме двоекратного увеличения размера, никакого выигрыша В качестве не даст.
    Цитата Сообщение от R6MF49T2 Посмотреть сообщение
    Зависит от алгоритма ресемплинга и ЦАПа. Но разница вцелом вероятно будет всё же не настьлько несущественна.
    Господа! Да это все как раз понятно, частоту вообще не трогаем. Упаси Боже! (Андроидный ХАЛ вообще делает ресэмплинг очень криво. Только в лоллипопе его чуточку улучшили).
    Дополнительные разряды необходимы лишь для регулировки громкости без потерь детализации на стороне андроида! Уже язык отсох писать, что каждые -6db отнимают по одному разряду, т.е. на "комфортных" 50% громкости мы слушаем уже не 16 бит, а 10-12. А слух у нас - логарифмический, и он, сабака, "слышит" эту недостачу. А в остальном в машине нам эти 24 бита нужны как в бане... пассатижи (кроме вашего случая - для обработки - фильтры частот и т.д. перед выводом на цап). Машинные шумы, салонные искажения фчх и ачх все равно "похерят" звук гораздо сильнее, чем дает прирост разрядности до 24 бит в исходной записи (а дает он в основном более широкий динамический диапазон). Знаю о чем пишу - "звукорежиссурой" много занимался. =
    Цитата Сообщение от HoSStiA Посмотреть сообщение
    Относительно Sabre U2 - поддержка асинхронных кодеков имплементируется ядром Linux, либо обособленными драйверами как у USB Audio Player Pro. В случае с RK3066 о новых ядрах можно забыть.
    У меня сабра работает как раз в асинхроне на рк3066 (ядро 3.0.36). Асинхрон - это наше все Хотя и ему 5-метровый USB-удлиннитель до багажника по идее не по зубам. Положил оптику. А как вы собираетесь в случае с многоканальными картами и софтовым процессингом звука к усилителям звук доставлять - для меня пока загадка.


  8. #47
    Ушел в ЛАС Технический директор Array Репутация: лучше не знать Аватар для HoSStiA
    Регистрация
    11.01.2004
    Город/село
    Столиця
    Сообщений
    13,050
    Спасибо (Раздал)
    11289
    Спасибо (Получил)
    14942

    Re: ГУ на андроид - USB DAC - ?? - акустика и саб.

    FYI, в обход java-framework'а Андроид можно воспроизвоидить через собственное приложение на OpenSL ES,
    http://habrahabr.ru/post/176933/,
    относительно свободно манипулируя форматом выходного потока
    SLDataFormat_PCM formatPCM = {
    SL_DATAFORMAT_PCM, 1, SL_SAMPLINGRATE_44_1,
    SL_PCMSAMPLEFORMAT_FIXED_16, SL_PCMSAMPLEFORMAT_FIXED_16,
    SL_SPEAKER_FRONT_CENTER, SL_BYTEORDER_LITTLEENDIAN
    };
    Цитата Сообщение от aluver Посмотреть сообщение
    У меня сабра работает как раз в асинхроне на рк3066 (ядро 3.0.36). Асинхрон - это наше все Хотя и ему 5-метровый USB-удлиннитель до багажника по идее не по зубам. Положил оптику. А как вы собираетесь в случае с многоканальными картами и софтовым процессингом звука к усилителям звук доставлять - для меня пока загадка.
    В ALSA это как раз bubble gum, формат выходного потока можно переопределить для определенной карты через plughw, как в конфигурационных файлах, так и в командной строке. Для примера, создаем 8-канальную запись в формате 24-bit из обычной стерео (таблицу кроссировки каналов также можно управлять и микшировать их на лету механизмом ttable, но по умолчанию каналы 2-7 будут пустыми):

    После прочтения съесть!

    hosstia@WerkStatt:~$ arecord -v -Dplughw:CARD=0,DEV=0 -r96000 -c8 -fS24_LE -d 1 ./Музыка/мулти-мульти-каналка-96kHz.wav
    Запись WAVE './Музыка/мулти-мульти-каналка-96kHz.wav' : Signed 24 bit Little Endian, Частота 96000 Гц, Каналы 8
    Plug PCM: Route conversion PCM (sformat=S32_LE)
    Transformation table:
    0 <- 0
    1 <- 1
    2 <- none
    3 <- none
    4 <- none
    5 <- none
    6 <- none
    7 <- none
    Its setup is:
    stream : CAPTURE
    access : RW_INTERLEAVED
    format : S24_LE
    subformat : STD
    channels : 8
    rate : 96000
    exact rate : 96000 (96000/1)
    msbits : 32
    buffer_size : 8192
    period_size : 2048
    period_time : 21333
    tstamp_mode : NONE
    period_step : 1
    avail_min : 2048
    period_event : 0
    start_threshold : 1
    stop_threshold : 8192
    silence_threshold: 0
    silence_size : 0
    boundary : 4611686018427387904
    Slave: Hardware PCM card 0 'HDA Intel' device 0 subdevice 0
    Its setup is:
    stream : CAPTURE
    access : MMAP_INTERLEAVED
    format : S32_LE
    subformat : STD
    channels : 2
    rate : 96000
    exact rate : 96000 (96000/1)
    msbits : 32
    buffer_size : 8192
    period_size : 2048
    period_time : 21333
    tstamp_mode : NONE
    period_step : 1
    avail_min : 2048
    period_event : 0
    start_threshold : 1
    stop_threshold : 8192
    silence_threshold: 0
    silence_size : 0
    boundary : 4611686018427387904
    appl_ptr : 0
    hw_ptr : 0

    А теперь воспроизведем эту запись. К сожалению, карта тоже стерео, и возьмется воспроизводить только 2 первые канала (в которых можно сформировать и микс вместе с оставшимися 6-ю):

    После прочтения съесть!

    hosstia@WerkStatt:~$ aplay -v -Dplughw:CARD=0,DEV=0 -c 8 ./Музыка/мулти-мульти-каналка-96kHz.wav
    Воспроизведение WAVE './Музыка/мулти-мульти-каналка-96kHz.wav' : Signed 24 bit Little Endian, Частота 96000 Гц, Каналы 8
    Plug PCM: Route conversion PCM (sformat=S32_LE)
    Transformation table:
    0 <- 0
    1 <- 1
    Its setup is:
    stream : PLAYBACK
    access : RW_INTERLEAVED
    format : S24_LE
    subformat : STD
    channels : 8
    rate : 96000
    exact rate : 96000 (96000/1)
    msbits : 32
    buffer_size : 8192
    period_size : 2048
    period_time : 21333
    tstamp_mode : NONE
    period_step : 1
    avail_min : 2048
    period_event : 0
    start_threshold : 8192
    stop_threshold : 8192
    silence_threshold: 0
    silence_size : 0
    boundary : 4611686018427387904
    Slave: Hardware PCM card 0 'HDA Intel' device 0 subdevice 0
    Its setup is:
    stream : PLAYBACK
    access : MMAP_INTERLEAVED
    format : S32_LE
    subformat : STD
    channels : 2
    rate : 96000
    exact rate : 96000 (96000/1)
    msbits : 32
    buffer_size : 8192
    period_size : 2048
    period_time : 21333
    tstamp_mode : NONE
    period_step : 1
    avail_min : 2048
    period_event : 0
    start_threshold : 8192
    stop_threshold : 8192
    silence_threshold: 0
    silence_size : 0
    boundary : 4611686018427387904
    appl_ptr : 0
    hw_ptr : 0



  9. #48
    Активист Бригадир
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 66830 Аватар для aluver
    Регистрация
    17.02.2015
    Город/село
    Москва, ЮЗАО
    Сообщений
    581
    Спасибо (Раздал)
    315
    Спасибо (Получил)
    627

    Re: ГУ на андроид - USB DAC - ?? - акустика и саб.

    Цитата Сообщение от HoSStiA Посмотреть сообщение
    В ALSA это как раз bubble gum, формат выходного потока можно переопределить для определенной карты через plughw, как в конфигурационных файлах, так и в командной строке.
    Я пробовал вот это писать в asound.conf для своей сабры (видится альсой под именем Audio):

    После прочтения съесть!

    Код:
    pcm.Audio {
    	type plug
    	slave {
    		pcm "Audio,0"
    		channels 2
    		format S24_3LE
    		rate 96000
    	}
    }
    
    ctl.Audio {
    	type hw
    	card Audio
    }
    
    pcm.music {
    	type plug
    	slave {
    		pcm "Audio,0"
    		channels 2
    		format S24_3LE
    		rate 96000
    	}
    }
    
    pcm.sample_rate_96k {
    	type plug
    	slave {
    		pcm "hw:Audio,0"
    		channels 2
    		rate 96000
    	}
    }



  10. #49
    Ушел в ЛАС Технический директор Array Репутация: лучше не знать Аватар для HoSStiA
    Регистрация
    11.01.2004
    Город/село
    Столиця
    Сообщений
    13,050
    Спасибо (Раздал)
    11289
    Спасибо (Получил)
    14942

    Re: ГУ на андроид - USB DAC - ?? - акустика и саб.

    Цитата Сообщение от aluver Посмотреть сообщение
    Я пробовал вот это писать в asound.conf для своей сабры (видится альсой под именем Audio):
    В целом начинаю понимать, в чем основная проблема. Процедуру диагностики добавил в более подходящую тему:
    Android 24 bit/96 kHz

    Вне зависимости от типа подключения: I2S, USB или даже виртуального, кодек работает в режиме slave, и мастер-устройство должно самостоятельно определить, в каком формате данные PCM ему могут быть переданы. В случае USB это можно было бы определить по дескрипторам устройства. Если мастер попытается инициализировать поток в не поддерживаемом звуковым адаптером формате, тот ответит отказом (ошибкой).

    Так как Android прежде всего ориентирован на SoC, и пользователям подобных устройств вполне достаточно качества CD (16bit + 44100 кГц), то решение жестко ограничить этим форматом большинство устройств, в целом, обосновано, так как его сейчас поддерживают, пожалуй, все выпускаемые для платформы Android SoC. Это позволило не только использовать вместо довольно тяжелых библиотек libalsa более компактную tinyalsa, но и обеспечить стабильную работу аудиокомпоненты принудительным преобразованием выходного потока к данному формату. Поэтому ресемплер libspeex используется в AudioHAL обособленно (и может быть легко включен/отключен), а в системах с полной ALSA нет необходимости собирать libalsa с этим же ресемплером.

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

    Самое простое для Andoida High-End решение, это все-таки остается вывод через (HDMI + внешний предобразователь SPDIF) или напрямую (SPDIF, когда есть на борту) аудиоданных в LPCM или RAW формате. Это могут некоторые современные медиа-плееры, в т.ч. на RockChip и AmLogic, это могли уже и старые приставки на RealTek. Всю обработку при этом отдать на откуп внешнему процессору.


  11. #50
    Активист Бригадир
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 66830 Аватар для aluver
    Регистрация
    17.02.2015
    Город/село
    Москва, ЮЗАО
    Сообщений
    581
    Спасибо (Раздал)
    315
    Спасибо (Получил)
    627

    Re: ГУ на андроид - USB DAC - ?? - акустика и саб.

    Цитата Сообщение от HoSStiA Посмотреть сообщение
    Самое простое для Andoida High-End решение, это все-таки остается вывод через (HDMI + внешний предобразователь SPDIF) или напрямую (SPDIF, когда есть на борту)
    С этого я и начинал свои поиски способа вывода цифры из своего ГУ на рокчипе. Но мне не повезло - китайцы ни того, ни другого не вывели с чипа на плату. Без вариантов...
    http://4pda.ru/forum/index.php?showt...ost&p=37146337
    HDMI этого ГУ "показывает" только DVD, но к андроиду это никакого отношения не имеет.
    Может китайцы в перспективе и исправятся... Народ уже меняет андроидные платы в своих ГУ - рк3066 на рк3188 например... может доживем до версий на рк3288, кто знает.... апгрейд и лоллипоп решат проблему.


Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
  cc by-nc-sa