Как стать автором
Обновить

Причины плохого звучания большинства смартфонов на Android

Время на прочтение10 мин
Количество просмотров197K

Зачастую смартфоны не могут похвастаться хорошим звуком, включая «музыкальные смартфоны с ЦАП» в сравнении с отдельными Hi-Fi плеерами. Этот материал о причинах и их возможных решениях. Наиболее подробно будет описана та часть, которая критичная именно для смартфонов.

При сравнении отдельного Hi-Fi плеера и смартфона для многих не очевидна разница в логике работы ОС. И по этой причине, смартфон с навороченным ЦАП может звучать существенно хуже, чем отдельный плеер на более простых комплектующих. Рассмотрим всю цепочку прохождения звукового сигнала по блокам и их влияние на конечное качество звучания.



В наиболее простом виде маршрут сигнала выглядит так. Рассмотрим подробнее каждый блок.

Исходный файл


Качество исходника безусловно важно, но, если не рассматривать низкобитрейтные форматы Lossy, то влияние на общее качество невелико. Безусловно, лучше использовать Lossless форматы в виде ape, flac и т.п…

Плеер


От плеера зависит корректная передача звукового потока дальше в систему. Если не рассматривать включение различных эффектов обработки звука, то в случае с lossless звук должен передаться без изменений, а для Lossy звучание может отличаться между плеерами из-за разных наборов декодеров.

Микшер ОС


Именно в микшере заключается кардинальная разница между Hi-Fi плеером и смартфоном на ОС Android.

На ЦАП должен придти всего один стерео поток, но при этом несколько приложений могут одновременно воспроизводить звук. Например, плеер, различные музыкальные уведомления, музыка в игре и т.п… Все эти звуковые потоки могут иметь разную частоту дискретизации и разрядности. Микшер все потоки должен привести к единой частоте и после сложить в один поток. Такая логика одинакова для смартфонов на Android, iOS, Windows, Linux и т.п.

В редких случаях, если воспроизводится звук лишь из одной программы, то микшер может отключаться. Но это редкое исключение, которое практиковалось в ранних версиях ОС для ПК. Причиной отключения микшера была экономия ресурсов. Сегодня же делается упор на универсальность и стабильность работы приложений. Для системы назначается единая частота дискретизации и ее разрядность. Из-за алгоритмов конвертации качество звука деградирует.

Так как ПК активно используются для работы со звуком, где системный микшер совсем лишний, то для Windows есть два альтернативных вывода звука: WASAPI и ASIO.



При использовании WASAPI и ASIO звуковой поток минует системный микшер и поступает напрямую в драйвер устройства и далее в ЦАП. В схеме блок драйвера между микшером и ЦАП для простоты убран.

При такой организации маршрута сигнала в системе только одно приложение может воспроизводить звук. Остальные приложения будут молчать. На практике такой подход не всегда приятен пользователю, где при запущенном секвенсоре нет звука например из skype. Для некоторых звуковых карт сделан хитрый ход – драйвер может принять два потока – один с WASAPI и один из ASIO и далее средствами своего драйвера их смикшировать с высоким качеством.

Если для ОС Windows все относительно прозрачно и есть четкие названия для вывода звука, то в смартфонах с Android – полный мрак. Сейчас в некоторых плеерах можно встретить такие названия, как «Hi-Rez output driver», которые по своей сути являются аналогом WASAPI/ASIO и позволяют отдать звуковой поток мимо системного микшера ОС Android.

В Hi-Fi плеерах FiiO на Android есть специальный режим, когда отключается все, что можно и остается только программный плеер в системе. Хотя плееры некоторых компаний, используют пересчет потока из 44.1 в 48 кГц. Но, если к примеру у Pioneer XDP-300R алгоритм качественный, то у первого недешевого флагмана Sony ZX1 был посредственный.

К чему столь подробное описание микшера ОС? Насколько сильно он вредит?

Если брать очень грубую аналогию с фото и видео, то у нас на входе фильм с разрешением 4k. И есть соответствующий телевизор с разрешением 4k (аналог хорошего ЦАП, усилителя и качественных наушников). Программный плеер отдает кадры в микшер ОС и микшер все конвертирует в разрешение 640х480 самым низкокачественным способом для возможности наложения дополнительных системных титров (аналогично рингтонам). После же поток обратно конвертируется в 4k из 640х480 и качество картинки на хорошем телевизоре оставляет желать лучшего. Как решает эту проблему пользователь, не слишком понимающий, от чего качество картинки так сильно пострадало? Он перебирает разные плееры, крутит в них настройки резкости, яркости, динамической обработки и останавливается на том плеере, где предварительная обработка изображения до понижения в 640х480 и обратно в 4к даст наименее ужасный результат. И этот плеер потом будет рекомендоваться как «самый качественный».

При прямом же сравнении качества картинки с плеера, который напрямую донесет картинку без этапа изменения разрешения в 640х480, а например трансляции на монитор с разрешением 2k – результат будет существенно лучше. В комментариях можно обсудить другие варианты аналогий.

Для реальной оценки влияния микшера на звук подготовлены специальные звуковые файлы.

Деградация качества наиболее заметна на тихих участках композиции или при выставленном малом уровне громкости. Причем, чем изначально громче смартфон (с мощным усилителем), тем больше надо снизить уровень для комфортного прослушивания в наушниках и тем самым сильнее будут слышны искажения.

Для примера было оцифровано вступление Mari Boine – Song For The Unborn. Это совершенно обычный трек. При желании можно подобрать более проблемный трек или вовсе обойтись техническим сигналом.

В качестве источника выступил смартфон Xiaomi Redmi Note 4x на Android 7. У Android штатно доступно 15 ступеней для регулировки уровня громкости. Для получения полной картины была проведена оцифровка всех уровней в штатном плеере Android Google Player (Play Музыка) и Neutron (платная версия с возможностью отдать звуковой поток в обход системного микшера в этом смартфоне). В названии файлов: уровень «15» соответствует максимальному уровню, «1» минимальному. Буква G – Android Google Player, N – Neutron.

Android Google Player, 1
Neutron, 1

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

Треки нормализованы к полной громкости и соответственно фоновый шум с ЦАП должен быть хорошо слышен для вариантов низкой громкости.

В варианте для Google плеера гораздо сильнее слышны те искажения, о которых идет речь в этом материале.

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

Полный архив

Архив представлен файлами для всех уровней. Они нормализованы к одинаковой амплитуде. Попробуйте сравнивать файлы от разных плееров на одинаковой амплитуде. В наушниках обычного и посредственного качества разница должна быть слышна до уровней 10-11. Далее разница может упереться в возможности вашего источника – если он добавляет искажений, то файлы от Neutron потеряют исходную прозрачность звучания.

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

Разница амплитуд относительно максимума для ступеней уровней регулятора выглядит так:


Возможно, в других устройствах, отличных от Xiaomi Redmi Note 4x, распределение амплитуд другое. Значения в процентах в Neutron не имеют никакой прямой связи с децибелами, эти цифры условны.

В целом, если данные обрабатываются в регуляторе громкости в 24 бит и этот поток поступает на ЦАП, то без потери качества есть запас по регулировке до 48 дБ (до 1-ой ступени). При понижении более, чем на 48 дБ при корректном понижении амплитуды исходный звуковой поток станет немного шумнее, а при некорректном, добавятся искажения и качество снизится.

При передаче данных в 32 бит запас по регулировке громкости без искажений составляет 96 дБ.

При беглом поиске не удалось найти упоминание, какой ЦАП использует Xiaomi Redmi Note 4x, но есть вероятность, что что-то из серии Qualcomm Aqstic Audio Codec, которые рекомендованы для используемого Qualcomm Snapdragon 625. Текущая серия Aqstic обладает характеристиками в виде динамического диапазона в 130 дБ и уровнем искажений до -109 дБ. Младший WCD9335 принимает поток до 192kHz/24bit, старший WCD9341 до 384kHz/32bit и DSD128. По отношению к Redmi Note 4x немного смущает, что полноценно вывести звуковой поток выше 48 кГц не удалось. Возможно, используется еще более ранняя версия кодека со схожими параметрами. По итогам тестирования можно уверенно сказать, что есть полноценная поддержка 24 бит, а по уровню искажений этот ЦАП ничуть не хуже альтернативных современных ESS/AKM.

