Skip to main content

Terminal music player with real-time audio visualizer themes

Project description

music-tui

A terminal music player with real-time audio visualizer themes, built with Python + mpv.

 ๐ŸŽต Music TUI   โ–ฒ Fire
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ–ถ CITYWLKR - Immortal                     Keys
  Song Two                                j / โ†“    Move down
  Song Three                              k / โ†‘    Move up
                                          Enter    Play selected
                                          Space    Play / Pause
                                          n        Next track
                                          p        Prev track
                                          โ† / โ†’   Seek ยฑ5 s
                                          +/-      Volume
                                          m        Mute
                                          s        Shuffle
                                          r        Repeat
                                          t        Next theme
                                          q        Quit
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
  โ–ฒโ–ฒ  โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆ  โ–ˆโ–ˆโ–ˆโ–ˆ โ–ฒโ–ฒโ–ฒ โ–ˆโ–ˆโ–ˆโ–ˆ  โ–ˆโ–ˆโ–ˆ โ–ฒโ–ฒ  โ–ˆโ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆ โ–ˆโ–ˆ โ–ˆโ–ˆโ–ˆโ–ˆ
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ–ถ  CITYWLKR - Immortal
   01:23 / 03:45   36%
   โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘โ–‘
   vol: +/-   mute: m   seek: โ†โ†’   theme: t

Features

  • Browse and play audio files from ~/Music (recursive)
  • Supports .mp3, .flac, .wav, .ogg, .m4a, .aac, .opus, .wma
  • 6 visualizer themes โ€” cycle with t:
    • โ–‡ Bars โ€” smooth sub-character bars, green โ†’ yellow โ†’ red
    • โˆฟ Wave โ€” filled waveform with a bright crest line
    • โ—ˆ Spectrum โ€” symmetric bars expanding from center
    • โŒ˜ Matrix โ€” green falling matrix characters
    • โ˜… Neon โ€” rainbow frequency bars
    • โ–ฒ Fire โ€” heat-gradient bars, white-hot at the base
  • Real FFT visualization from PulseAudio monitor (when sounddevice+numpy installed)
  • Animated fallback visualizer when audio capture is unavailable
  • Shuffle, repeat, seek, volume control

Requirements

  • Linux with mpv installed
  • Python 3.9+
# Ubuntu / Debian
sudo apt install mpv

Installation

pip install music-tui

For real-time FFT visualization (reads audio from PulseAudio):

pip install "music-tui[visualizer]"

Usage

music-tui

Drop audio files into ~/Music (any subfolder works) and launch.

Keyboard shortcuts

Key Action
j / โ†“ Move down
k / โ†‘ Move up
Enter Play selected
Space Play / Pause
n / p Next / Previous track
โ† / โ†’ Seek ยฑ5 seconds
+ / - Volume up / down
m Mute
s Toggle shuffle
r Toggle repeat
t Cycle visualizer theme
q Quit

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 Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

sahil_music_tui-0.1.5-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file sahil_music_tui-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for sahil_music_tui-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a11ee59a8195a539f40a9b88985f831d47d53a1118ccb153f802215a1cbf9e5b
MD5 a69fba55664455291b46ecc89f187bba
BLAKE2b-256 094dc05d1b35d9698cfe4f870fc2adafe9ab56f88e5d4ecec862b58cdc655fd1

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