Что такое аудиоканал андроид

Особенности обработки аудио в ОС Android

И как с ними бороться

Подумайте, какие ассоциации вызывает у вас операционная система Google Android? Наверняка, одной из первых в голове всплыла «распространенность», «популярность». Или, при подобающем настроении, такое словосочетание как «зоопарк устройств». Что и говорить, выбор в пользу Android уже давным-давно сделали почти все известные разработчики мобильных гаджетов.

В крупных компаниях этот шаг знаменует собой начало большого пути для подразделения R&D (Research and Development). Ведь базовые возможности Android (по крайней мере, до релиза Lollipop) были весьма скромны и могли устроить только завсегдатаев XDA Developers, которые все необходимое и сами могут дописать. В поисках примеров можно даже не уходить в дебри Android. Скажем, аппараты с поддержкой нескольких SIM-карт уже давно стали самым обычным явлением на рынке. А API для работы с ними был официально добавлен только в Google Android 5.1.

Сегодня мы подробно рассмотрим еще одну сторону ОС, которой разработчики Google Android не уделяют достойного внимания — работу со звуком. Зачем, в принципе, нужен звук на телефоне? В первую очередь, чтобы воспроизводить звонок. С этой задачей мобильные устройства справляться уже научились. Было бы здорово также вставить какой-нибудь аудиоплеер. и здесь компания Google без особых раздумий перекладывает все на производителей устройств. Беспроводное проигрывание через Bluetooth или динамики мобильных устройств зависит от ряда дополнительных факторов, требующих отдельного изучения, поэтому в данной статье мы рассмотрим, как обстоят дела с воспроизведением аудио исключительно через разъем для наушников.

До выхода Android L операционная система поддерживала «из коробки» только PCM-аудио с частотой дискретизации 44,1 или 48 кГц. К этому общему знаменателю по умолчанию приводится весь пропускаемый через систему аудиопоток. Исправление ситуации проходит на уровне конкретных производителей, которые устанавливают собственные ЦАП и пишут для них софт. Это могут позволить себе лишь крупные компании. Приобретая такое недешевое устройство как смартфон, хочется услышать адекватный по стоимости аудиочип, но на сегодняшний день это является скорее исключением из правил — большинство моделей ограничиваются лишь тем, что включено в однокристальную систему. А это значит, что воспроизведение происходит с принудительной конвертацией звука в формат, описанный в начале абзаца.

Любой, кто хотя бы немного знаком с обработкой звука, знает, что всякое препятствие на его пути чревато самыми тяжелыми последствиями. При желании проследить всю обработку звука в ОС Android можно через исходный код. Уже при поверхностном изучении настороженность вызывают следующие моменты:

  1. Для принудительной конвертации в нативный формат применяются как минимум целых три конвертера — в audioflinger, speex и webrtc. Здесь никакого прогресса не наблюдается с самых ранних версий, Google лишь исправляет баги.
  2. Слишком высокий тайминг в аудиосервере Android (audioflinger/libstagefright) при большом числе потоков.
  3. Программная регулировка громкости — критичный для аудиофилов аспект, с которым, увы, ничего не поделаешь в принципе.
  4. Колоссальные проблемы с поддержкой ALSA-драйверов (Advanced Linux Sound Architecture). Этот вопрос решается на уровне производителей устройств. Некоторые из них уже предлагают удачные решения, например, Sony и HTC.

Помимо R&D-отделов больших компаний, над улучшением звука Android активно работают энтузиасты, разрешающие порой чуть ли не безвыходные проблемы. Плоды этих титанических трудов можно оценить на пресловутом XDA Developers.

Читайте также:  Android studio градиент кнопка

Здесь работает общее правило: чем ниже уровень, на котором производятся улучшения, тем эффективней будет результат. Материнские платы компьютеров легко вмещают всякие разновидности «high definition audio», способные удовлетворить не очень щепетильного пользователя. Что же касается современных мобильных устройств, то их размеры создают для реализации качественного звука гораздо более серьезные ограничения.

Тем не менее, прогресс в звуковой составляющей современных смартфонов очевиден. Как это ни удивительно, даже чипсетные кодеки порой играют неплохо, например, ЦАП Hexagon, устанавливаемые в SoC Qualcomm Snapdragon. Что касается однокристальных систем, менее выдающихся в плане звука (модели Samsung Exynos, Mediatek MTK), то их производители сейчас нередко устанавливают сторонние ЦАП. К сожалению, при таком подходе обычно игнорируется сопроводительная документация, что приводит к затруднениям на более высоких уровнях.

А выше «железа» у нас прописано ядро Linux — база, на которой функционирует ОС Android. Здесь находится все, что обеспечивает работу аппаратной начинки. Конкретно за звук отвечает ALSA — Advanced Linux Sound Architecture. Пионером в реализации ALSA стала компания Samsung, а вообще в ранних устройствах на базе Android эта архитектура еще не поддерживалась, поскольку сама Google еще не пришла к необходимости единообразия на данном уровне разработки.

Сама по себе архитектура ALSA является весьма оригинальной, что отчасти объясняет проблема в создании низкоуровневого ПО. Даже на написание даже простого драйвера требуется много времени. К тому же, в отличие от десктопных систем, у смартфонов есть своя специфика. Поскольку мы имеем дело с телефоном, обязательна реализация голосовой связи. Кроме того, требуется грамотное управление питанием — об автономной работе Android-устройств лишний раз и говорить нечего. Наконец, учитывая ограниченные ресурсы прикладного ЦП, встает вопрос о декодировании популярных форматов другими аппаратными средствами.

Типичный сценарий работы над ALSA-драйверами сегодня выглядит следующим образом. Поставщик SoC или кодека предоставляет производителю устройства некую «рыбу» в комплекте с многотомной документацией, при виде которой у Linux-сообщества потекли бы слюнки. Но работникам R&D-отделов производителя такой энтузиазм, мягко говоря, не свойственен. В результате чего пользователи получают ПО, где взамен реализованных возможностей железа предлагаются лишь бесчисленные баги и вообще полнейшие нелепости.

В качестве примера можно привести компанию Qualcomm, которая никакой документацией с аудиторией не делится. Но хотя бы выкладывает исходный код драйверов на своем сайте codeaurora.org. С другими поставщиками чипов ситуация тоже непростая. Даже такие либеральные в этом плане компании как Texas Instruments или Intel, публикующие все спецификации своих устройств еще до начала поставок, иной раз хранят молчание, когда речь заходит о звуке.

Что касаются производителей «второго эшелона» (как правило, многочисленных и малоизвестных компаний из Китая), то в соответствии с лицензией GPL они не обнародуют исходный код ядра вообще. С этической точки зрения выглядит это весьма скверно: на основе открытого кода Linux создается по сути закрытый, засекреченный продукт.

Как же свести весь этот «зоопарк» к общему знаменателю, чтобы любой обладатель Android-устройства мог получить качественный звук? Интерфейс ALSA-драйверов един, и, если доступны их исходные файлы, можно попытаться самостоятельно улучшить качество звука, чтобы использовать возможности устройства на 100%.

Поскольку взаимодействие осуществляется на уровне ядра, для всех нововведений потребуется наличие рут-доступа. Это позволит обойти верхние уровни аудиосистемы Android и взаимодействовать с ALSA-драйверами напрямую. Что и делает программа, которую мы задействуем для сравнительного тестирования аудиотрактов.

Читайте также:  Pokemon sword and shield android

Источник

Что такое аудиоканал андроид

Привет котам ) Есть простенькое устройство с батарейным питанием, которое передает в телефон на андроиде сигнал (через микрофонный вход), используется ЧМ, 1 == 1.2кГц, 0 = 2.2кГц. В устройство втыкаются наушники пользователя (без микрофона) — он слушает голосовые указания с телефона. Левый и правый каналы аудио проходят через устройство «сквозняком» — никаких действий, резисторов, конденсаторов — ничего.
Данные принимаются, обрабатываются, все ок. Но есть такая проблема — в наушниках присутствует фоновый шум — «на глаз» — на тех же частотах, на которых ведется передача. Громкость фонового шума минимальная, но раздражает. Она не зависит от громкости, выставленной на телефоне. Не зависит от модели телефона и модели наушников. Слышно шум только в течении нескольких секунд после нажатия на активные элементы (кнопки) в любом приложении. Если звук на телефоне выключить совсем — не слышно.

Программист под андроид не шарит, что с этим делать. Можете дать какие-нибудь советы?

_________________
Осилит дорогу идущий
———-
Пишу на Си за еду

Реклама
kalobyte
Друг Кота

Карма: 16
Рейтинг сообщений: 111
Зарегистрирован: Чт сен 20, 2007 14:08:00
Сообщений: 10384
Рейтинг сообщения: 0

_________________
тематические ответы только в форуме, в приват не пишите

Реклама

JLCPCB, всего $2 за прототип печатной платы! Цвет — любой!

Зарегистрируйтесь и получите два купона по 5$ каждый:https://jlcpcb.com/cwc

slavokhire5
Прорезались зубы

Зарегистрирован: Пн сен 26, 2011 13:48:25
Сообщений: 202
Откуда: Харьков
Рейтинг сообщения: 0

_________________
Осилит дорогу идущий
———-
Пишу на Си за еду

Реклама

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

khomych
Мучитель микросхем

Карма: 3
Рейтинг сообщений: 15
Зарегистрирован: Сб фев 21, 2009 16:11:32
Сообщений: 419
Откуда: Харьков
Рейтинг сообщения: 0

Реклама

Приглашаем 9 декабря всех желающих посетить вебинар, посвященный технологии Ethernet и её новому стандарту 10BASE-T1S/L. Стандарт 802.3cg описывает передачу данных на скорости до 10 Мбит в секунду по одной витой паре. На вебинаре будут рассмотрены и другие новшества, которые недавно вошли в семейство технологий Ethernet: Synchronous Ethernet (SyncE), Precision Time Protocol (PTP), Time Sensitive Networking (TSN). Не останется в стороне и высокоскоростной 25G+ Ethernet от Microchip.

kalobyte
Друг Кота