После прослушивания демонстрационных записей, как только станет очевидно, что же именно надо услышать, попробуйте послушать уже свои треки в разных плеерах. Возможно, у вас хороший смартфон с штатным фирменным плеером и таких проблем нет. А может и обратная ситуация – ЦАП от ESS/AKM, а звук как из «Android».

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

Может быть и такой вариант, микшер будет добавлять искажений от конвертации звукового потока, но мастер-уровень громкости будет работать в самом ЦАП, что сделает искажения едва слышимыми во всем диапазоне уровней громкости.

Либо вместо штатного ресемплера у смартфона может использоваться качественный и ресурсоемкий SRC, где смартфон не поддерживает прямое воспроизведение в 44,1 кГц, но при
этом очень качественно конвертирует в 48/96/192 кГц, как это делает к примеру Onkyo Granbeat DP-CMX1.

Пути решения проблем с искажениями


Использование специального плеера


Использование плеера, который поддерживает вывод звука в обход микшера. Решение на первый взгляд простое, но не всегда рабочее. Дело в том, что плееров с такой поддержкой – считанные единицы и работают по принципу «удачи». Более того, плеер может показывать в настройках, что вывод звука прямой, но по факту – кривой. Так же не исключены и «подлянки» от очередных обновлений системы.

Из собственного опыта, путем тестов практически всех плееров год назад удалось выявить единственный плеер для Xiaomi Readmi Note 4x в виде PowerAmp версии v704 с экспериментальным выводом звука Hi-Rez. Счастье длилось месяц-два, т.к. после ОС обновилась с 6-й до 7-й версии и вывод в Hi-Rez перестал работать. Почти год не было ни одного плеера с прямым выводом для Android 7. Потом появилась версия v790, из которой звуковой поток выходил не выше, чем в 16 бит и приложение останавливало звук, если экран гас. Буквально на днях вышла версия v709, и она, за исключением некоторых багов работает как надо.

При этом чуть ранее обновился Neutron, у которого аналогично добавилась поддержка прямого вывода. Но так как Neutron не утруждает себя публикацией версий, то когда именно появилась действительно рабочая версия – сложно сказать. Ранее Neutron мог корректно выдавать звуковой поток только по USB.

На носу обновление до Android 8 с аналогичными рисками потери возможности прямого вывода звука на неопределенный срок. Надо ли обновляться до Android 8, если смартфон используется как источник звука — хороший вопрос.

В пример часто приводят foobar2000. Этот плеер адекватный результат для внутреннего кодека показывает только в Android 5. И при этом только для 16 бит.

Например тестирование в лаборатории RAA смартфонов LeEco Cool changer s1 и Xiaomi Redmi Note 4 как раз попало в промежуток отсутствия подходящих плееров под Android 7 и результаты хорошими назвать нельзя.

Использование внешнего ЦАП с усилителем


Это хороший вариант, где можно и ЦАП «прокачать» и усилитель. Но, при подключении такого устройства микшер Android аналогично будет повышать частоту дискретизации с проблемами в звучании.


Xiaomi Mi A1 и xDuoo XD-05

Здесь в примере воспроизведение из Android Google Player с исходным файлом с частотой дискретизации 44,1 кГц. На экране xDuoo XD-05 мы видим 192 кГц. Экран с отображением частоты – удобная вещь.

Для внешних ЦАП надо подбирать отдельный плеер со своей библиотекой драйверов. Из практики – каждый плеер работает только с определенным перечнем устройств и под каждое устройство надо подбирать отдельный плеер. Благо, хоть они и платные, но относительно недорогие и обычно есть пробные версии.


Xiaomi Mi A1, Pro-Ject Pre Box S2 Digital и Final Audio Design F4100

