Skip to content

fireflylabss/firemusic

Repository files navigation

English | Español | Português (Brasil) | Deutsch | Français

🔥 Fire Music

Fire Music is a high-performance, minimalist CLI music player built with Rust and powered by the MPV engine. It features a tactical, "zero-leak" terminal interface designed for pro users who want high-density information without terminal clutter.


🚀 Key Features

  • Zero-Leak UI Engine: A strictly managed 3-line fixed UI block. It uses absolute cursor positioning and atomic updates to ensure your terminal scrollback remains 100% clean.
  • Interactive Discovery Hub: Search music across YouTube, YouTube Music, and SoundCloud directly from the CLI. Select and play or batch-download results.
  • Audio FX & Pitch: Real-time manipulation of playback Pitch (frecuency) and Equalizer presets (Bass+, Treble+, Rock, Vocal, Lofi).
  • Advanced Download Wizard: Integrated yt-dlp system. Use --download to start an interactive wizard that supports:
    • Granular stream selection (Audio, Video or Both).
    • Multi-format queuing (select multiple extensions like mp3 + flac at once).
    • Metadata, thumbnail, and subtitle embedding.
    • Format-aware validation for embedded subtitles.
  • Web Stream Playback: Native integration with yt-dlp allowing direct playback from thousands of providers.
  • Smart Navigation: Interactive pagination for large search results and a post-track decision menu.

🛠 Prerequisites

Before installing, ensure you have the libmpv development files (version 2.0 or compatible) and yt-dlp installed on your system.

Linux (Debian/Ubuntu)

sudo apt update
sudo apt install libmpv-dev yt-dlp

macOS

brew install mpv yt-dlp

📦 Installation

Manual Installation

To install the player and register the system aliases (firemusic, msc), run the following in the project root:

cargo install --path .

⌨️ Usage

You can use either msc or firemusic.

msc <file-or-url> [FLAGS]

Arguments & Flags

Flag Short Description Default
--search -s Open the Interactive Discovery Hub -
--loop -l Repeat the entire track/playlist infinitely false
--speed -f Initial playback speed factor (0.01 - 100.0) 1.0
--volume -v Initial volume level percentage (0 - 100) 100.0
--download -d Start the interactive multi-format download wizard -

🎹 Tactical Shortcuts

During playback, the UI provides real-time tactical feedback. Use the following keys:

Key Action
space Pause / Resume
/ Seek 5s backward / forward (also h / l)
{ / } Seek 1m backward / forward
/ Volume up / down (also k / j)
1 - 9 Jump to percentage (10% - 90%)
+ / - Speed increase / decrease
, / . Pitch decrease / increase
e Cycle Equalizer (Bass+, Treble+, Rock, Vocal, Lofi, Off)
0 Reset all FX (speed, pitch, eq) to defaults
l Toggle Loop mode on the fly
m Toggle Mute
s Back to Search (only at the end of track)
q / esc Quit session

🔍 Discovery Hub Examples

Search and play music without leaving the terminal:

# Open hub and choose provider
msc -s

# Quick search on YouTube
msc -s "daft punk"

# Quick search on SoundCloud
msc -s "sc:lofi beats"

📦 Download Examples

Interactive Wizard

msc --download

High-Speed Presets

# High-quality MP3
msc --download=audio "URL"

# 1080p MP4
msc --download=video "URL"

📜 License

This project is licensed under the Apache License 2.0.

Copyright © 2026-Present Firefly Labs

About

minimalist high-performance cli music player

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors