TTKMusicPlayer: A Qt and qmmp Front End for Chiptune and Tracker Formats
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux.
At a glance
- What is it?
- TTKMusicPlayer pairs the qmmp playback core with a Qt interface and a Kugou-style skin. Its format list reaches from MP3 and FLAC to SID, Amiga tracker modules and AdLib sound files, which makes it a niche tool rather than a general desktop player.
- Who is it for?
- Adopt TTKMusicPlayer if your library is mostly SID, tracker modules, AdLib or Amiga formats and you already build Qt applications, because the format coverage is the reason to accept a source build. Do not adopt it if you want a packaged, signed desktop player for macOS or Windows, or if you need an in-app updater, since the README documents neither.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What TTKMusicPlayer Solves, and for Whom
Most desktop music players handle the common formats and stop there. TTKMusicPlayer takes the opposite position. The README describes it as imitating Kugou music, using the qmmp core library, and based on Qt for Windows and Linux. The interface borrows Kugou's layout, while the playback engine comes from qmmp rather than from a home-grown decoder stack.
The feature list is where the project defines its audience. Alongside MP3, FLAC, Ogg Vorbis, Opus, WavPack and Monkey's Audio, the README enumerates SID files, Amiga Delitracker Emulator formats, AdLib sound files, OpenMPT tracker modules, RSN archives and Another Slight Atari files. That is a retro-computing and chiptune collection, not a mainstream listening library. If your folders are full of .sid, .mod, .xm or .a2m files, this player is aimed at you. If your library is streaming service downloads in MP3 and M4A, the extra decoders are dead weight and a smaller player will do the same job with less to build.
The repository topics confirm the emphasis: amiga, chiptune, music-player, qmmp, qmmp-plugin, qt, spectrum. The project is a Qt application with a spectrum visualiser and a plugin relationship to qmmp, and it is written in C++ under GPL-3.0, with an LGPL-3.0 file also present at the repository root.
How the qmmp Core and the Qt Layer Fit Together
The dependency chain in the README is explicit and worth reading before you start. The qmmp source player lives at qmmp.ylsoftware.com, there is a mirror at Greedysky/qmmp, a modified qmmp source tree on the plugins branch of the TTKMusicPlayer repository, extra plugins under the TTK-qmmp organisation, and a modified qmmp core library distributed through a Baidu Pan link. The player itself is then distributed separately through further Baidu Pan links for the player base, skins and executables.
That layout tells you the architecture. qmmp supplies the audio engine and the decoder plugins. TTKMusicPlayer supplies the Qt user interface, the service layer, and the skin system. The top-level directories match this split: TTKModule, TTKService, TTKUi, TTKUtils, TTKCommon, TTKConfig, TTKLanguage, TTKResource, TTKRun and TTKThirdParty. The build is driven by a qmake project file, TTKMusicPlayer.pro, with TTKMusicPlayer.pri and TTKVersion.pri alongside a CMakeLists.txt and a Doxyfile. The API documentation is published separately at greedysky.github.io/ttkdocs.
The practical consequence is that the qmmp plugin boundary is the extension point. Adding a format means adding or modifying a qmmp plugin, not editing the player's UI code. The README points to a modified core library rather than upstream qmmp, so a stock distribution package of qmmp is not necessarily a drop-in substitute. That is a real integration cost, and the README does not explain what the modifications change.
Building TTKMusicPlayer and Playing a First File
There is no package manager command in the README. The project points to its wiki for the compiler tutorial and to the releases page for executables, so the two routes are a source build or a prebuilt download. For a source build, the README states the tested toolchains: Qt4.x with mingw 32-bit on Windows, Qt5.x with mingw 32-bit and 64-bit, Qt6.x with mingw 64-bit, and Qt4.x, 5.x and 6.x with GCC on Ubuntu Linux. MSVC builds are marked unknown.
The README gives the download locations rather than a build command sequence. The two URLs it lists for the source are the Gitee and GitHub repository pages, and the compiler tutorial is on the project wiki rather than in the README, so the exact qmake invocation is not reproduced here. The build is a qmake project described by TTKMusicPlayer.pro, with TTKMusicPlayer.pri and TTKVersion.pri as the accompanying project include files, and a CMakeLists.txt also sits at the repository root even though the README does not document a CMake invocation.
On Windows with mingw the same qmake path applies from a Qt-enabled shell, and the README's CI table lists Qt 4.x, 5.x and 6.x mingw builds as passing. Once you have a binary, the first real use is opening a file the mainstream players reject. Point the player at a .sid or .mod file from your collection. If playback fails for a format in the README's list, the likely cause is a missing qmmp decoder plugin rather than a bug in the UI, because decoding is delegated to qmmp. The README also notes that extra plugins live in a separate TTK-qmmp organisation, so a minimal build may not include every listed format.
Where TTKMusicPlayer Falls Short
The platform story is narrower than the format story. The README's usage line names Windows and Linux only. The CI table does include an OS X row with Clang marked as passing, but the project description and the usage sentence do not claim macOS support, and there are no macOS build instructions in the README. Treat macOS as untested territory rather than a supported target.
The MSVC row in the same table is marked unknown. On Windows that leaves mingw as the documented compiler, which is a constraint if your team standardises on Visual Studio toolchains.
The distribution model is the other weak point. Executables, the player base, skins and the modified qmmp core library are all listed as Baidu Pan links, with GitHub releases as an alternative for executables and a continuous-build tag for rolling builds. Baidu Pan is awkward to reach from outside mainland China, and there is no mention of signed installers, a package repository, or an auto-update mechanism. If you need managed deployment across a fleet of machines, you are building that yourself.
Finally, the README carries a copyright notice stating the software is only for learning and communication and that songs' and playlists' copyright belongs to each music platform. That is a statement about the project's own positioning, and it matters if you were considering it as a component in a commercial product.
TTKMusicPlayer Against Other Qt Players
The related searches around this project include Qmmp player, Fooyin, Tauon music player and FeelUOwn, which is a fair set of neighbours. The difference is where each one puts its effort.
Upstream qmmp is the direct comparison, because TTKMusicPlayer uses the qmmp core library. Choosing qmmp means choosing the engine without the Kugou-style skin layer and without the TTK service modules. It also means you are on the upstream code path rather than the modified core library the README distributes separately, which is simpler to reason about when something breaks.
Fooyin is a Qt-based player built around a plugin and layout system of its own, so its extension model is the player's, not qmmp's. FeelUOwn is a Python player with a different language runtime and a different set of streaming-oriented providers. Tauon music player is another desktop player with its own interface conventions. None of these are described in the TTKMusicPlayer README, so the honest comparison is structural: TTKMusicPlayer's distinguishing trait is the breadth of retro and tracker formats inherited from qmmp's decoder plugins, plus the skin system. If those formats are not in your library, the reason to pick it over qmmp disappears.
Licence, Maintenance and Upgrade Cost
TTKMusicPlayer is licensed under GPL v3, and the README states that if you use TTKMusicPlayer or its constituent libraries you must adhere to the terms of the licence in question. The repository also ships LICENSE.LGPLv3 and the README shows both a GPL V3 and an LGPL V3 badge. That mix is worth checking against your own distribution plans, because GPL v3 carries obligations that LGPL v3 does not. This is a description of what the repository states, not legal advice; if you plan to redistribute the binary, read the licence files at the repository root.
On maintenance, the last push to the default branch was on 2026-09-22, and the repository is not archived. The most recent tagged release is 4.3.0.0, dated 2026-02-12, with a continuous-build tag from 2025-10-16 and 4.2.0.0 from 2025-07-19. The pattern is a tagged release roughly every few months plus rolling continuous builds in between.
Upgrade cost depends on how you consume it. If you build from source, you are tracking a qmake project that supports Qt 4, 5 and 6, and the README's CI table covers all three on GCC and mingw. That breadth is convenient now and expensive later, because Qt 4 is long past end of life and keeping three Qt generations building is work the project carries. There is no documented migration guide between releases, and the ChangeLog file at the repository root is the only changelog the layout shows.
Editorial conclusion
Adopt TTKMusicPlayer if your library is mostly SID, tracker modules, AdLib or Amiga formats and you already build Qt applications, because the format coverage is the reason to accept a source build. Do not adopt it if you want a packaged, signed desktop player for macOS or Windows, or if you need an in-app updater, since the README documents neither. Before building, confirm which Qt version your distribution ships and whether the qmmp core library you need is the modified one the README points to, because the README lists a separate core library download and a plugins branch rather than a single upstream dependency.
Frequently asked questions
What is TTKMusicPlayer?
It is a music player that imitates the Kugou interface, uses the qmmp core library, and is built on Qt for Windows and Linux. The source is C++ and the licence is GPL-3.0, with an LGPL-3.0 file also present in the repository.
Which audio formats does TTKMusicPlayer support?
The README lists MP3, FLAC, Ogg Vorbis, Opus, WavPack, Monkey's Audio, MIDI, CUE and FFmpeg formats, plus long lists of SID, Amiga Delitracker Emulator, AdLib, OpenMPT tracker, RSN archive and Another Slight Atari files. Decoding is delegated to the qmmp core library, so a minimal build may not include every listed format.
How do I build TTKMusicPlayer from source?
The README points to the project wiki for the compiler tutorial and lists the tested toolchains: Qt 4.x, 5.x and 6.x with GCC on Ubuntu Linux, and Qt 4.x, 5.x and 6.x with mingw on Windows, while MSVC builds are marked unknown. The build is a qmake project described by TTKMusicPlayer.pro.
Does TTKMusicPlayer run on macOS?
The README's usage line names Windows and Linux only. The CI table does include an OS X row with Clang marked as passing, but the README gives no macOS build instructions, so it is not a documented target.
Is TTKMusicPlayer the same as qmmp?
No. TTKMusicPlayer uses the qmmp core library for playback but supplies its own Qt interface and skin system. The README points to a modified qmmp core library and a modified source tree on the plugins branch, so it is not simply upstream qmmp with a different window.
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/greedysky-ttkmusicplayer)