Ваша музыка — на вашем телефоне

Без сети, без аккаунта, без отвлечений. CX's Music — локальный музыкальный плеер для Android: бесплатно и с открытым исходным кодом.

  • Офлайн
  • Без аккаунта
  • Без рекламы
  • Открытый код
Экран воспроизведения CX's Music: сверху квадратная обложка, ниже название, исполнитель, три строки текста (текущая — белым полужирным), полоса воспроизведения на 0:56 из 2:38 и пять кнопок: повтор, назад, пауза, вперёд и добавить
Сейчас играет

Зачем он нужен

По-настоящему офлайн

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

К звуку без компромиссов

10-полосный эквалайзер и пространственный звук системы, а у каждой папки или плейлиста могут быть свои настройки.

Тексты сделаны как надо

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

Сравнение возможностей

Описывает текущую опубликованную версию каждого приложения. Прошлые изменения — в истории версий.

ВозможностьAndroid
Управление фонотекойПоиск по названию, исполнителю, альбому и папке
Большие фонотекиМиллион треков — плавно (измерено)
Эквалайзер10 полос, 11 пресетов, включая пользовательский
Звуковые эффектыУсиление баса, виртуализатор, пространственный звук (если устройство его поддерживает)
Скорость и высота тонаСкорость 0,5×–2,0×, высота от −12 до +12 полутонов, независимо друг от друга
АудиовыходСистемный вывод
Воспроизведение DSDНе поддерживается
Текст песниПолноэкранный текст, караоке-подсветка, строка перевода, порядок двух языков можно менять
Редактирование текстаВстроенный редактор, сдвиг всей временной шкалы
Изменить сведенияЗаписывается обратно в аудиофайл
Преобразование форматаНе поддерживается
ПлейлистыСвои значки, отдельный режим воспроизведения
ПеремешиваниеС учётом привычек прослушивания; каждый трек ровно один раз, продолжается после перезапуска
Оформление6 цветов оформления + тёмный режим
Языки интерфейса15 (включая индонезийский и вьетнамский)
Таймер сна15/30/60 минут, произвольное значение или конец текущего трека
Фоновое воспроизведениеФоновое воспроизведение, управление с экрана блокировки, Bluetooth и автомобильные кнопки

Полный список языков — ниже, в технических подробностях.

Поддерживаемые форматы

MP3 · M4A · FLAC · WAV · OGG · Opus

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

Снимки экрана

Сейчас играет
Экран воспроизведения CX's Music: сверху квадратная обложка, ниже название, исполнитель, три строки текста (текущая — белым полужирным), полоса воспроизведения на 0:56 из 2:38 и пять кнопок: повтор, назад, пауза, вперёд и добавить
Текст песни
Экран текста песни: весь текст построчно, текущая строка синим полужирным по центру экрана, остальные тем бледнее, чем дальше; сверху название и исполнитель
Эквалайзер
Экран эквалайзера: сверху общий переключатель и «Пресет: фолк», ниже прокручиваемый по горизонтали ряд полосовых ползунков, затем ползунки усиления баса и виртуализатора, включённый переключатель пространственного звука с пометкой, что пространственный звук системы отключён в настройках, и регулятор высоты тона

Загрузка и установка

Полностью бесплатно — без рекламы и встроенных покупок. Установочный файл отдаётся с нашей собственной CDN, аккаунт не нужен.

CX's Music for Android

Версия
v1.1.1
Дата выпуска
Размер файла
5.1 MB
Требования
Android 8.0 или новее
Скачать APK

Установочные файлы отдаются с нашего собственного домена dl.cxapps.app, размещённого в Cloudflare R2; при загрузке к этому соединению применяется политика конфиденциальности Cloudflare. Конфиденциальность

Контрольная сумма SHA-256

1c444606490909eabf5b7003fb6e48c9ba20577366122ae11640c5edd2e8236c

Это APK, поэтому установка требует одного дополнительного шага

Приложение не публикуется в Google Play, поэтому APK устанавливается напрямую. В первый раз Android спросит, разрешить ли установку из этого источника — вашего браузера или файлового менеджера. Согласитесь.

Затем система или Play Protect может сообщить, что разработчик неизвестен; выберите продолжить. Формулировки и число шагов у разных производителей разные, но спрашивают об одном и том же.

Если хотите сначала проверить файл, сверьте его с контрольной суммой SHA-256 выше с помощью файлового менеджера или утилиты проверки.

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

Проверить этот файл самостоятельно

SHA-256 выше отвечает на один вопрос: тот ли это файл, который мы опубликовали.

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

При этом он не отвечает на два других вопроса: заслуживает ли доверия сам опубликованный нами файл и собран ли он из исходного кода, указанного на этой странице.

