默认服务器仅适合局域网使用,不支持 SSL/TLS 且密码明文存储;流媒体服务默认占用 7905(websocket)和 7906(http)端口;从源码编译需按 wiki 构建说明准备依赖
musikcube
clangenBSD-3-Clause更新放缓跨平台终端音乐播放器,自带音频引擎、元数据索引和流媒体服务器,适合喜欢在命令行里管理和播放本地音乐库的人。
a cross-platform, terminal-based music player, audio engine, metadata indexer, and server in c++
brew install musikcubeREADME 未说明具体显存或 CPU 要求,仅说明可在 Windows、macOS、Linux 及树莓派 Raspbian 上编译运行
跨平台终端音乐播放器,自带音频引擎、元数据索引和流媒体服务器
跨平台终端音乐播放器,自带音频引擎、元数据索引和流媒体服务器,适合喜欢在命令行里管理和播放本地音乐库的人。
核心能力
- 在终端里运行,支持 Windows、macOS、Linux 和树莓派
- 内置音频引擎与元数据索引,可管理本地音乐库
- 默认开启流媒体服务器,可向客户端推送音频
- 提供纯虚 C++ SDK,方便编写自定义前端
- 可用 musikdroid 安卓应用远程控制与串流
容易踩的坑
- 3.0.5musikcube 3.0.5最新正式版2025-09-21 · 2025-09-21 07:16 UTC
musikcube 3.0.5
- add support for ffmpeg 8.x (backwards compatible with 6.x and 7.x)
- updated dependencies:
- a bunch of updates to build scripts and docs
- 3.0.4musikcube 3.0.42024-07-14 · 2024-07-14 20:56 UTC
查看更新说明
musikcube 3.0.4
- add ffmpeg 6.x backwards compatibility (@barracuda156)
- improved LastFM support (@al1-ce)
- fix build on DragonFly BSD (@alexax66)
- 3.0.3musikcube 3.0.32024-07-05 · 2024-07-05 20:58 UTC
查看更新说明
musikcube 3.0.3
- target
ffmpeg7.0 api, update encoder and decoder accordingly - ensure
taglibplugin is API compatible withtaglib2.0 - updated dependencies:
- update to Android Studio Koala, SDK 34 and related dependencies
- target
- 3.0.2musikcube 3.0.22023-09-11 · 2023-09-11 05:19 UTC
查看更新说明
musikcube 3.0.2
- added
sqlean/unicodesqlite extension (and remove custom mapping logic) for improved non-Latin, case-insensitive unicode filter/search. - read
ratingfield from metadata while indexing (make sure to do a full re-index if this interests you:^R->rebuild library) - fixed bug where
aacfiles withid3v2tags were not getting parsed correctly - fixed a bug where we may incorrectly use the track's filename/uri instead of title field during indexing.
- fixed 64-bit RPM architecture value (was
amd64, but should bex86_64) - updated musikdroid to latest version of Android Studio and external dependencies (anecdotally improving Opus playback reliability)
- updated to
[email protected],[email protected],[email protected]and[email protected]on unix platforms - re-wrote raspberry-pi/arm cross-compiling functionality to be more generic and use more well-maintained toolkits.
- added
armv6builds for Raspberry Pi Zero (and other similar devices) - added
x86Linux builds - tweaked release filenames to be consistent across all platforms (
musikcube_<version>_<os>_<arch>)
- added
- 3.0.1musikcube 3.0.12023-05-27 · 2023-05-27 19:19 UTC
查看更新说明
musikcube 3.0.1
- fixed a bug where album artist (and potentially other) metadata values were being double encoded.
- fixed a bug where re-arranging the play queue may cause unnecessary i/o.
- fixed bug where
rpmarchitecture was incorrect forarmhfbuilds. - updated
asioto 1.28.0
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
musikcube
a cross-platform, terminal-based audio engine, library, player and server written in c++.
musikcube compiles and runs easily on windows, macos and linux. it also runs well on a raspberry pi with raspbian, and can be setup as a streaming audio server.
check out the installation guide to get up and running.
be sure to also read through a the user guide, which describes app's navigation paradigm and lists all the default keyboard shortcuts.
if you want to build it from source, the instructions are here.
screenshots
it looks something like this on windows:

and this on macos:

and on linux:

here's a demo (made with asciinema):
while the main musikcube app runs in the console, you can also stream audio from (and even remote control) musikcube using the musikdroid android app, which can be downloaded in the releases section above. it looks like this:

installation
binaries are available in the releases page.
while macos binaries are provided, you can also install via homebrew as follows:
brew install musikcube
on freebsd musikcube can be installed as follows:
pkg install musikcube
on openbsd musikcube can be installed as follows:
pkg_add install musikcube
on windows, you can install via chocolatey:
choco install musikcube
then run using shell, Win+R dialog or by typing in Start Menu musikcube or mcube.
raspberry pi
musikcube runs well on a raspberry pi, connected to your home stereo. see here for detailed setup instructions.
compiling
if you'd like to compile the project yourself, you can check out the build instructions.
keyboard shortcuts
a list of all keyboard shortcuts can be found in the user guide
streaming server
musikcube ships with a streaming audio server enabled by default. it runs a websocket server on port 7905, used for metadata retrieval. an http server runs on port 7906, and is used to serve (optionally transcoded) audio data to clients.
it's important to understand that, out of the box, the server (and remote api) should NOT be considered safe for use outside of a local network. the websockets service only supports a simple password challenge, and the audio http server just handles Basic authorization. it does not provide ssl or tls. the server also stores the password in plain text in a settings file on the local machine.
you can fix some of this using a reverse proxy to provide ssl termination. details in the ssl-server-setup section. while this improves things, you should exercise caution exposing these services over the internet.
if you're interested in writing your own frontend, api documentation is available here.
sdk
the musikcube sdk is a set of small, pure-virtual c++ classes and a handful of enums and constants. they're still in the process of being slimmed down. you can see what they currently look like here: https://github.com/clangen/musikcube/tree/master/src/musikcore/sdk
dependencies
musikcube would not be possible without the following excellent free, open source, and (in the case of some macos and win32 APIs) non-free projects and libraries:
license
Copyright (c) 2004-2023 musikcube team
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the author nor the names of other contributors may
be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