Карма: 16
Рейтинг сообщений: 111
Зарегистрирован: Чт сен 20, 2007 14:08:00
Сообщений: 10384
Рейтинг сообщения: 0

_________________
тематические ответы только в форуме, в приват не пишите

Реклама
Реклама

Внедрение автоматизированных систем контроля и учета всех видов энергоресурсов, невозможно без инструментов, позволяющих помимо измерения параметров, преобразовывать их для обработки цифровыми интеллектуальными системами. Микросхемы STPM32, STPM33 и STPM34 STMicroelectronics являются наиболее точными и высокопроизводительными представителями своего семейства и способны максимально точно измерять параметры электросети в системах электроснабжения переменного тока, а также осуществлять их первичную обработку. Рассмотрим подробнее их преимущества и средства разработки.

просто КОТ
Друг Кота

Карма: 107
Рейтинг сообщений: 1029
Зарегистрирован: Пт дек 17, 2010 15:07:50
Сообщений: 12366
Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 0

_________________

И ты врёшь. © Vladisman

Реклама

kalobyte
Друг Кота

Карма: 16
Рейтинг сообщений: 111
Зарегистрирован: Чт сен 20, 2007 14:08:00
Сообщений: 10384
Рейтинг сообщения: 0

когда он издает? когда штекер в гнезде
издает в наушниках или в динамике
динамик разговорный или звонковый?
какого рода звук?

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

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

_________________
тематические ответы только в форуме, в приват не пишите

Реклама

slavokhire5
Прорезались зубы

Зарегистрирован: Пн сен 26, 2011 13:48:25
Сообщений: 202
Откуда: Харьков
Рейтинг сообщения: 0

аудиодинамики телефона не используется — звук пользователь слушает в наушниках. от громкости звука в телефоне громкость паразитного звука не зависит. частоты паразитного звука и полезного сигнала через наушники совпадают, следовательно это как-то звук из канала микрофона лезет. осциллограф у меня дешевый — на нем ничего хорошего рассмотреть не получается

телефоны разных моделей пробовали HTC One, LG G2, какой-то леново, другой HTC, какой-то Sony, пару китайфонов, нексус5 — везде одна и та же петрушка =)
на айфонах такого прикола нет.

кривое ПО — возможно, но паразитный звук слышно и когда ПО выгружено из памяти (допустим, после перезагрузки телефона). Возможно и правда какие-то наводки в кабеле девайса, попробую его поменять на какой-нибудь более дорогой.

фильтровать не очень хочется — частота паразитного звука как раз в районе голосовых частот

получается, пока 2 варианта:
1. поменять аудиокабель девайса
2. перенести рабочие частоты на 15 и 18 кГц, их человек слышит хуже. если что и зафильтровать можно. но при этом подымутся требования к ПО для распознавания полезного сигнала

_________________
Осилит дорогу идущий
———-
Пишу на Си за еду

Реклама

kalobyte
Друг Кота

Карма: 16
Рейтинг сообщений: 111
Зарегистрирован: Чт сен 20, 2007 14:08:00
Сообщений: 10384
Рейтинг сообщения: 0

ну типа в телефон воткнута обычная гарнитура что ли?
тогда при чем тут какой-то кабель для передачи данных?

паразитный сигнал — это данные, которые ты передаеш двухчастотным кодированием 1 и 2 кгц?

дай линк на софт, я сам посмотрю

_________________
тематические ответы только в форуме, в приват не пишите

hrpankov
Сверлит текстолит когтями

Карма: -23
Рейтинг сообщений: 27
Зарегистрирован: Вт мар 18, 2014 13:14:39
Сообщений: 1115
Откуда: южнее Дуная
Рейтинг сообщения: 0

voipmaster
Родился

Зарегистрирован: Вт май 12, 2015 11:05:01
Сообщений: 5
Рейтинг сообщения: 0

hrpankov
Сверлит текстолит когтями

Карма: -23
Рейтинг сообщений: 27
Зарегистрирован: Вт мар 18, 2014 13:14:39
Сообщений: 1115
Откуда: южнее Дуная
Рейтинг сообщения: 0

Alexeyslav
Друг Кота

Карма: 28
Рейтинг сообщений: 568
Зарегистрирован: Чт май 05, 2011 21:26:34
Сообщений: 4552
Откуда: Украина, Славутич
Рейтинг сообщения: 0

Николай_С
Поставщик валерьянки для Кота

Карма: 44
Рейтинг сообщений: 369
Зарегистрирован: Вт сен 25, 2012 23:13:41
Сообщений: 2373
Откуда: г.Дзержинск Нижегородской обл.
Рейтинг сообщения: 0

_________________
Спасение утопающих дело рук самих утопающих.

Андрей Бедов
Друг Кота

Карма: 230
Рейтинг сообщений: 11311
Зарегистрирован: Чт авг 30, 2012 20:24:40
Сообщений: 37654
Откуда: Нижний Новгород
Рейтинг сообщения: 0

Страница 1 из 1 [ Сообщений: 15 ]

Часовой пояс: UTC + 3 часа

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5

Источник

Читайте также:  Be on road android взломанная
Оцените статью