awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
cmus avatar

cmus/cmus

0
View on GitHub↗
6,048 stars·508 forks·C·gpl-2.0·15 viewscmus.github.io↗

Cmus

cmus is a terminal-based audio player that runs entirely within a terminal window, using the ncurses library to render its interface without any graphical toolkit. It is designed to play local music files and internet radio streams, with support for CUE sheet metadata that splits single audio files into logical tracks with correct timing, and gapless playback that eliminates audible pauses between consecutive tracks.

The player distinguishes itself through a Vi-inspired incremental search interface that locates tracks and commands in real time as you type, and a tab-based workspace model that organizes the interface into independent views for the library, playlist, and file browser. It also provides a Unix socket IPC interface for remote control from external programs, and can execute external commands with selected tracks as arguments. Volume normalization is handled through ReplayGain metadata, adjusting playback levels per track or album for consistent listening.

Additional capabilities include a play queue for arranging upcoming tracks, playback state persistence that remembers and restores the last position on restart, and scrobbling support for reporting played tracks to Last.fm or Libre.fm. The interface supports keyboard shortcut customization, tab-completion command execution, and dynamic playlist filtering that refines the visible track list in real time.

Features

  • Terminal Players - Runs entirely in a terminal window to play local music files without a graphical interface.
  • Terminal Music Controllers - Controls music playback entirely from the terminal using keyboard shortcuts and commands.
  • Incremental Search - Provides real-time incremental search for tracks and commands as the user types.
  • Gapless Playbacks - Plays consecutive audio files with no audible silence or pause between tracks.
  • Cue Sheet Playbacks - Parses CUE sheet files to split album images into logical tracks with correct timing.
  • Gapless Playbacks - Plays consecutive audio files with no audible silence or pause between tracks.
  • Terminal-Based Interfaces - Renders the entire music player interface using ncurses in a terminal window.
  • Vi-Style Searchers - Locates tracks and commands using incremental search patterns inspired by the Vi editor.
  • Directory Browsing - Navigates the filesystem tree to locate and add audio files to the library.
  • Flat-File Library Indexes - Maintains a flat-file library index parsed into memory for fast filtering and searching.
  • Command Line Completions - Suggests command completions as the user types in a command-line mode.
  • Keyboard Shortcut Mappers - Assigns any keyboard shortcut to any command, including parameterized actions like seeking.
  • ReplayGain Normalizations - Adjusts playback volume per track or album based on stored ReplayGain loudness metadata.
  • ReplayGain Normalizations - Applies ReplayGain metadata to adjust playback volume per track or album for consistent listening.
  • Play Queue Orderings - Arranges upcoming tracks in a user-defined sequence that plays after the current selection.
  • Streaming Clients - Streams audio from internet radio servers as if they were local files.
  • Internet Radio Streams - Plays live audio streams from internet radio stations as if they were local files.
  • Input Event Loops - Processes user input and internal events through a central dispatch loop.
  • Plugin-Based Architectures - Loads input and output plugins as shared libraries at runtime for format and backend extensibility.
  • Real-time Prefix Filtering - Refines the visible track list in real time by typing filter criteria without reloading.
  • Tabbed Interfaces - Organises the interface into independent tab views for library, playlist, and file browser.
  • Data Processing - Cross-platform command-line audio player.
  • Terminal Libraries - Lightweight console-based music player.
  • Music Players - Lightweight and fast console-based music player.

Star history

Star history chart for cmus/cmusStar history chart for cmus/cmus

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Cmus

These projects share indexed features with Cmus. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • music-assistant/servermusic-assistant avatar

    music-assistant/server

    2,493View on GitHub↗

    This project is a multi-room music server and library aggregator that centralizes local audio files and various streaming services into a single unified database. It functions as a media controller for DLNA and UPnP devices, enabling the management of music, podcasts, and audiobooks across networked speakers. The system is distinguished by its ability to synchronize audio playback across multiple speakers and brands simultaneously. It features a digital signal processor for loudness normalization and frequency correction, alongside an acoustic fingerprinting engine used for metadata enrichmen

    Python
    View on GitHub↗2,493
  • zhongyang219/musicplayer2zhongyang219 avatar

    zhongyang219/MusicPlayer2

    6,211View on GitHub↗

    MusicPlayer2 is a desktop music player for Windows built on the BASS audio engine, designed for high-quality local audio playback with real-time spectrum visualization. It functions as a local music library manager, organizing tracks by artist, album, and genre, while also serving as an online metadata and artwork downloader that fetches lyrics and album covers automatically. The player features a fully customizable interface defined through XML configuration files, and includes a synchronized lyrics display with desktop overlay and karaoke-style highlighting. The player distinguishes itself

    C++
    View on GitHub↗6,211
  • musicplayerdaemon/mpdMusicPlayerDaemon avatar

    MusicPlayerDaemon/MPD

    2,607View on GitHub↗

    MPD is a headless music server daemon that indexes audio libraries and streams music to local or remote outputs. It functions as a music library manager and network audio streamer, providing a remote audio control protocol that allows external clients to manage playback, playlists, and database queries. The system acts as a multiroom audio coordinator, synchronizing audio distribution across multiple networked clients and hardware devices. It supports a variety of remote management capabilities, including a dedicated control API and the ability to broadcast audio streams over network protocol

    C++audioaudio-playermusic
    View on GitHub↗2,607
  • clangen/musikcubeclangen avatar

    clangen/musikcube

    4,784View on GitHub↗

    Musikcube is a cross-platform audio player and high-performance C++ audio engine designed for managing local music libraries. It functions as both a terminal-based music player and a headless audio server capable of indexing metadata and playing audio across different operating systems. The project utilizes a client-server architecture that separates the core audio engine and metadata indexer from the user interface. This design allows it to act as a self-hosted audio streaming server, delivering music and metadata to remote clients via WebSocket and HTTP with support for real-time transcodin

    C++alsaaudio-engineaudio-player
    View on GitHub↗4,784
Compare all 30 related projects→

Frequently asked questions

What does cmus/cmus do?

cmus is a terminal-based audio player that runs entirely within a terminal window, using the ncurses library to render its interface without any graphical toolkit. It is designed to play local music files and internet radio streams, with support for CUE sheet metadata that splits single audio files into logical tracks with correct timing, and gapless playback that eliminates audible pauses between consecutive tracks.

What are the main features of cmus/cmus?

The main features of cmus/cmus are: Terminal Players, Terminal Music Controllers, Incremental Search, Gapless Playbacks, Cue Sheet Playbacks, Terminal-Based Interfaces, Vi-Style Searchers, Directory Browsing.

Which projects share features with cmus/cmus?

Projects with overlapping indexed features include: music-assistant/server — This project is a multi-room music server and library aggregator that centralizes local audio files and various… zhongyang219/musicplayer2 — MusicPlayer2 is a desktop music player for Windows built on the BASS audio engine, designed for high-quality local… musicplayerdaemon/mpd — MPD is a headless music server daemon that indexes audio libraries and streams music to local or remote outputs. It… clangen/musikcube — Musikcube is a cross-platform audio player and high-performance C++ audio engine designed for managing local music… aome510/spotify-player — Spotify Player is a terminal-based client for streaming and controlling Spotify music directly from the command line.… harmonoid/harmonoid — Harmonoid is a local music player focused on high fidelity audio playback and comprehensive music library management.…