Прошёл почти месяц с моего прошлого поста про то, как я ушёл из стримингов в роутер с SSD и начал делать свой плеер.
И первое, что хочу сказать — спасибо.
Спасибо всем, кто написал в личку, кто скачал и попробовал, кто рассказал что у него «вот тут залипло», что «вот тут было бы круче иначе», кто прислал скриншоты с обложками их любимых альбомов в нашем интерфейсе. Это, оказывается, странно бьёт по сердцу — когда видишь свой плеер на чужом телефоне с чужой музыкой, и оно играет. И не падает.
Я честно не ожидал, что отклик будет вообще. Думал, ну, напишу пост, упорядочу мысли, может, кто-то лайкнёт и пройдёт мимо. А получилось, что нас стало чуть больше. Не сотни, конечно — это всё ещё очень маленькая, тихая команда, которая по вечерам и выходным делает плеер для себя и для тех, кому это близко. Но это уже не я один с кружкой кофе. И от этого внутри как-то совсем по-другому.

Что мы сделали за этот месяц
Звук и сигнальный путь:
Audio Judge стал честнее. Раньше он мог гордо светиться золотом, когда Bluetooth-наушники по факту резали поток в lossy. Теперь — нет. Bluetooth подсвечивается синим с пояснением «здесь сигнал перекодируется на стороне OS — это не наш косяк, это так устроено». Честность важнее красивой золотой полоски.
EQ ↔ Oboe Exclusive — раньше Judge мог говорить «ты на bit-perfect пути», когда у тебя включён эквалайзер. Это было ложью, потому что любой EQ — это уже не bit-perfect. Теперь Judge говорит как есть.
USB-DAC через прямой UAC — экспериментальный путь, который обходит весь Android-микшер и пишет PCM прямо в DAC через usbdevfs. На части устройств работает, на части нет (Pixel 10 увы, среди тех где не работает — там у самого ядра проблемы с xhci). Но если работает у тебя — это правда bit-perfect 24/192.
Отдельно — про перемешивание
Тут у нас две кнопки, и они делают принципиально разное.
Большая кнопка «Перемешать всё» — это абсолютно честный Fisher-Yates random. Никакой курации, никаких «умных» алгоритмов, которые незаметно подмешивают «более подходящее». Тебе случайно — значит случайно. Spotify в своё время сделал свой «шафл» специально менее случайным, потому что математически чистый random иногда даёт повторы и кластеры, и пользователи на это жаловались. Мы пошли в обратную сторону: оставили честность, а кластеры пусть случаются — они часть честного броска монеты.
И мы постарались сделать это физическим.
Когда ты жмёшь на «Перемешать всё», ты слышишь настоящий звук тасуемой колоды карт. Не «как бы». Не «отдалённо похожий». Лёгкие щелчки в пальцах, как будто ты сам тасуешь колоду в руках.
Это, наверное, самая «несерьёзная» фича во всём проекте. И одновременно — та, которую тестеры отмечают чаще всего. Потому что в стримингах всё бестелесное: тапнул — заиграло. У нас — тапнул, услышал, почувствовал, заиграло. Маленький физический момент, который делает обычное действие настоящим. И, по совпадению, ровно тот тип маленьких ритуалов, которые мы потеряли вместе с винилом (об этом — ниже).
А во вкладке «Флоу» живёт другой режим — Living Shuffle. Умное перемешивание, которое строит поток по энергетике (от спокойного к заводному и обратно), не повторяет недавно услышанное и каждый раз даёт уникальный порядок. Для тех моментов, когда хочется не случайности, а срежиссированного сета.
Две кнопки — честность по умолчанию, кураторство по запросу. Без вранья ни там, ни там.
И про винил — отдельно
Винил для меня — это не «формат носителя». Это процесс.
У меня дома стоит весь Depeche Mode на виниле. Целиком. Не потому что я коллекционер с инвестиционным интересом и не потому что это сейчас модно — а потому что я депешист, и это та музыка, под которую я живу. И каждый раз, когда я ставлю «Songs of Faith and Devotion» или «Violator», это маленький ритуал. Достать конверт. Вытащить пластинку, держа за края. Положить. Опустить иглу. И слушать. Сторону А целиком. Потом встать. Перевернуть. Сторону Б. Никаких пропусков, никакого «следующий трек», никакого скролла на середине. Альбом так, как его задумал автор. Сорок минут, в которых ты — здесь.
Это то, что мы потеряли в стримингах.
Не качество (хотя и его тоже). Мы потеряли сам процесс. Тот момент, когда ты выбираешь, что слушать, — и потом действительно слушаешь, а не листаешь параллельно ленту. Когда обложка имеет смысл, потому что ты держишь её в руках. Когда у альбома есть начало и конец, а не бесконечный поток «похожего». Когда музыка тебе чего-то стоит — пусть только усилия встать с дивана и перевернуть сторону, — и поэтому ты к ней относишься иначе.
INTROVERT не вернёт конверт, иглу и тёплый щелчок — это физика, тут уж ничего не сделаешь. Но мы можем вернуть ощущение.
В плеере есть режим винила: переключаешь — и на экране начинает крутиться настоящая пластинка с твоей обложкой в центре. С бликами, с лёгкой инерцией, когда жмёшь паузу. Можно листать пластинки в очереди — как будто достаёшь из стопки. Мы долго возились именно с этим экраном, потому что не хотели делать «гифку с винилом для красоты». Хотели чтобы это было то самое замедление, которое возвращает в момент, когда ты слушаешь — а не потребляешь. Получилось ли — судить вам. Но мне самому теперь тяжело включать обычный плеер.
И ещё — кнопка-жук
В углу главного экрана есть маленький жук. Нажал — отчёт со всей тех. инфой (версия, устройство, Android, размер экрана) прилетает прямо нам в Telegram-бота. Никаких «опишите проблему в трёх абзацах». Просто нажал — мы получили — пошли чинить. Это снижает порог сообщения о баге до одного тапа, и для маленькой команды это критично.
А теперь — просьба
Нам очень нужны ещё тестеры.
Не сотни — но реальные люди, которые слушают музыку внимательно, у которых дома есть NAS, или USB-хранилище, или просто папка с FLAC-ами. Люди, которым не лень ткнуть жука когда что-то странно. Люди, которым не безразлично, ресемплит ли Android их 96 кГц.
Если ты из таких — будем очень благодарны. Это бесплатно, никаких регистраций, никакой телеметрии (у нас вообще нет сервера, кроме бота для багов).
Где взять: наш Telegram-канал → @introvert_hifi. APK лежит там же. В канале — короткие посты про то что мы делаем, в чате-обсуждении — идеи, вопросы, разговоры о звуке.
Что критично хочется услышать от тестера:
Что бесит. Прямо без церемоний. Лучше один честный «вот это раздражает», чем десять вежливых «всё неплохо».
Что хочется добавить. У нас есть своя дорожная карта и мы идем по ней, хоть и не быстро.
Мы по-прежнему не делаем продукт «для всех». Это маленькая, спокойная штука для людей, которым важно, что играет в их колонках. Если ты из этих людей — заходи, попробуй, расскажи что думаешь.
Спасибо, что вы тут. Без вас это был бы просто долгий разговор с самим собой
🎧 @introvert_hifi · по всем вопросам — мне лично: @r_ziganshin