Skip to main content

A lightweight terminal music player with mpv engine and auto-setup

Project description

CLI Music Player

A lightweight, terminal-based music player written in Python, featuring a pulsing Cthulhu and online lyrics support.

Demo

Features

  • Terminal User Interface (TUI): Clean interface built with curses.
  • Online & Synced Lyrics: Automatic lyrics fetching from LRCLIB, Letras.mus.br, and Lyrics.ovh.
  • File Browser: Navigate directories to find your music.
  • Recursive Library Mode: Scan all subdirectories and play your entire collection at once.
  • Shuffle Mode: Randomized playback with a history-aware "Previous" function.
  • Audio Formats: Supports mp3, wav, flac, ogg, m4a, wma, aac, opus.
  • Playback Controls:
    • Play / Pause / Stop
    • Next / Previous Track
    • Volume Control
    • Progress Bar with Synced Lyrics highlighting.
  • Now Playing View: Dedicated screen showing track info, progress, and Cthulhu/Lyrics.

Requirements

  • Python 3.8+
  • Audio output device.

Installation

Via PIP (Recommended)

Install directly from PyPI:

pip install cli-music-player-cthulhu

From Source

  1. Clone the repository:

    git clone https://github.com/thiagofmendonca/cli-music-player.git
    cd cli-music-player
    
  2. Install dependencies:

    pip install pygame mutagen
    
  3. Run the script:

    python musicplayer.py
    

Usage

Run the command from your terminal:

musicplayer

Controls

Key Action
Arrow Up/Down Navigate files / Scroll Lyrics
Enter Play file / Open directory
Space Play / Pause
l Toggle Lyrics View
n Next Track
p Previous Track (History-aware)
z Toggle Shuffle Mode
R Load Recursive Library (all subfolders)
B Return to Browser Mode
+ / - Volume Up / Down
Tab Toggle "Now Playing" View
s Stop
q Quit (or go back from Player View)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cli_music_player_cthulhu-0.6.0.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cli_music_player_cthulhu-0.6.0-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

Details for the file cli_music_player_cthulhu-0.6.0.tar.gz.

File metadata

  • Download URL: cli_music_player_cthulhu-0.6.0.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for cli_music_player_cthulhu-0.6.0.tar.gz
Algorithm Hash digest
SHA256 7dc939c97e56508b86aaf0eff0366ef7d4c5b7f8f983065e2022d90347aca5de
MD5 cc5d7b43afde8a031031aabcee251219
BLAKE2b-256 d2b1e7108d90b3049de6fc15f6ad3e2a0b5234bdaf65219563a6adee4f40f354

See more details on using hashes here.

File details

Details for the file cli_music_player_cthulhu-0.6.0-py3-none-any.whl.

File metadata

File hashes

Hashes for cli_music_player_cthulhu-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a69765cbd67dfa71758d8e88f0d3e0d00fbfe55fd8be32d1de13ec1b7b5b248f
MD5 6b5525a1c3fb653c6e79dea68719c547
BLAKE2b-256 4e2dcf4c7684bf4edd3a76e01d1c7b29fcfc56f6506c897f66b10445e7509b6e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page