Форум автозвука и установки музыки в автомобиль
Показано с 1 по 10 из 133

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

Комбинированный просмотр

  1. #1
    Активист Бригадир
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 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-удлиннитель до багажника по идее не по зубам. Положил оптику. А как вы собираетесь в случае с многоканальными картами и софтовым процессингом звука к усилителям звук доставлять - для меня пока загадка.


  2. #2
    Ушел в ЛАС Технический директор 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



  3. #3
    Активист Бригадир
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 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
    	}
    }



  4. #4
    Ушел в ЛАС Технический директор 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. Всю обработку при этом отдать на откуп внешнему процессору.


  5. #5
    Активист Бригадир
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 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