musikcube is a free, open-source music player that runs entirely in a terminal window, indexing your library into a searchable database and streaming it over your network, on Windows, macOS, Linux and the Raspberry Pi.
musikcube has no window, no menus and no buttons, because it runs entirely inside a terminal.
That is the whole design, not a limitation, and it is why it starts instantly and uses almost nothing.
If that sounds wrong to you, the honest answer is that this is not your music player, and there are better suggestions further down.
musikcube v1 and musikcube v3 Are Different Programs
This trips people up constantly, so it is worth saying plainly. The musikcube many people remember was a Windows application with a normal interface, and it has not existed for years.
Version 3 is a ground-up rewrite in C++ with a keyboard-driven terminal interface, and it runs on far more than Windows.
| musikcube v1 | musikcube v3 | |
|---|---|---|
| Interface | Windows GUI, mouse-driven | Terminal, keyboard-driven |
| Platforms | Windows only | Windows, macOS, Linux, FreeBSD, OpenBSD, Raspberry Pi |
| Networking | None | Built-in streaming server, remote API, Android client |
| Playback | Basic | Gapless, with ReplayGain support |
| Searching | Field filters | Regex search and filtering, full Unicode |
The CD ripper and the drag-and-drop import that older reviews mention went with v1. What replaced them is a library indexer, a plugin API and a server, which is a different set of priorities entirely.
What It Plays
Decoding runs through FFmpeg, so the practical answer is nearly everything: MP3, FLAC, AAC, Opus, Vorbis, WAV, APE, WavPack, ALAC and the rest.
Two additions are worth knowing about, because almost no other player bundles them. libopenmpt handles tracker modules - MOD, XM, IT and S3M - and libgme plays game music files such as NSF, SPC, GBS and VGM.
If you have a folder of Amiga modules or console rips that nothing else will touch, musikcube opens them as ordinary library entries alongside your albums.
Tags are read with taglib, and if a file's metadata looks wrong before you import it, MediaInfo or our browser-based Codec Finder will tell you what is actually inside it.
Audio goes out through whatever your system uses: WASAPI, DirectSound or WaveOut on Windows, CoreAudio on macOS, and ALSA, PulseAudio or PipeWire on Linux.
The Streaming Server, and the Warning That Comes With It
musikcube ships with a streaming server switched on by default. A websocket service on port 7905 handles metadata, and an HTTP service on port 7906 serves the audio, transcoding on the fly if the client needs it.
That is what turns a library on one machine into something you can play from another room, or from a phone. The developer also publishes musikdroid, an Android client that both streams from and remote-controls a running musikcube.
Do not expose this server to the internet. The developer says so directly, and the reasons are specific: the websocket service uses a simple password challenge, the audio service uses only Basic authorization, there is no SSL or TLS, and the password sits in plain text in a settings file on the machine. It is built for a home network, and putting it behind a reverse proxy for SSL termination improves matters without making it a hardened service.
If what you actually want is a media server with users, transcoding profiles and apps on every device, that is a different category of software. Emby and Kodi are built for it.
On a Raspberry Pi
This is where musikcube makes the most sense of all, and the developer maintains setup instructions for it.
A Pi wired into a stereo, running musikcube as a background daemon with no screen attached, becomes a silent music server you control from your phone or from another computer over SSH. It runs on ARM64 and ARMv6 as well as x86 and AMD64, so even an old Pi will do.
Headless daemon mode is a Unix-only feature. On Windows, musikcube runs in a console window like any other terminal program.
Installing It
On Windows, take the download here and run it, then start it from the Start menu or with Win+R by typing musikcube or mcube. There is also a Chocolatey package if you manage software that way.
On macOS it is in Homebrew, on FreeBSD in pkg, and on OpenBSD in pkg_add. Linux users will usually find it in their distribution's repository or in the project's own releases.
It is BSD-3-Clause licensed, which is unusually permissive even among free software here, and there is no paid tier, no account and no telemetry.
The interface is keyboard-driven throughout and the shortcuts are not guessable, so the developer's user guide is worth five minutes before you decide you dislike it. Our screenshots will show you what you are getting first.
Who Should Look Elsewhere
The tell is whether you want to look at your music or just listen to it. musikcube shows you text in columns. There is no album art, no visualiser worth the name, and nothing to click.
If you want a proper library with artwork and a mouse, foobar2000 is the obvious answer on Windows and is nearly as light. AIMP is the friendlier option if foobar2000's configuration puts you off.
If it is the low footprint you are after rather than the terminal, 1by1 plays straight from folders with no database at all, and Dopamine gives you a modern interface without much weight behind it.
If you like the keyboard-driven idea but want video too, mpv player works the same way for film, and VLC Media Player is the answer when you simply want something to open.
And if your files need work before any player will do them justice, that is a different job. FFmpeg handles bulk conversion, and our Online Audio Converter handles a single file in the browser.
For MP3 specifically, LAME MP3 Encoder is still what most of those tools are quietly running underneath.
There is a walkthrough for converting a library with foobar2000 if that is the job in front of you, and our Playlist Builder makes M3U files musikcube reads directly.
Quick questions
Does musikcube really have no graphical interface?
Correct. It draws its interface with text inside a terminal window and you drive it entirely from the keyboard. If you were expecting the old Windows version, that program has not existed for years.
Is it free?
Yes, and open source under the BSD-3-Clause licence. No paid tier, no account, no telemetry, and you may reuse the code in your own projects with very few conditions.
Can I play my library from another computer or my phone?
Yes. A streaming server runs by default, and the developer's musikdroid Android app both plays from it and remote-controls it. Keep it on your own network.
What formats does it play?
Effectively all of them, because decoding goes through FFmpeg. It also plays tracker modules such as MOD and XM, and game music files such as NSF and SPC, which most players will not touch.
Will it run on a Raspberry Pi?
Yes, and it is one of the better uses for it. On Unix systems it runs headless as a daemon, so a Pi plugged into a stereo becomes a music server you control from elsewhere.
musikcube or foobar2000?
foobar2000 if you want album art, a mouse and a Windows application. musikcube if you live in a terminal, want the same player on Linux and macOS, or want to stream from a headless machine.
Download musikcube 3.0.5 and see how it handles your library, or tell us how you got on if you have used it before.
There are 88 more players in the Media Players category, and the formats themselves are covered in Audio Codecs.
Maybe some bugs from time to time, but nothing actually noticeable.
