MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
Один плеер для Яндекс Музыки, YouTube Music, SoundCloud, VK и Spotify. Сайт скоро будет здесь.
Translation pending
MediaKotlin · JavaScriptGitHub @PersikPrimeOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
A vibecoded music player for YaMusic, YTM and SoundCloud music. Available on Windows, macOS and Android! (NOW WITH SPOTIFY!)
Taken from the repository README
Loading the full README.
Read the full README ↗Один плеер для Яндекс Музыки, YouTube Music, SoundCloud и VK: общие лайки и плейлисты, поиск сразу везде и «Моя волна», которая смешивает сервисы в нужной пропорции. Windows, macOS и Android.
Токены и cookies сервисов хранятся только на устройстве (на ПК — зашифрованы системой) и на сервер Nyao не отправляются.
Последняя версия — на странице релизов. Приложение само проверяет обновления: «Настройки» → «Центр обновлений» (на Android APK ставится поверх, входы сохраняются). Тестовые сборки выходят пререлизами -dev.
ПК (Electron, нужен Node.js 20+):
npm install
npm start # запуск (npm run dev — с DevTools)
npm run dist # установщик для Windows (dist:mac — .dmg)
npm run bump # +1 к номеру сборки
Android (Kotlin + Jetpack Compose, JDK 17 и Android SDK 36):
cd android && ./gradlew assembleRelease
Версия «0.7 (45)» лежит в version.json и общая для всех платформ. Сборки для всех систем делает GitHub Actions при пуше; тему macOS на другой системе можно посмотреть так: NYAO_THEME=mac npm start.
src/main/ главный процесс: провайдеры сервисов, волна, поток аудио, тексты, аккаунт Nyao
src/renderer/ интерфейс без фреймворков (app.js — экраны, player.js — очередь)
android/ приложение для Android
server/ сервер аккаунта Nyao (Node.js + Postgres)
Сервисы подключены через неофициальные API, после их обновлений что-то может сломаться. Для личного использования; без Яндекс Плюса полные треки могут не играть.
Все пять источников передают кандидатов общему алгоритму Nyao. В «Любимом» при максимальной свежести цель — 70% недавних лайков, 20% остальных любимых и 10% рекомендаций; при нехватке кандидатов доли перераспределяются. Свежесть — давность интереса, а не год выхода песни. Где API не отдаёт дату лайка, используется исходная позиция в списке и дата обнаружения нового добавления. Баланс источников — предпочтение, которое может уступать доступности, разнообразию и отсутствию дублей.
Дубликаты объединяются по ISRC или исполнителю, названию и близкой длительности. Названия версий live/remix сохраняются. Локально запоминаются «не нравится», ранние пропуски и дослушивания. Настроение пока передаётся только в рекомендации Яндекса; Spotify участвует через библиотеку и поиск, без зависимости от закрытого API рекомендаций.
Проверка подбора: npm test; Android: cd android && ./gradlew testReleaseUnitTest.