Эта сборка тоже не воспроизводимая, и разрыв больше: релизные сборки проходят сжатие R8, а ключ подписи не хранится в исходном коде (ключи подписи публиковать нельзя). Поэтому собранный вами APK всегда будет отличаться от нашего — расхождение ожидаемо. Собрать свою копию всё равно можно, но сначала о цене: ваша подпись не совпадает с нашей, поэтому поверх уже установленной версии она не встанет. Придётся сначала удалить приложение, а удаление стирает все его данные на устройстве — счётчики прослушиваний, плейлисты и отметки «избранное» в том числе.

Автообновления нет

Приложения из Google Play обновляются сами; напрямую установленный APK — нет. О выходе новой версии вас не уведомят.

Посмотреть историю изменений

Исходный код

Основной репозиторий

codeberg.org/chenxiang/cxmusic-android

Скачать исходный код

a73733d.zip

0.5 MB ·

470d71847942209212ea9530a1b7dc5fe07c665df5cece968374f44a0b5d997d

Имя файла — короткий хеш коммита, а не номер версии: исходный код и выпуски не всегда совпадают. Архив создаётся командой git archive из этого коммита.

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

Прежний репозиторий

github.com/hnshysglxfsccx-hub/cxmusic-android

Содержимое по этому адресу не изменилось и не пропало, но аккаунт ограничен GitHub, открыть его никто не может, и мы больше не рассчитываем на восстановление.

Есть и версия для Windows →

Частые вопросы

Это бесплатно? Есть ли реклама или встроенные покупки?

Полностью бесплатно: без рекламы, без встроенных покупок, без подписок. Исходный код опубликован под лицензией MIT.

Нужно ли заводить аккаунт?

Нет. Ни в одном из приложений нет системы аккаунтов.

Загружается ли куда-то моя музыка или данные об использовании?

Нет. Приложения не выходят в сеть, в них нет ни статистики, ни механизма отправки. Ваши музыкальные файлы и история прослушивания остаются только на вашем устройстве.

Почему при установке появляется предупреждение безопасности?

Потому что для пакета не куплен сертификат подписи кода, а Android предупреждает о пакетах, происхождение которых не подтверждено. Подробные шаги — выше; кроме того, файл можно сверить самостоятельно по контрольной сумме SHA-256.

Какие аудиоформаты поддерживаются?

Полный список — в разделе «Поддерживаемые форматы» выше. Эти шесть воспроизводятся на любом устройстве Android, без риска нехватки компонента.

Есть ли версия для iPhone?

Пока нет. Для разработки приложения под iOS нужны компьютер Mac и учётная запись разработчика Apple, что сейчас недоступно.

Версия для компьютера и мобильная — это одно приложение?

Нет. Это два самостоятельных приложения, разработанных отдельно. Возможности пересекаются, но не совпадают, а настройки и данные не общие.

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

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

Заведите issue на Codeberg.

Технические подробности

CX’Music (для компьютера)

C# · .NET 8 · WinUI 3 · NAudio · SQLite + FTS5

  • Аудиотракт — цепочка собственных ISampleProvider (самодельная DSP-цепочка поверх NAudio): декодирование → 18-полосный эквалайзер → эффекты → изменение скорости и высоты тона → громкость → вывод через WASAPI
  • Позиция воспроизведения считается только по числу семплов, реально израсходованных WASAPI, что обходит проблему недостоверных позиций перемотки у оборудования
  • Разбор DSF и преобразование DSD → PCM написаны на чистом C#
  • Постраничная виртуализация и keyset-пагинация. Прокрутка и поиск измерялись на синтетической фонотеке из миллиона треков — подтормаживаний не возникло; в той фонотеке нет обложек и больших файлов, поэтому измерены были сам список и сам запрос.

CX’s Music (для телефона)

Kotlin · Jetpack Compose · Media3 (ExoPlayer) · Room · Hilt

  • Перемешивание использует взвешенную выборку без возвращения по Efraimidis–Spirakis, поэтому каждый трек диапазона звучит ровно один раз
  • Перестановка сохраняется в базе данных, поэтому продолжается после того, как систему завершила процесс
  • Окно виртуальной очереди держит в плеере лишь 50 треков, обслуживая при этом фонотеку на миллион
  • Встроенный текст читается из ID3 SYLT/USLT, Vorbis Comment и MP4 atom

Полные списки языков интерфейса

CX’Music (для компьютера)
繁體中文 · 简体中文 · English · 日本語 · 한국어 · Español · Français · Deutsch · Português · Русский · Italiano · Nederlands · Ελληνικά · العربية · हिन्दी
CX’s Music (для телефона)
繁體中文 · 简体中文 · English · 日本語 · 한국어 · Español · Français · Deutsch · Português · Русский · Bahasa Indonesia · Tiếng Việt · Ελληνικά · العربية · हिन्दी

Отличий ровно два: в версии для компьютера есть итальянский и нидерландский, в мобильной — индонезийский и вьетнамский. Сам сайт предлагает 17 языков — объединение обоих списков.