Skip to content

Repository files navigation

Lite Music Player (LMP) by paralax034

Экстремально легковесный десктопный клиент YouTube Music для Windows. Написан на .NET 11, Avalonia UI 12 всё это с Native AOT.

Главная цель проекта — бескомпромиссная оптимизация системных ресурсов (CPU / RAM / Сеть). За счёт полного отказа от Electron, WebView и JIT-компиляции. LMP запускается мгновенно и потребляет в среднем ~120–200 МБ RAM (в свёрнутом виде ~60–100 МБ). Размер дистрибутива — всего ~16 МБ в архиве (60 МБ на диске).

⚡ Под капотом

  • Сверхбыстрый Native AOT: Проект публикуется напрямую в нативный машинный код через компилятор ILC. Нулевое время прогрева JIT, агрессивный тримминг неиспользуемых сборок и минимальный отпечаток в памяти.
  • Собственный низкоуровневый аудио-пайплайн: Отказ от сторонних тяжелых плееров и плееров на базе LibVLC. Прямой вывод через WinMM/WASAPI + декодеры Concentus (Opus) / SharpJaad (AAC) с ручным управлением кольцевыми PCM-буферами (LockFreeRingBuffer).
  • Zero-Reflection MVVM: Полный отказ от устаревшего ReactiveUI и динамической рефлексии в пользу Source Generators (CommunityToolkit.Mvvm).
  • Умный потоковый стриминг: Треки загружаются легковесными чанками с упреждающим чтением, сеть стабильна и не скачем все плавно! Мгновенный старт без ожидания полной загрузки файла.
  • Агрессивный кэш: Двухуровневое кэширование (RAM + Диск) аудиосегментов, обложек и результатов поиска.
  • YT-Bypass: Встроенные C#-дешифраторы sig, n-token, poToken. Обход bot-detection через динамическую ротацию клиентских профилей (Android VR, Web, iOS). Любой трек заиграет.
  • Высокопроизводительная Offline-First БД: SQLite на базе прямого ADO.NET без накладных расходов.
  • Виртуализация списков на 5000+ треков: Плавная прокрутка огромных плейлистов без фризов благодаря виртуализации элементов в Avalonia 12.

🛠 Уже

  • Аппаратная нормализация звука (EBU R128 / LUFS)
  • Управление локальными и облачными плейлистами (редактирование, синхронизация)
  • Очередь воспроизведения (алгоритм pre-shuffle при перемешивании)
  • Авторизация через Google Cookies (SAPISID)
  • Двусторонняя синхронизация практически всего
  • Поддержка нескольких аккаунтов
  • Воспроизведение треков напрямую с серверов YouTube
  • Многопоточное кэширование аудио и обложек
  • История прослушиваний (Recently Played)
  • Полнотекстовый поиск по базе YT Music и локальной библиотеке
  • Мониторинг потребления ОЗУ и авто-компактификация памяти
  • Встроенная система уведомлений

Проект находится в активной разработке.

🔧 Сборка и запуск

Требования:

  • Windows 10/11 (x64)
  • .NET 11.0 SDK
  • 2 ГБ ОЗУ
  • ЦПУ 2х ядерный

Быстрый старт (Debug):

git clone https://github.com/Scream034/LMP.git
cd LMP
dotnet run --project LMP.csproj -c Debug

Скрипты сборки (build.bat):

  • build.bat publish (или build.bat aot) — основная релизная сборка Native AOT. Компилирует проект напрямую в нативный машинный код через ILC в папку ./publish без зависимостей от установленного .NET Runtime.
  • build.bat debug — сборка для разработки и отладки с поддержкой горячей перезагрузки (Hot Reload).
  • build.bat optimized — отладочная сборка с оптимизациями компилятора (-p:Optimize=true).
  • build.bat release — быстрая проверка релизной компиляции без публикации.
  • build.bat clean — полная очистка всех артефактов компиляции (bin, obj, publish*, *.7z).

📜 Заметка разработчикам

В конфигурации Debug нажмите F9 для открытия окна расширенной системной диагностики. Знаю тесты не прям отличные, однако критичные места проверяет.


Спасибо за использование <3!

About

The fast music player with low memory, cpu usage!

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages