Как улучшить звук андроид автомагнитолы

Улучшить звук китайской Android магнитолы

#1 Оффлайн faddist

Кавалер ордена флейма

  • Форумец
  • 930 Сообщений:
    • Авто: FF2

    В общем давно хотел попробовать 2din андроид магнитолу, чтобы и навигация и яндекс музыка и блютуз.
    Я не меломан: музыка чаще всего играет в качестве фона и негромко, но пару тройку раз в год хочется послушать и на максимум.
    Предыдущая магнитола kenwood ddx52ry со штатной акустикой ff2 полностью устраивала по качеству звука.
    Я понимал что качество звука на андроид магнитоле будет сильно хуже, если её цена менее 30 тысяч, да и то.
    Но начал видеть кучу отзывов что звук не так уж плох и тут повернулся swat AHR-7040. В принципе во всем он средний, но вот качество звука. На громкости чуть выше средней начинается треск из колонок (все подключено правильно)
    Разобрав его увидел что на усилителе нет никакой маркировки. Читаю в интернета, что есть те кто перепаивает усилитель и качество звука становиться отличным (но есть и те которым это не помогает)
    Вопрос: есть спецы кто успешно улучшал звук на таких штуковина? Может быть можно переселить усилок со старого 1din pioneer?

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

    ЗЗЫ была идея попробовать поставить 4х канальный усилок (в этой магнитоле есть тюльпаны), но место есть только в панели за магнитолой, а сами усилки обычно больших размеров, что туда не залезу.

    Изменено: faddist, 19.08.2020 — 09:26

    Источник

    Как улучшить звук андроид автомагнитолы

    Аппаратные и программные доработки ГУ ML-CK1018 и аналогичных на платах YT9213-18 YT9260 (процессор AC8227L)
    YT9213 YT9216 YT9217 YT9218 YT9260
    Обсуждение » YT9213 YT9216-18 YT9218DL DSP

    В теме не обсуждается как прошить, как починить кирпич, «помогите сломал». Только «технический флуд» по усовершенствованию ГУ

    Операционная система: Android 6.0 версия API 23 ( 8.1GO — фейк)

    Процессор: АС8227L 4 ядра 1,2 ГГц
    Оперативная память: 1/2 Гб
    Встроенная память: 16/32 Гб

    Размер дисплея: 7″/9″/10″
    Разрешение дисплея: 600*1024
    Тачскрин: емкостный

    Усилитель (УНЧ): TDA7388/AC7315
    Выходная мощность: 4*60 Вт

    WiFi: ЕСТЬ
    BT: ЕСТЬ (работает как гарнитура; подключение OBD сканера)

    USB: 2шт
    Разъем для MicroSD: НЕТ (в FAQ описана возможность установки)
    GPS: ЕСТЬ
    AV-Out (подключение к монитору подголовника)
    Подключение камеры заднего вида: ЕСТЬ

    Язык интерфейса: английский, русский, немецкий, французский и другие 50 языков.

    Устройства (ГУ) должны содержать на борту следующие чипы :
    процессор андроида — АС/МТ 8227L
    питание и кодек MT6323
    аудиопроцессор — TDA7729 (TDA7719 , CSC37033 , SCS37534)
    DSP ADAU1701(1401)
    блютуз — MT6625
    радио — NXP A5105(NXP6851?)
    контроллер MCU — STM32F030C8T6
    У устройств YT9216 , YT9217 отсутствует чип радио NXP6851 (A5105) — используется встроенное радио в комбочипе MT6625.
    Основное — процессор , MCU, кобмочип MT6625 , питание, остальные чипы могут иметь различные комбинации . или 7729 , или dsp или ни того ни другого ! Также не имеет значения горизонтальный или вертикальный экран

    Убедительная просьба, если нет опыта , нет уверенности и понимания что ты делаешь, НЕ НУЖНО пытаться сделать описываемое тут самостоятельно! Обратитесь к специалистам! Имеющим необходимый инструмент и опыт!
    В теме нет куратора. По вопросам наполнения шапки обращайтесь к модераторам раздела через кнопку «Жалоба» под сообщениями, на которые необходимо добавить ссылки.

    Сообщение отредактировал Stranger21ufa — 20.10.21, 18:19

    Судя по всему это обработчик потери фокуса , и как раз нужный нам для приглушения AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK делает все равно тоже самое что и потеря фокуса Без приглушения — код одинаковый !
    Как бы это изменить так чтобы оно стало нормально приглушать ?
    Попробовал разобрать приложение GalaMusiс это вроде как плеер наш , но или оно както у меня разбирается с ошибками и не полностью .. или . но вопщем я там не нахожу этих строк (
    А так бы подсмотреть как сделано там и сделать также в радио ! и может быть оно станет нормально притухать !
    А по этому коду получается как раз оно отключает на 1 сек и снова включается , что у меня и было с 7729 , но прошло после перехода на DSP , что странно конечно тоже )

    Читайте также:  Прошивка для xiaomi redmi note 7 чистый андроид

    И да , чем блин его потом собирать с этого нормально читаемого языка ? , работаю в batchapktool , но его декомпилятор делает текст не понимаемый почти глазу ) но зато собирает его назад без проблем ) .. я конечно немного понимаю уже и тот текст ..
    Но блин очень тяжело )
    Нужен програмист )

    Stranger21ufa,

    Этой прогой можно хорошо коды посмотреть, ставится на ГУ
    и можешь редактировать АПК.

    Смотрел сегодня logcat с ключём fm .
    Так вот там есть записи, когда говорит Алиса, там есть fm_mute и fm_volume =0
    И радио замолкает
    Когда говорит Оксана, то есть в логе fm_volume =0.5 но радио ноль эмоций. Вероятно он просто игнорирует так как нет в коде обработки.

    В приложении плеера, сделано не через аудиоменеджер.
    Там через сообщения оболочки видимо сделано. И есть обработка приглушения.
    Я могу попробовать этот код перенести в радио. Но в Ява коде не знаю как.
    В смали тяжело. Но думаю тоже можно попробовать.
    На ходу в магнитоле трудно. Да и тормозит она. Я поставил одну прогу которая вроде тоже разбирает приложение.

    Сообщение отредактировал Stranger21ufa — 05.07.20, 21:09

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

    Идея такая . в логе я вижу что есть у него какойто прям отдельный поток FM и он идет по шине i2S . И это прям реализовано на уровне звуковых библиотек . в ALSA
    Есть предположение , которое многое обьяснит
    с 6625 выходит шина i2S , и я вот не знаком с ней подробно — кто знает подскажите, и она физически соединяет все устройства , на ней висит и центральный проц , и 6625 и 6323 . в моем случае уже висит еще и DSP .
    Итого дроид только запускает поток с 6625 , а потом его уже просто декодирует или 6323 или dsp . При этом звуки дроида , просто в эту же шину подкидываются паралельно !
    Поэтому управлять , типо того чтобы приглушить , скорее всего не получится , так как приглушить можно только в самом DSP или 7729 . Но может быть можно в 6323 .

    Нужно почитать доку на 6625 , и его команды управления , возможно там есть громкость выхода .

    Это предположение обьяснит многое . например то почему в ЦАП ЮСБ не выходит звук радио — потом что ЦП его не обрабатывает !
    Это также обьяснит почему у меня пропал секундный затык уведомлений при переходе на DSP , я просто читаю шину напрямую без 6323 .
    Это также обьясняет почему на 9213 не работает эквалайзер и все подобное на радио — потому что звук с радио идет сразу в 6323 !

    Это как бы и хорошая и плохая новость — хорошая , я попробую прозвонить шину на 6625 , и всем остальным можно будет туда подключать DSP .
    Но если у когото есть мертвая плата то неплохо бы сдуть 6323 и ЦП и прозвонить шину i2S .

    Однако если верить схеме на Lonovo 5500H , то с 6625 выходит только FM DATA и FM CLK , оно идет в CPU а с него отдельно шина на 6323 и отдельно шина i2S
    Так что все равно это проходит через ЦП , значит этим МОжно управлять .. вот почему не получается то ни у кого ? ..

    Читайте также:  Ежедневные расходы для андроида

    Подскажите как то можно Руками в терминале давать команды аналогичные тем что дают приложения ?

    Вероятно тут https://github.com/iyk…udio/common/V3/aud_drv исходники каких то звуковых билиотек . и там есть все то что я видел в Логе , там именно и формируется этот аудио поток . Но почемуто не управляется громкость !
    Во что он собирается ? и как собрать ? может можно что то изменить и все заработает ? и дело не в приложении а в библиотеке ? веть в логе я видел поставить громкость 0.5 . но она игнорируется .

    Если я правильно понял код

    status_t AudioALSAFMController::setFmVolume(const float fm_volume) <
    ALOGD(«%s(), mFmVolume = %f => fm_volume = %f», __FUNCTION__, mFmVolume, fm_volume);

    const float kMaxFmVolume = 1.0;
    ASSERT(0 IsSupportFM() == false) <
    ALOGW(«-%s(), Don’t support FM in the platform», __FUNCTION__);
    return INVALID_OPERATION;
    >

    // Set HW Gain for Direct Mode // TODO(Harvey): FM Volume
    if (mFmEnable == true && mIsFmDirectConnectionMode == true) <
    mAudioALSAVolumeController->setFmVolume(mFmVolume);
    > else <
    ALOGD(«%s(), Do nothing. mFMEnable = %d, mIsFmDirectConnectionMode = %d», __FUNCTION__, mFmEnable, mIsFmDirectConnectionMode);
    >

    То какойто Harvey написал — СДЕЛАТЬ регулировку громкости (((
    в данной конструкции только заведена процедура , но не описано что ей делать ( .

    кто то понимает что можно сделать с этими библиотеками и дописать эту функцию ?

    Сообщение отредактировал Stranger21ufa — 06.07.20, 07:37

    Machomotofan,

    Я прошелся по вызовам , открою лог посмотрю Кто в логе вызвыал запрос на рег громкости .
    Примерная цепь событий
    AudioALSAHardware

    status_t AudioALSAStreamManager::setFmVolume(float volume) <
    ALOGV(«+%s(), volume = %f», __FUNCTION__, volume);

    if (volume 1.0) <
    ALOGE(«-%s(), strange volume level %f, something wrong!!», __FUNCTION__, volume);
    return BAD_VALUE;
    >

    status_t AudioALSAFMController::setFmVolume(const float fm_volume) <
    ALOGD(«%s(), mFmVolume = %f => fm_volume = %f», __FUNCTION__, mFmVolume, fm_volume);

    const float kMaxFmVolume = 1.0;
    ASSERT(0 IsSupportFM() == false) <
    ALOGW(«-%s(), Don’t support FM in the platform», __FUNCTION__);
    return INVALID_OPERATION;
    >

    // Set HW Gain for Direct Mode // TODO(Harvey): FM Volume
    if (mFmEnable == true && mIsFmDirectConnectionMode == true) <
    mAudioALSAVolumeController->setFmVolume(mFmVolume);
    > else <
    ALOGD(«%s(), Do nothing. mFMEnable = %d, mIsFmDirectConnectionMode = %d», __FUNCTION__, mFmEnable, mIsFmDirectConnectionMode);
    >

    status_t AudioALSAVolumeController::setFmVolume(const float fm_volume) <
    ALOGV(«%s(), fm_volume = %f», __FUNCTION__, fm_volume);

    // Calculate HW Gain Value
    uint32_t volume_index = logToLinear(fm_volume); // 0

    256
    uint32_t hw_gain = kHWGainMap[volume_index >> 1]; // 0

    // Set HW Gain
    return mHardwareResourceManager->setHWGain2DigitalGain(hw_gain);
    >

    status_t AudioALSAHardwareResourceManager::setHWGain2DigitalGain(const uint32_t gain) <
    ALOGD(«%s(), gain = 0x%x», __FUNCTION__, gain);

    const uint32_t kMaxAudioHWGainValue = 0x80000;

    if (gain > kMaxAudioHWGainValue) <
    ALOGE(«%s(), gain(0x%x) > kMaxAudioHWGainValue(0x%x)!! return!!», __FUNCTION__, gain, kMaxAudioHWGainValue);
    return BAD_VALUE;
    >

    int retval = 0;
    if (WCNChipController::GetInstance()->IsFMMergeInterfaceSupported() == true) <
    retval = mixer_ctl_set_value(mixer_get_ctl_by_name(mMixer, «Audio Mrgrx Volume»), 0, gain);
    > else <
    retval = mixer_ctl_set_value(mixer_get_ctl_by_name(mMixer, «Audio FM I2S Volume»), 0, gain);
    >

    if (retval != 0) <
    ALOGE(«%s(), retval = %d», __FUNCTION__, retval);
    ASSERT(retval == 0);
    >

    и вроде как , пришло все к миксеру . почему же не работает .

    Сообщение отредактировал Stranger21ufa — 06.07.20, 08:44

    /// FM / mATV
    int AudioFtm::FMLoopbackTest(char bEnable __unused) <
    ALOGD(«%s()», __FUNCTION__);
    return true;
    >

    int AudioFtm::Audio_FM_I2S_Play(char bEnable) <
    ALOGD(«%s()», __FUNCTION__);

    const float kMaxFmVolume = 1.0;

    if (mStreamOut == NULL) <
    if (mStreamManager->getStreamOutVectorSize() == 0) < // Factory mode
    uint32_t devices = 0x2;
    int format = 0x1;
    uint32_t channels = 0x3;
    uint32_t sampleRate = 44100;
    status_t status = 0;

    if (bEnable == true) <
    // force assigned earphone
    AudioParameter paramRouting = AudioParameter();
    paramRouting.addInt(String8(AudioParameter::keyRouting), AUDIO_DEVICE_OUT_WIRED_HEADPHONE);
    mStreamOut->setParameters(paramRouting.toString());

    // enable
    mStreamManager->setFmVolume(0);
    mStreamManager->setFmEnable(true);
    mStreamManager->setFmVolume(kMaxFmVolume);
    > else <
    // disable
    mStreamManager->setFmVolume(0);
    mStreamManager->setFmEnable(false);
    >

    Как видно поток открывается только в наушники )
    А не в Дефаулт аудио ))))

    Блин .. как все это компилировать ? и какие библиотеки получатся ? .

    Это уровень «бог » для меня )

    но я кажется понял эта ветка что я выше дал ссылку это сборка библиотеки наподобие нашей
    audio.primary.mt6737t.so

    у нас она audio.primary.ac8227l.so

    Тоесть , чисто вот если понять ЧЕМ скопилировать эту ветку , то можно попробовать просто из исходника этого собрать эту библиотеку , ну и переименовав подложить
    Теперь хотябы понятно в каком файле вся эта красота .

    Читайте также:  Карты кировской области для андроид

    Но также и в самом apk радио наверное нужно-можно , попробовать переписать обработчик приглушения
    В этом стиле

    приглушать звук выставлением FMVolume = 0.5 но если оно не работает то и не сработает наверное . в плеере можно подсмотреть как получают от оболочки Максимальный уровень для канала , я так понял что ползунок Микс .

    Думаю если я в логе и так видел что кто то хочет поставить громкость 0.5 , а результат нулевой , то приложение радио тут не причем .

    Не сохранил видимо лог с громкостью 0.5
    Больше повторить не удалось .
    Только полное приглушение в 0.0

    какие логи можно вообще снимать ? снял полный , все галочки поставил , logcat , но не нахожу в нем вот этих используемых в приложении широковещательных сообщений , про приглушение.

    Приложение плеер тоже не совсем корректно работает , с Алисой оно приглушается , а должно Мутится .

    как бы прочитать лог вот этих сообщений от навигатора всем .
    да и судя по всему само приложение FMRadio тоже в лог какойто шлет инфу текстовую. можно было бы понять в какие ветки приложения она попадает ..

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

    зы смешно — «Log.wtf() — очень серьезная ошибка! (What a Terrible Failure!, работает начиная с Android 2.2)» ))) почемуто я прочитал его более просто и понятно ) вотафак )))))

    самое интересное то что , на Redmi 5 радио ведет себя товершенно также ! .. на Алису мутится , на Оксану ноль эмоций и ее еле слышно (
    блин
    неужели никто нигде радио нормально не написал ? или есть другие причины ?

    Сообщение отредактировал Stranger21ufa — 07.07.20, 07:55

    Пост с Аудио библиотеками
    Отличий между нашими , вроде как , я особо не заметил , да и по сравнению файлов они отличаются только версиями сборки скорее всего ..

    но вот от U708 меняет механизм регулировки громкости , на Андроидный , как в телефонах или как в 9213, и поэтому на ЮСБ тоже будет регулировать . у наших устройств громкость станет тише в самом начале , очень плавной . и возможно на 30 не максимум .

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

    lib20191017.rar ( 2 МБ )
    lib20191226.rar ( 2 МБ )
    lib20200306.rar ( 2 МБ )
    lib_U708V13.rar ( 1.99 МБ )

    Сообщение отредактировал Stranger21ufa — 15.09.20, 11:41

    😉 :rolleyes:
    Ну вопщем все получилось )
    Думаю и 7ZIP сделает тоже самое .. но сделал прям в ГУ
    ® MT Manager с помощью MT manager
    Для начала достал папку sounds из ресурсов
    потом этой программой https://vellisa.ru/mp3gain MP3GAIN , всю папку поднял на 9дб звук , она написала что клип уже есть вроде как , но я не услышал , нормально.
    Ну и запихал обратно прям на «горячую» в apk ) и все ! Антирадар говорит Громче чем радио прям комфортно офигенно !
    Прикладываю архив , там есть установщик , ну по сути это и есть просто апк ) но и папка с уже установленным в /system/priv-apk/ оно прекрасно работает как системное , никаких таскеров не нужно , все авто просыпается из сна , все говорит и показывает ! )

    Пользуемся ! )) теперь очередь за Янави )
    +9 все таки лишнего . ниже с шагом 1.5 архивы для системной папки, можно и просто установить конечно же , 1.5 и 3 самое лучшее вроде как

    Проверил что просто установкой файлы не работают с подписью накосячил ) исправляюсь , делаю файлы для установки )

    Представленные ниже установщики , вроде верно устанавливаются . Но звука нет вообще ! . блин . чего то я опять не допонял и не доделал ( . на живую только ручная установка чтоли .

    Источник

    Оцените статью