При воспроизведении из более подходящего плеера частота воспроизведения во внешнем ЦАП будет совпадать с частотой исходного файла. В примере при воспроизведении через Neutron на экране Pro-Ject Pre Box S2 Digital показана исходная частота 44.1 кГц.

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

По сути, использование внешнего ЦАП для смартфона желательно лишь наличием чуть большего количества возможных плееров с более оперативным обновлением под новые системы. А вот вариант «бутерброда» из смартфона и ЦАП в эксплуатации не слишком удобен.

Если для определенного смартфона все программные плееры не поддерживают прямого вывода звука для USB-ЦАП, то все не так плохо, подойдет рекомендация для случая с использованием обычного усилителя.

Отдельный усилитель


Если смартфон использует хороший ЦАП, то можно максимально снизить влияние искажений от микшера системы.


Xiaomi Mi A1, Aune B1s и Final Audio Design F4100

Для этого надо выставить уровень громкости на максимум и уже далее регулировать громкость в самом усилителе. И попутно мониторить информацию по обновлениям версия программных плееров.

Альтернативный вариант без усилителя — использовать наушники с аналоговым регулятором громкости, вроде Sennheiser CX 980.

ЦАП


Хотя именно ЦАП обычно уделяется наибольшее внимание в рекламных проспектах, на деле его вклад в общее звучание самый минимальный. Дело в том, что его качество сильно зависит от реализации, где хороший результат обычно достигается в больших габаритах с существенным энергопотреблением.

Звук может быть хороший в рамках смартфона, но все остальные участки цепочки на практике более критичны.

Усилитель


Если получится вывести звук напрямую в ЦАП, то именно этот участок будет вторым по значению.

От того, какое напряжение может выдать усилитель, будет зависеть конечный уровень громкости устройства. Если напряжение будет низкое, то усилитель будет тихий и можно будет использовать только внутриканальные высокочувствительные наушники. Если амплитуда напряжения будет наоборот высока – то смартфон вероятно «раскачает» полноразмерные наушники, но при подключении внутриканальных наушников потребуется сильно снижать уровень громкости. Это чревато хорошей слышимостью фонового шума (как в треках с ступенями громкости ниже 5-той). Если же плеер прямого вывода звука не имеет, то к шуму еще добавятся и дополнительные искажения.

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

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

Наушники


Наушники должны быть совместимы с усилителем. Должно быть оптимальное сочетание чувствительности и сопротивления (импеданса) с напряжением и током усилителя. Должен быть запас по регулировке громкости как вверх, так и вниз. Совместимость в данном случае сопоставима с выбором «шестеренок» в коробке передач автомобиля для обеспечения оптимальной скорости. Качество наушников безусловно важно, но оно не заменяет согласование с усилителем.

О согласовании наушников и усилителей можно прочитать в отдельном материале — Рекомендуемое сопротивление наушников для усилителя

Плееры и смартфоны


В лаборатории RAA в завершающей стадии методика тестирования программных плееров для смартфонов и Hi-Fi плееров на Android. Это позволит делать групповые тесты плееров за относительно короткое время и давать точную информацию по поддержке прямого выхода звука и настройкам плееров для штатного ЦАП/кодека и вывода по USB. Голые цифры, без субъективного «показалось».

Дело только за интересом к этой теме у обычных пользователей. А у производителей – понимание, что такой интерес действительно есть.

В этом материале не было конкретики со списком плееров и их настроек под смартфоны. Основной целью было показать наличие проблемы и общие решения проблем.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Какой плеер основной в смартфоне для музыки?
18.2% Google176
23.37% PowerAmp226
2.17% Neutron21
0.62% Hiby6
3.62% foobar200035
1.24% USB Audio Player PRO12
0.62% HF ONKYO6
17.58% Фирменный от производителя смартфона170
2.07% Stellio20
30.51% Другой295
Проголосовали 967 пользователей. Воздержались 293 пользователя.
Теги:
Хабы:
Всего голосов 33: ↑32 и ↓1+31
Комментарии240

Публикации

Истории

Ближайшие события

7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань