Hi-Fi смартфон. Часть 2: soft

Facebook
ВКонтакте
share_fav

В предыдущей части цикла мы разобрались в том, как отличить смартфон с настоящим, а не маркетинговым, музыкальным потенциалом. Сегодня же мы поговорим о софте, который поможет его раскрыть. И не будем ограничиваться только приложениями-плеерами. Мы копнем глубже. Гораздо глубже.

Корень зла

Казалось бы, смартфон с хорошим DAC-чипом сможет обеспечить отличное звучание в любом случае. Увы, нет. И дело тут не только и не столько в подборе правильного приложения-плеера. Сама система Android становится почти непреодолимой преградой на пути меломана!

Дело в том, что вплоть до актуальных версий Android 5.0.* и 5.1 на уровне драйверов система «из коробки» воспринимает только режим 16/44.1 или 16/48. Довольствуется убогим штатным ресемплером и DSP-эффектами. Пользователи Linux, от которого Android получил ALSA в наследство, прекрасно знают эти «грабли». Это стена, которую необходимо разрушить для получения действительно качественного звучания!

Stock_Android_Audio

«Хьюстон, у нас проблема!» ©

Всё, что выходит за рамки указанных выше ограничений, на лету проходит некачественную понижающую постобработку/передискретизацию. А это значит, что, независимо от «железа», вы не получите возможность действительно слушать музыку в формате FLAC 24/96, не говоря уже о 24/192. Казалось бы, занавес. Тушите свет, сушите весла. Тема закрыта. Можно начинать Плач Ярославны, кормить троллей-фанбоев Google :), читать гневные комменты об оскорблении чести и достоинства их кумира. При этим не важно, что это «Божество» не дает им же использовать на полную катушку хорошее аудио-железо, появившееся в смартфонах еще в каменном веке во времена Galaxy S1. Не важны и не оправдавшиеся анонсы со стороны Google о исправлении косяков. Ведь это же Корпорация Добра. И миллионы мух не могут ошибаться. Здравомыслящим же остается только печалиться и посыпать голову пеплом…

Но нет! У нас тут, черт возьми, geek-комьюнити. Поэтому мы будет дорабатывать «ведерко» напильником самостоятельно! Вы рассчитывали прочесть очередной псевдоgeekовский бред со сравнением ресемплеров популярных плееров для Android или очередной опус о плацебо в лице эквалайзерных «улучшайзеров»? Не тот формат! Далее будет только хардкор. И только попытка решить проблему в корне, попутно матеря Корпорацию Добра на чем свет стоит.

Задача сводится к организации на базе Android-смартфона максимально линейного аудиотракта «приложеие-плеер→DAC-чип» взамен изгаженного системными ограничениями и службами монстра. То есть создать для Android аналог ASIO :)

Linear_Audio

Желаемыей результат

Пациент

В качестве подопытного сегодня у нас будет выступать заслуженный, но до сих пор сверхпопулярный «ветеран» среди смартфонов. Старый конь, не портящий борозду. Samsung Galaxy S3 i9300. То есть международная версия. Ни в коем случае не американская! Ликуйте, счастливые обладатели эс-третьего. После того, как вы пройдете описанные ниже шаги, ваш «старичек» будет вертеть на оси мироздания чуть ли не все современные флагманы по качеству звучания!

galaxy_s3

Почему S3? Всё просто и сложно одновременно. Во-первых, на борту международной версии этого смартфона трудится великолепный DAC-чип Wolfson WM1811. Datasheet последнего указывает на то, что мы имеем дело с маленьким монстром, способным при соотношении SNR (сигнал/шум) в 100 дБ не вспотев выдавать режим 24/96. Аппаратно. На уровне своих собственных драйверов. Но, к сожалению, изначально чип задушен самой ОС с ее захардкоженным режимом 16/44.1.

Wolfson-WM1811-Samsung-Galaxy-S3-S-III

А во-вторых S3 является уникальным смартфоном, для которого существует бескомпромиссное софтверное решение, способное раскрыть весь потенциал этого чипа.

☠ Описанные ниже шаги применимы только для Samsung Galaxy S3. Не пытайтесь повторить их для других моделей смартфонов! Все действия вы проводите на свой собственный страх и риск. Автор не несет ответственности за ваши ошибки при выполнении инструкции. Но результат того стоит! :).

Подготовка

Для успеха эксперимента, кроме собственно Galaxy S3 нам понадобится следующий набор инструментов:

  • USB-драйверы для смартфона. Их можно добыть вот здесь;
  • актуальная версия Odin. Забираем здесь;
  • актуальная версия TWRP (custom recovery). Забираем здесь;
  • последняя версия weekly-билда прошивки CyanogenMod 12 для Galaxy S3 (Non-official). Гарантированно работоспособна и беспроблемна на момент написания статьи была только эта версия! Нажимаем кнопку Download переходим дальше;
  • самая свежая версия Google Apps для CyanogenMod 12. Забираем от сюда;
  • ключевой компонент — кастомное ядро ОС Boeffla Kernel для CM12. Оно содержит тот самый вожделенный аудиодрайвер для DAC-чипа и позволяет сторонним приложениям-плеерам обращаться напрямую к DAC, минуя всевозможные штатные службы Android. Скачиваем здесь;
  • наушники. Это могут быть как внутриканальные арматурные «затычки», так и полноразмерные наушники. форма и размеры не важны. Главное — качество. Нижней планкой для арматурных наушников могут служить Sony XBA-C10. Для накладных и/или полноразмерных наушников планка качества стартует с AKG K518DJ. Увы, что-либо менее качественное будет узким местом системы.

Готово? Хорошо. А теперь скопируйте на свой смартфон ваш любимый альбом в формате FLAC. Лично я для себя выбрал Belleruche — 270 Stories, Massive Attack — Mezzanine, Bonobo — Black Sands и Carmen Rizzo — Looking Through Leaves в качестве тестовых записей, покрывающих весь частотный диапазон и одновременно инструментально насыщенных. И воспроизведите его при помощи Neutron Music Player. Запомните звучание. Этот убогий и зажатый звук вы слышите в исполнении своего S3 в последний раз :). Зарядите смартфон до по крайней мере 70% емкости батареи. Продолжаем.

«Cестра! Скальпель!» ©

Подготовка завершена. Настало время действовать. Начинаем операцию по пересадке нашему смартфону правильных «мозгов»:

  • устанавливаем драйвер;
  • распаковываем архив с Odin и запускаем приложение с правами Администратора (!);

run_as_admin

  • выключаем смартфон. Зажимаем кнопки Volume Down, Home и Power одновременно и держим их зажатыми до перехода смартфона в Download Mode. При отображении Caution -экрана нажимаем кнопку Volume Up для продолжения;
  • подключаем смартфон в этом режиме к ПК;
  • запущенный до этого момента Odin при подключении должен распознать устройство, выдав информацию о порте подключения в окошке ID:COM;

  • убедитесь, что в Odin у вас стоят галочки только(!) на пунктах Auto Reboot и F. Reset Time;
  • нажмите на кнопку AP в Odin и выберите .tar-файл с TWRP;
  • нажмите Start. В случае появления контрольно диалога, согласитесь с установкой;
  • дождитесь завершения установки TWRP и перезагрузите смартфон. Закройте Odin. Он нам больше не понадобится;
  • сделайте резервные копии всех важных данных, контактов, файлов и т.д. на ПК;
  • скопируйте на внешнюю sd-карту (не во внутреннюю память!) смартфона zip-архивы в CM12, ядром Beoffla и Google Apps.
  • выключите смартфон;
  • загрузите смартфон в режиме TWRP recovery. Для этого зажмите и удерживайте кнопки Voulme Up, Home и Power на ~5-8 секунд. Одновременно отпустите кнопки сразу же при появлении логотима TeamWin. Дождитесь загрузки меню TWRP;
  • зайдите в раздел Wipe. Перейдите в пункт Advanced Wipe. Отметьте галочками Dalvik Cache, Cache, System, Data и Internal Storage. Свайпните по ползунку Swipe to Wipe внизу экрана для проведения очистки (wipe) данных пунктов. После завершения wipe-а вернитесь в корневое меню TWRP;
  • зайдите в раздел Settings. Снимите галочку с пункта «Zip file signature verification». Вернитесь в корневое меню TWRP;
  • зайдите в раздел Install. Через здешний аналог «проводника» найдите раздел external_sd. Это раздел внешней sd-карты. Навигация тут происходит с помощью тач-экрана. Потому это будет достаточно легко сделать. Разыщите в этом разделе файл cm-12-WEEKLY-8-i9300.zip. То есть тот самый архив с прошивкой CM12, который мы заблаговременно скопировали туда. Тапните по этому файлу. В открывшемся меню свайпните по ползунку Swipe to Confirm Flash для начала установки прошивки. После завершения установки вернитесь в пункт Install и снова зайдите в раздел external_sd;
  • найдите файл boeffla-kernel-3.0-alpha10-CM12.0-NG-i9300.zip и установите его;
  • перезагрузите смартфон;
  • после загрузки CM12 и стандартных действий по предварительной настройке системы, зайдитев Настройки/Settings системы и перейдите в раздел About phone. Тапните 7 раз по строке Build number для активации раздела Developer options. Вернитесь в корневое меню Settings/Настроек и перейдите в появившийся пункт Developer Options;
  • в разделе Developer Options активируйте пункт Advanced Reboot. Найдите пункт Root access и перейдите в него. Выберите опцию Apps and ADB. Закройте Settings;
  • снова запустите телефон в режиме TWRP Recovery. Для этого повторите действия пунктов 12-13;
  • зайдите в раздел Install и повторите знакомые по пунктам 15 и 16 действия по установке для архива gapps-lp-20141212-signed.zip;
  • перезагрузите смартфон;
  • зайдите в Play Store под своим аккаунтом. В разделе My Apps обновите все приложения Google. После завершения обновления найдите в Play Store и установите приложение SuperSU. Запустите это приложение и утвердительно ответьте на его запрос об обновлении. выберите пункт TWRP/CWM в диалоге выбора вариантов перезагрузки. нажмите Grant в диалоге о предоставлении приложению root-прав;
  • смартфон самостоятельно перезагрузится в TWRP и выполнит скрипт. Перезагрузите смартфон;
  • в Play Store найдите и установите приложения Boeffla Sound Control и Neutron Music Player. Рекомендую сразу установить платную версию плеера.

Вот и всё. Самая сложная и титаническая по объему для неподготовленного пользователя часть работы выполнена. Осталось лишь отшлифовать результат :).

«После сборки обработать напильником» ©

Настройка аудио-драйвера Boeffla Kernel:

  • запустите приложение Boeffla Sound Control;
  • активируйте Boeffla Sound, переведя переключатель в положение On;
  • активируйте настройку DAC Direct. Это и есть то самое, ради чего мы и затеяли весь эксперимент! Это активация прямого обращения приложения-плеера к DAC, в обход всех ограничений и мусора ОС;
  • активируйте настройку FLL Tuning;

Screenshot_2015-03-24-12-45-49

  • установите ползунок пункта Headphones Volume в значение 50-57. Для большинства наушников этого хватит. Но в дальнейшем вы можете экспериментировать со значениями этого параметра для достижения наилучших результатов. Для внутриканальных наушников с импедансом менее 32 Ω рекомендую устанавливать значение этого параметра не должно превышать 50. В случае с полноразмерными наушниками не рекомендую устанавливать значение данного параметра выше 57;
  • перейдите в меню Advanced Settings и установите галочку Set On Boot. Это позволит приложению с заданными параметрами загружаться при каждом старте ОС.

Screenshot_2015-03-24-12-46-16

Настройка плеера Neutron Music Player:

  • после стартовых настроек и определения местоположения папки Music (рекомендую Manual-режим для того, чтобы Neutron не совал в медиатеку файлы из игр и т.д.), переходим в меню Settings плеера;
  • отключаем(!) все пункты в корневом меню кроме Automatic Gain Protection, Service, Lyrics и Ratings. Replay Gain и 64-Bit Processing должны быть отключены(!);
Screenshot_2015-03-24-12-48-14
Screenshot_2015-03-24-12-48-27
  • в пункте Resampling устанавливаем значение Audiophile;

Screenshot_2015-03-24-12-48-39

  • переходим в пункт Audio Hardware меню Settings. Отключаем пункты Dither, Generic Driver (за музыку у нас теперь отвечает DAC-драйвер) и 32-bit Output (никакого переквантования!). Подтверждаем изменения.
Screenshot_2015-03-24-12-49-08
Screenshot_2015-03-24-12-49-19

Всё! А теперь, дорогие читатели, вы можете снова прослушать те же альбомы. Ну как? Чувствуете разницу? Теперь вы смело можете чихать на кривые ограничения, убогие штатные ресемплеры и понижающее переквантование ваших треков системой. WM1811 теперь работает так, как должен был работать изначально. В полную силу.

Screenshot_2015-03-24-12-47-25

Связка Boeffla+Neutron с выключенными по максимуму настройками является на сегодняшний день эталонным решением.

Возможные варианты

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

Вот некоторые из них:

  • для OnePlus One существует такое же как и для SGS 3 решение. Да, для этого замечательного смартфона существует Boeffla Kernel! В этом смартфоне трудится решение от Yamaha. Упомянутое ядро можно забрать здесь;
  • Noozy. Если вы хотите выжать максимум возможного из своего смартфона, но при этом лишены возможности пользоваться всеми благами Boeffla Kernel, то вам поможет абсолютно бесплатный и уникальный по своим возможностям плеер. С его помощью вы приблизите аудиотракт своего смартфоа к ультралинейному. Noozy основан на разработке гиковской Noozxoide Labs — звуковом движке EIZO-rewire M, поддерживающем DAC-чипы BurrBrown, Sabre 32 (ESS ES-серии), Wolfson. А также чип-кодеки S-Master и Qualcomm на уровне драйверов. Этот движек, так же как и Boeffla Kernel, позволяет избавиться от системных служб обработки звука. Но у такого решения есть серьезный недостаток — оно не поддерживает Android 5.*. Увы и ах. Приложение может быть установлено на смартфон с «пятеркой», но полноценно работать не будет. Плеер радостно сообщит вам, что работает в Debug-режиме и ограничится лишь мелкими «улучшайзерами» звучания на уровне собственных настроек эквалайзера. То есть без переключения на кастомные драйверы. Увы, только Android 4.*. Звук в данном случае требует жертв. Попрощайтесь с обновлениями на «леденец». Или же откатитесь на более раннюю версию. Еще один недостаток состоит в том, что Noozy не поддерживает(!) FLAC, отличный от 16/44.1. Да, он способен отыграть 16/44.1 идеально. Без убогих штатных микшеров и семплеров Android. Но забудьте с ним о 24/96;
  • для владельцев смартфонов с чипом Qualcomm Snapddragon 800 (прежде всего производства Sony) есть замечательное решение — мод под названием Project Sonico. Это практически прямой порт DSEE HX фич великолепного плеера Sony ZX1 и смартфона Z3 на более ранние девайсы;
  • сообщество xda-developers работает еще над одной вариацией на тему DSEE HX и других аудио-наработок от Sony — портом приложения Walkman. Ознакомиться с ним можно здесь. Достаточно подробный мануал (англ.) по установке приведен там же.
  • В крайнем случае (вы не гик, прошивка смартфона вызывает у вас панический ужас, вы страшитесь потери гарантии) вы можете просто довольствоваться возможностями Neutron Music Player и ждать. Ждать обещанных Корпорацией Добра еще в 2014 году доработок аудио-части. Столь желанные многими меломанами улучшения и доработки так и не вошли ни в один из выпущенных релизов 5.0.*. Остается надеяться и верить в лучшее.

Выводы

Что же мы имеем в целом? Крайне неоднозначную ситуацию. С одной стороны — существенное количество смартфонов с отличными DAC-чипами на борту. А с другой — убивающую качественный звук на корню ОС Android. В третьей же — попытки open source сообщества исправить эту ситуацию. Пока, к сожалению, возымевшие успех только в случае с отдельно взятыми моделями смартфонов. Вендоры, выпускающие смартфоны, со своей стороны не особо стараются исправить проблемную ситуацию, ограничиваясь лишь косметическими «улучшайзерами» на уровне эквалайзеров и т.д. Никто из них не хочет лезть на уровень ядра.

Никто, кроме Sony. Сколько бы гнилых овощей ни летело в сторону мобильного подразделения японской компании, но они — пионеры Hi-Res audio для смартфонов среди вендоров. Можно так же недоумевать относительно выпуска японцами того самого ZX1 и его наследника — ZX2. Но на практике эти устройства выступили великолепным тестовым полигоном. Первым блином, который при это вышел не комом. Японцы доказали себе и всему миру, что создать великолепно звучащее устройство с Android на борту возможно. Теперь же плодами этих смелых экспериментов могут пользоваться обладатели Z3. А благодаря портированию DSEE HX энтузиастами, еще и владельцы Z1, Z1c, Z Ultra и тэ дэ.

slza5xaljuypmtrtgnbo

В целом же ситуация с качественным звуком в Android, несмотря на все усилия вендоров на «железном» поприще, остается весьма плачевной. Всего лишь два качественных приложения-плеера, Neutron и Noozy, которые по праву можно назвать аудио-транспортами. Но в большинстве случаев они могут качественно отыграть только FLAC 16/44.1. Увы. «Перемен! Мы ждем перемен!» © и далее по тексту. Повод ли это унывать? Нет!

Даже 16/44.1 при качественном плеере и линейном доступе к драйверу DAC-чипа способен радовать вас звучанием. Именно этот вариант FLAC является народным форматом для мобильных устройств на сегодняшний день, а Neutron Music Player — единственным универсальным решением.

Вот и всё касательно софта. С радостью отвечу на ваши вопросы в комментариях. А в следующей статье цикла мы поговорим о наушниках.

До скорого!

посмотреть на KEDDR.com