Skip to main content

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

Project description

CLI Music Player (Cthulhu Edition)

A powerful, lightweight terminal-based music player written in Python. It combines a robust local file browser with online streaming capabilities (YouTube, SoundCloud) and a unique visual style featuring a pulsing Cthulhu and synced lyrics.

Demo

Features

  • Hybrid Playback:
    • Local: Plays MP3, FLAC, OGG, WAV, M4A, and more.
    • Online: Search and stream directly from YouTube and SoundCloud.
  • Robust Engine: Uses mpv as the core backend for best-in-class format support and stability.
  • Visuals:
    • Pulsing Cthulhu animation.
    • Synced Lyrics: Automatic fetching from LRCLib with fallback to Letras.mus.br and Lyrics.ovh.
  • Queue System:
    • Build a custom playback queue from mixed sources (Local files + YouTube).
    • YouTube Playlists: Paste a playlist URL to load all videos as search results.
    • Bulk Add: Add all search results to the queue instantly.
    • Queue Preview: See upcoming tracks directly in the player view.
  • Smart Interface:
    • Recursive Library: Scan entire folder trees.
    • Search Mode: Press / to find online tracks instantly.
    • Persistence: Save your default music directory.
  • Cross-Platform:
    • Linux: Works with system mpv.
    • Windows: Automatically downloads a portable mpv if missing.

Installation

Via PIP (Recommended)

pip install cli-music-player-cthulhu

Requirements

  • Python 3.8+
  • Linux: You must install mpv (e.g., sudo pacman -S mpv or sudo apt install mpv).
  • Windows: No extra steps! The player downloads a standalone mpv on first run if needed.

Usage

Run the player:

musicplayer
# OR open a specific folder:
musicplayer /path/to/music

Controls

Key Action
Arrow Up/Down Navigate files / Scroll Lyrics
Enter Play file / Open directory / Select Search Result
Space Play / Pause
a Add to Queue (File or Search Result)
A (Shift+a) Bulk Add (All Search Results to Queue)
/ Search Online (YouTube default, use sc: for SoundCloud)
l Toggle Lyrics / Cthulhu View
D (Shift+d) Set current directory as Default (Persistent)
n Next Track
p Previous Track (History-aware)
z Toggle Shuffle Mode
R (Shift+r) Load Recursive Library (all subfolders)
b Open Library/Browser (from Player view)
m Back to Player (from Library or Search views)
+ / - Volume Up / Down
s Stop
q Quit (from Player/Browser) or Back to Browser (from Search)

Queued items are highlighted in green in the browser and search results.

Advanced Search

  • YouTube: Just type your query (e.g., Coldplay Yellow).
  • YouTube Playlists: Paste a full YouTube Playlist URL to browse and import items.
  • SoundCloud: Prefix with sc: (e.g., sc:Synthwave mix).
  • Queue Management: Use a to enqueue individual items or A (Shift+a) to enqueue the entire search result list. The player will auto-start if idle.

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-1.0.0.tar.gz (509.7 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-1.0.0-py3-none-any.whl (510.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: cli_music_player_cthulhu-1.0.0.tar.gz
  • Upload date:
  • Size: 509.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cli_music_player_cthulhu-1.0.0.tar.gz
Algorithm Hash digest
SHA256 99916fbffbdd98c43f0c745101918160e34acab752e5ca2ede0f8960f21baccf
MD5 f785ff03c99fb7b5672c224d642d8a3d
BLAKE2b-256 ee2c59f31f29050c4e8858ed44422cd66d865ea922be9705aa76e0a65cc820e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for cli_music_player_cthulhu-1.0.0.tar.gz:

Publisher: python-publish.yml on thiagofmendonca/cli-music-player

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for cli_music_player_cthulhu-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8a074ab133ae881d85b909d7c805537a3f2d953475c77f2b9bef93d95221b9af
MD5 00d8271d9be4f043f982c81649d9a0c5
BLAKE2b-256 df5d8a998a871be045c94a83774a028161bb4dafd9c576d2d0c882b2029579f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for cli_music_player_cthulhu-1.0.0-py3-none-any.whl:

Publisher: python-publish.yml on thiagofmendonca/cli-music-player

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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