Mineradio: a Windows-only Electron music player built around a lyric and particle stage
一款以电影镜头、粒子视觉和歌词舞台为核心的沉浸式音乐播放器。
At a glance
- What is it?
- Mineradio wraps NetEase Cloud Music and QQ Music account access in a cinematic Electron shell with a lyric stage, particle presets and a 3D playlist rack. It is Windows-only, GPL-3.0, and its installer is unsigned.
- Who is it for?
- Adopt Mineradio if you want a Windows desktop player whose lyric and particle stage is the point, and you are comfortable with an unsigned installer and a manual update flow. Skip it if you need macOS, Android or iOS, a signed binary, or in-app patching.
- Can I use it commercially?
- Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
- Is it still maintained?
- Yes. The repository last received commits 9 days ago.
- What is it written in?
- Mainly JavaScript, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What Mineradio is, and who it is aimed at
Mineradio is a Windows desktop music player built with Electron. The README describes it as an immersive player for Windows that combines search-and-play, a lyric stage, particle visuals, a 3D playlist rack and a full desktop mode into what it calls a private music space closer to a live show. The product name and version come from package.json, which lists version 2.2.0 and the GPL-3.0-only licence.
The intended user is someone who already listens through a NetEase Cloud Music or QQ Music account and wants the playback surface to look like a stage rather than a list. The feature list names daily recommendations, platform recommendations, continue-listening, listening profiles and my playlists on the home page, then adds music account, search, playlist and podcast access for NetEase, plus QQ Music search, login state and an audio-source supplement. The visual side is the differentiator: a rhythm-driven cinematic camera system, a dedicated visual mode for long podcasts and DJ tracks, custom lyrics with position and visual controls, and custom album art upload with cropping.
It is not a general-purpose player for a local music library. The README does not describe library scanning, tag editing, ReplayGain, gapless playback or output device selection. If you want a folder-driven player, this is the wrong shape of tool.
How the Electron shell, local server and visual stage fit together
The repository layout shows an Electron app with a local HTTP layer. package.json sets main to desktop/main.js, so the Electron main process starts first. server.js sits at the repository root and is included in the build file list, and the README states that the desktop entry loads a local service from the Electron main process. The front end lives in public/, with public/index.html explicitly kept in the build while public/index.*.html and the wallpaper files are excluded.
The platform integrations are separate modules at the root: kugou-api.js, qq-vip-api.js, spotify-api.js, qishui-api.js, qishui-auth-v6.js, qishui-qr-login.js and qishui-audio-decryptor/. The build config ships them as a group with the glob *-api.js plus the qishui folders. That layout suggests each platform is an adapter behind the local server rather than logic embedded in the renderer, though the README does not document the request flow between renderer and adapters.
The visual side has its own directory, cuefield/, and a dj-analyzer.js at the root. The README ties rhythm analysis to the cinematic camera system and mentions a rhythm analysis cache among locally stored user data. The build sets asar to false, so application files ship unpacked inside the install directory rather than inside an asar archive. That makes the shipped code inspectable, and it also means the install directory contains many loose files.
One detail worth noting for anyone reading the code: package.json declares license GPL-3.0-only, while the repository metadata reports NOASSERTION. The package manifest is the more specific statement of the two.
Installing Mineradio on Windows and reaching the lyric stage
Distribution is deliberately not a single channel. The README lists three download entry points: a Quark pan link, a Baidu Cloud link with extraction code SJHP, and the GitHub Release page, which it labels as version notes and source. The file to run is Mineradio-2.2.0-Setup.exe. The README is explicit that .blockmap, latest.yml and the win-unpacked directory are not the formal installer.
If you want to run from source instead, the README gives three commands. npm install fetches dependencies, npm start launches Electron, and npm run build:win produces the Windows NSIS installer. The README states the build output lands in dist/.
npm install
npm start
npm run build:winAfter installation, the NSIS configuration creates a desktop shortcut and a Start menu shortcut, both named Mineradio, and it does not allow changing the installation directory. The README says the first launch ships a built-in default test visual profile, and that the in-app default visual parameters match that profile, so a new install opens on a known visual state rather than an empty one.
For a first real use, the documented path is to sign in to a music account, then play something and switch to the Emily or default playback visual, where the lyric stage and particle stage run together. The README also documents a right-click gesture that opens the 3D playlist rack for browsing a playlist queue. If you are updating from 2.1.0 and see no update notice, the README's instruction is to exit completely from the tray, reopen the app, switch back to a normal window, and wait about 30 seconds for the update arrow in the top right corner.
Expect friction on the way in. The README acknowledges that a small Electron app with an unsigned installer can be flagged by the browser, Windows Defender or SmartScreen, and it gives the exact recovery steps: in the browser download list, open the three-dot menu and choose keep; in the SmartScreen window, click more information and then run anyway. It also draws a line: if antivirus reports a trojan, high risk or has already quarantined the file, do not force it, delete the file and re-download from the listed entry points.
Updates are a notification, not an installer
The update mechanism is narrower than most desktop apps. The README states that Mineradio requests the GitHub Releases latest endpoint to detect new versions. When the remote version is higher than the local one, the in-app update entry shows the release content and opens an optional pan download line in the system browser. Clients from 2.0.3 onward will not read, download, cache or apply a release attachment or patch, even when the release carries a full installer. The README repeats this in the usage section: the in-app update entry only opens a browser download page, and the client does not download or apply patches internally.
That design removes a whole class of silent-update failure, and it also means every upgrade is a manual download and a manual installer run. There is no rollback path documented anywhere in the README. If a new version regresses the visual stage, the documented recovery is to reinstall an earlier installer, and the README does not describe how to obtain one or whether settings survive a downgrade.
For maintainers testing the chain, the README documents an environment variable, MINERADIO_UPDATE_MANIFEST, which can point at a local manifest JSON or an HTTP address to simulate an online release. That is the only documented test hook for the update path.
Where Mineradio stops being the right tool
Platform coverage is the first hard boundary. The repository description, the README and the build target all say Windows. The win target builds NSIS for x64 only, and the author has published a v2.2.0-mac release labelled a preview, but the README documents no macOS installation procedure and no macOS build script. Searching for Mineradio on macOS, Android or iOS is therefore a dead end as far as the documentation goes.
The second boundary is legality and account scope. The README states plainly that Mineradio is not an official client of NetEase Cloud Music, QQ Music or Tencent Music Entertainment, and is not affiliated with any music platform. It says the third-party integrations are for personal study, local client experience and playback assistance for the user's own account, and that the project does not provide the ability to bypass payment, bypass membership, crack audio quality or redistribute music content. If your use case depends on content you cannot play through your own account, this project is not the tool.
The third boundary is operational. The installer is unsigned, the build config sets signAndEditExecutable to false, and the README spends a section on SmartScreen and antivirus warnings. On a managed corporate Windows machine, that combination usually ends the evaluation before the app starts. The README also warns that v1.0.10 and earlier installers should no longer be installed or shared, which is a maintenance signal: old builds are treated as unsafe.
Finally, the README does not document a local library workflow, equalizer, output routing, or a headless or CLI mode. server.js exists, but the README never describes an API surface for it.
How Mineradio differs from a plain Electron or web player
The closest comparison is an ordinary Electron music client that wraps a platform web player. Those usually give you a list, a seek bar and album art, and they inherit whatever the web player renders. Mineradio puts the visual system in the foreground: a rhythm-driven cinematic camera, particle presets, a lyric stage with custom lyric position and visual controls, a dedicated mode for long podcasts and DJ tracks, and a 3D playlist rack on right-click. The trade-off is that the visual layer is coupled to rhythm analysis, which the README lists as a cached local artifact, so the experience depends on analysis having run.
A second comparison is a local-first player such as a desktop music library manager. Those handle files, tags and formats and do not need an account. Mineradio goes the other way: it needs a NetEase or QQ Music login state for its main content paths, and the README's privacy section says login cookies, search history, custom covers, custom lyrics and rhythm analysis caches should stay in the local user data directory or browser local storage and should not be committed to the repository. The two tools solve different problems, and neither substitutes for the other.
Against the platform's own official desktop client, the difference is control and risk. Mineradio gives you the visual stage and the gesture layer, and in exchange you accept an unsigned third-party binary, an account login inside that binary, and a manual update flow that never patches itself.
Licence, maintenance and the cost of staying current
The project is licensed GPL-3.0, stated in the README and as GPL-3.0-only in package.json. If you fork and distribute a modified build, the GPL obligations attach to your distribution; that is a general property of the licence and not legal advice. The README adds a separate carve-out: the MR logo, the Mineradio name, the interface visual design and original visual expression belong to the author, while third-party dependencies and services follow their own licences and terms. A GPL grant on the code does not automatically grant you the name or the artwork, so a rebranded fork should not carry the Mineradio identity.
The build config ships LICENSE and NOTICE.md into the package, along with docs/THIRD_PARTY_PORTS.md, which suggests the third-party port attributions are meant to travel with the binary.
On maintenance, the last push to the repository was on 2026-09-08, and the repository is not archived. The most recent releases are v2.2.0 on 2026-09-07 and a macOS preview build, v2.2.0-mac, on 2026-09-08. The upgrade cost is real but bounded: because the client never applies patches, each release means downloading Mineradio-2.2.0-Setup.exe again from one of the announced entry points and running it over the existing install. The README says users who already installed an older version can run the new Setup.exe directly to update. There is no documented migration step for user data between versions, and no documented rollback. For a Windows user who checks releases occasionally, that is a small tax. For anyone hoping to pin a version and receive security patches automatically, it is the wrong update model.
Editorial conclusion
Adopt Mineradio if you want a Windows desktop player whose lyric and particle stage is the point, and you are comfortable with an unsigned installer and a manual update flow. Skip it if you need macOS, Android or iOS, a signed binary, or in-app patching. Before installing, verify the file is named Mineradio-2.2.0-Setup.exe and that it came from the download entry points listed in the release announcement, then check that v1.0.10 and earlier installers are not what you have.
Frequently asked questions
What is Mineradio?
Mineradio is a Windows desktop immersive music player that combines search-and-play, a lyric stage, particle visuals, a 3D playlist rack and a full desktop mode. It is an Electron application, currently at version 2.2.0, licensed GPL-3.0.
How do I download and install Mineradio on Windows?
Use one of the download entry points listed in the release announcement (Quark pan, Baidu Cloud with extraction code SJHP, or the GitHub Release page) and run Mineradio-2.2.0-Setup.exe. The README warns that .blockmap, latest.yml and the win-unpacked directory are not the formal installer. If SmartScreen or your browser flags the unsigned installer, the README gives the keep and run-anyway steps, but says not to force it if antivirus reports a trojan or has quarantined the file.
Does Mineradio run on macOS, Android or iOS?
The documentation covers Windows only: the README describes a Windows desktop player and the build target is a Windows NSIS installer for x64. A macOS preview release named v2.2.0-mac exists, but the README documents no macOS installation procedure or build script, and it says nothing about Android or iOS.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/xxhuberrr-mineradio)