Re: Android 24 bit/96 kHz
Проверил свою сабру u2 - играет 24 бита. Но вот апсемплить из 16 отказывается, т.к. нет ресэмплера. Что посоветуете? Собирать альсу из исходников или все же есть надежда найти готовый бинарник для rk3066? Является ли альса платформозависимой? А Сборку с ladspa не попробовать ли мне?
Re: Android 24 bit/96 kHz
Цитата:
Сообщение от
aluver Проверил свою сабру u2 - играет 24 бита. Но вот апсемплить из 16 отказывается, т.к. нет ресэмплера. Что посоветуете? Собирать альсу из исходников или все же есть надежда найти готовый бинарник для rk3066? Является ли альса платформозависимой? А Сборку с ladspa не попробовать ли мне?
Ресемплер встраивается в /system/lib/hw/audio.primary.rk30board.so при условии, что собрана и работоспособна библиотека /system/lib/libspeex.so (её также можно собрать из externals/speex, добавив в дерево устройства перед сборкой). Бинарники для начала проще попробовать и посмотреть,на что ругаться будут.
LADSPA хороша для фильтров и задержек, но для ресемплинга вроде не подходит. есличо
Re: Android 24 bit/96 kHz
Нашёл у себя в текущей прошивке libspeexresampler.so libspeexwrapper_ub.210303130.so libspeexwrapper_ub.210304060.so
Думаю эта приставка к врапперу двух версий - ненужный паравоз, нуждающийся в обрезании. Что делать? :thank_you2:
Re: Android 24 bit/96 kHz
Цитата:
Сообщение от
aluver Нашёл у себя в текущей прошивке libspeexresampler.so libspeexwrapper_ub.210303130.so libspeexwrapper_ub.210304060.so
Думаю эта приставка к врапперу двух версий - ненужный паравоз, нуждающийся в обрезании. Что делать? :thank_you2:
Далее по документации http://www.speex.org/docs/manual/speex-manual/ необходимо определить, какие функции из найденых библиотек могут быть полезны для реализации недостающего функционала.
Следующий шаг - расширить библиотеку AudioHAL собственным кодом, исходя из поставленной задачи ( к примеру, безусловнр конвертировать весь output-поток на USB-устройства в 24-bit).
Самый сложный шаг - это сборка в среде SDK Android для rk30 с параллельной отладкой, т.к. библиотека собирается для существующей прошивки с неизвестной исходной конфигурацей android device-tree, так как зависимые библиотеки придется выгружать из прошивки в SDK и вручную линковать при сборке. Зависимости можно отслеживать как по сообщениям в logcat при пробных запусках, так и непосредственно по функциям в исходном коде. Задача нетривиальная и, в общем-то, разовая.
Re: Android 24 bit/96 kHz
Цитата:
Сообщение от
dyno Поставил, но на выходе 48кГц...
Есть что-то бесплатное или триал, чтоб вывести через OTG поток 24/96? Нужен на пару секунд для теста.
Дело было не в бобине...
Просто адаптер на РСМ 2704 кроме как 16/48 и ниже - не умеет.
Поиски конвртера USB-TOSLINKпродолжаются (для 24/96 естественно).
К вопросу о громкости - им будет рулить HX-D2.
К вопросу о системных звуках и т.д. - у меня есть место на панели под центральный канал так называемый, планирую вывести на него аудиосигнал системный,если понадобится.
---------- Сообщение добавлено 17.02.2016 в 00:52 ----------
Цитата:
Сообщение от
Rover
Программа закончена? ;) Где-то можно уже почитать про "свадьбу" и её результаты?
Re: Android 24 bit/96 kHz
Цитата:
Сообщение от
HoSStiA Ставили Нетрон, но сходу не нашли там соответствующих настроек. По умолчанию все равно происходит downsampling до 16/44.1, как и с другими плеерами.
---------- Сообщение добавлено 20.01.2014 в 12:13 ----------
Убираем непонятно зачем оставленный ранее ресемплер из audio.primary.exDroid.so
Заменяем "неправильную" команду на правильную. есличо
Код:
// out->pcm = pcm_open_req(card, port, PCM_OUT | PCM_MMAP | PCM_NOIRQ, &out->config, DEFAULT_OUT_SAMPLING_RATE);
out->pcm = pcm_open_req(card, port, PCM_OUT | PCM_MMAP | PCM_NOIRQ, &out->config, out->config.rate);
if (!pcm_is_ready(out->pcm)) {
LOGE("cannot open pcm_out driver: %s", pcm_get_error(out->pcm));
pcm_close(out->pcm);
adev->active_output = NULL;
return -ENOMEM;
}
if (adev->echo_reference != NULL)
out->echo_reference = adev->echo_reference;
/*
if (DEFAULT_OUT_SAMPLING_RATE != out->config.rate)
{
ret = create_resampler(DEFAULT_OUT_SAMPLING_RATE,
out->config.rate,
2,
RESAMPLER_QUALITY_DEFAULT,
NULL,
&out->resampler);
if (ret != 0)
{
LOGE("create out resampler failed, %d -> %d", DEFAULT_OUT_SAMPLING_RATE, out->config.rate);
return ret;
}
LOGV("create out resampler OK, %d -> %d", DEFAULT_OUT_SAMPLING_RATE, out->config.rate);
}
else
{
LOGV("do not use out resampler");
}
if (out->resampler)
{
out->resampler->reset(out->resampler);
}
*/
---------- Сообщение добавлено 20.01.2014 в 15:03 ----------
Штатный плеер, пока "в точку":
Код:
I/InputReader( 164): Device added: id=7, name='C-Media Electronics Inc. USB Advanced Audio Device', sources=0x00000101
D/audio_hw_primary( 85): start_output_stream: card:1, port:0, rate:48000
root@android:/proc/asound/card1 # cat stream0
C-Media Electronics Inc. USB Advanced Audio Device at usb-sw_hcd_host0-1, full : USB Audio
Playback:
Status: Running
Interface = 1
Altset = 1
URBs = 3 [ 8 8 8 ]
Packet Size = 200
Momentary freq = 48000 Hz (0x30.0000)
Interface 1
Altset 1
Format: S16_LE
Channels: 2
Endpoint: 1 OUT (ADAPTIVE)
Rates: 8000, 16000, 44100, 48000
Проверяем работу в режиме 16bit/48кГц
Код:
root@android:/proc/asound/card1 # cat stream0
Creative Technology Ltd SB Audigy 2 NX at usb-sw_hcd_host0-1, high speed : USB Audio
Status: Running
Interface = 1
Altset = 3
URBs = 3 [ 8 8 8 ]
Packet Size = 196
Momentary freq = 48051 Hz (0x6.01a2)
Feedback Format = 16.16
и
24bit/48кГц
Код:
Playback:
Status: Running
Interface = 1
Altset = 4
URBs = 3 [ 8 8 8 ]
Packet Size = 294
Momentary freq = 48050 Hz (0x6.019b)
Feedback Format = 16.16
Соответственно, и протокол как бы выдержан
Этот способ поднять выход аудио на 24/48 применим к андроид 4.4.2 на Allwinner A7 R16?
Думаю,что путь изменения ПО для увеличения качества выходного сигнала аудио из андроида самый прагматичный.В моём случае,имея штатную JBL Premium audio систему в автомобиле и установленную ГУ на андроиде,которую в совместной разработке с Китами ,удалось подключить к системам авто ,что бы всё заработало, начинать вставлять в систему внешние ДСП и ЦАП кажется очень трудно реализуемым!Я предвижу ряд осложнений,которые могут дать отрицательный результат,вместо ожидаемой цели: наслаждения Hi-Res audio!
---------- Сообщение добавлено 26.05.2017 в 16:55 ----------
Кто нибудь из спецов программно смог повысить параметры выходного аудио сигнала из Андроида?
Как изменить на устройстве выходящий сигнал с 44,1/16 на 48/16?
Re: Android 24 bit/96 kHz
Изучайте содержание /etc/audio_policy.conf - там все понятно.
Если задача повысить разрешение на штатном кодеке гу, то это бессмысленная затея в виду его аппаратных ограничений.
Вы не заставите его переваривать частоты и битность, которые он не поддерживает.
Единственный вариант - usb-dac или конвертер usb-spdif.
Но опять же микшер андроид 4.4 уменьшит разрешение вашего хай-реза, прежде чем вывести звук на устройство.
Без исходников ядра это не исправить. На китай-гу исходников ни у кого нет.
Так что ставить директ-плеер - единственно правильный выход. Но звук на usb будет только от него. Пробуйте USB Audio Player Pro и другие.
Re: Android 24 bit/96 kHz
Цитата:
Сообщение от
aluver Изучайте содержание /etc/audio_policy.conf - там все понятно.
Если задача повысить разрешение на штатном кодеке гу, то это бессмысленная затея в виду его аппаратных ограничений.
Вы не заставите его переваривать частоты и битность, которые он не поддерживает.
Единственный вариант - usb-dac или конвертер usb-spdif.
Но опять же микшер андроид 4.4 уменьшит разрешение вашего хай-реза, прежде чем вывести звук на устройство.
Без исходников ядра это не исправить. На китай-гу исходников ни у кого нет.
Так что ставить директ-плеер - единственно правильный выход. Но звук на usb будет только от него. Пробуйте USB Audio Player Pro и другие.
А можно хотя бы изменить на моём устройстве выходящий сигнал с 44,1/16 на 48/16? От чего это зависит?
А как относитесь к этому проекту? Здесь перестраивается ядро системы.
ARISE Sound Systems ™ - слуховые Исследования в области Sound Enhancement - Magnum Opus 20170506
https://forum.xda-developers.com/and...arch-t3379709#
Re: Android 24 bit/96 kHz
Вопрос:
Цитата:
Сообщение от
Repiir А можно хотя бы изменить на моём устройстве выходящий сигнал с 44,1/16 на 48/16?
Ответ:
Цитата:
Сообщение от
aluver Изучайте содержание /etc/audio_policy.conf - там все понятно.
Вопрос:
Цитата:
Сообщение от
Repiir От чего это зависит?
Ответ:
Цитата:
Сообщение от
aluver Если задача повысить разрешение на штатном кодеке гу, то это бессмысленная затея в виду его аппаратных ограничений.
Вы не заставите его переваривать частоты и битность, которые он не поддерживает
Вы для себя решите, ЗАЧЕМ поднимать частоту? Может быть ваш кодек и поддерживает 48/16. Но на выходе кодека ГУ у вас будет аналоговый сигнал, так? Все аудиотреки в 44.1/16 записаны, поэтому андроид будет своим корявым ресемплером поганить звук при конвертации в 48/16. В итоге вы сделаете только хуже.
Цитата:
Сообщение от
Repiir А как относитесь к этому проекту?
отношусь хорошо, но прикрутить к китай-гу чужое ядро не выйдет.
исходя из описания, кривые руки и сотня библиотек ненормативного испоганивания звука НЕ сделают звук ЛУЧШЕ.
Re: Android 24 bit/96 kHz
Если взять Поверамп и прибить ему верхнюю планку 24/96, он всё будет гнать в этом виде. И системные звуки будут по цифре. Вопрос только в достаточности мощности вычислительной у девайса.