musikcube

A cross-platform terminal-based audio engine and music library that functions as a local player and server.

musikcube screenshot 1

musikcube is an open-source application that provides a terminal-based interface for managing and playing music. Written in C++, it combines an audio engine, a metadata indexer, and a music library into a single tool. The software operates entirely within the console, utilizing a specific navigation paradigm and a comprehensive set of keyboard shortcuts for playback control and library management.

Key features include a built-in streaming audio server that is enabled by default. This server runs a websocket service on port 7905 for metadata retrieval and an HTTP server on port 7906 to serve audio data, which can be optionally transcoded. This server capability enables remote control and audio playback via the companion musikdroid Android app. The application supports a wide range of audio outputs to ensure cross-platform compatibility, including ALSA, PulseAudio, CoreAudio, DirectSound, and WASAPI.

It is designed to run on Windows, macOS, and Linux, and is specifically optimized for use on a Raspberry Pi connected to home stereo systems. Installation is available through pre-compiled binaries or various package managers, such as Homebrew for macOS, Chocolatey for Windows, and pkg for FreeBSD and OpenBSD. For those who prefer manual setup, the project provides instructions to compile the software from source. The application also includes an SDK consisting of pure-virtual C++ classes for developers interested in building their own frontends.

The software is positioned as a lightweight, terminal-centric solution for users who prefer a command-line environment for local music playback and home network audio streaming.

Last Modified
Software TypeCLI / Terminal
Last Activity4 months ago
Repository Age11 years
LicenseBSD-3-Clause
Open Source Alternative to
Open Source Software.io

Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.