antarctiteex-mp3-player
A terminal interface for playing and organizing a folder of MP3 files.
Features
- Local MP3 Playback
- Automatic Lyrics Sidebar with Embedded-Tag and LRCLIB Lookup
- Library Search and Filtering
- Playlist Creation, Renaming, and Deletion
- Automatic Artist-Tag Playlists with Manual Drag-and-Drop Fallback
- Optional Artist-Tag Display in the MP3 List
- Drag-and-Drop Playlist Management
- Shift-Click Range Selection and Multi-Song Actions
- Loop and Weighted Shuffle Playback
- Play Count, Listening Time, Duration, and Last-Played Tracking
- Library Sorting by Name, Play Time, Plays, Duration, or Last Played
- YouTube Search and Preview
- YouTube Audio Downloads with Pre-Save Renaming and Live Progress
- YouTube Sorting by Title, Channel, Views, or Likes
- Apple Music Radio with an Upward-Opening Station Menu (macOS)
- Play, Pause, Seek, and Volume Controls
- Paused Session Restore for the Last Song, Position, Volume, Playlist, and Mode
- One-Click Library Refresh for Files Added or Removed Outside the App
- Automatic Per-Song Volume Normalization
- Keyboard, Mouse, and Media-Key Controls
- Compact In-App Control Reference
- In-App Success, Warning, and Error Notifications
- Detailed MP3 Playback-Failure Notifications
- MP3 Renaming and Trash-Safe Deletion
- Multi-Song Selection and Bulk Actions
- Automatic Pause for Screen Lock and Find My Alerts (macOS)
- Non-Speaker Safety Mode (macOS)
- MP3 Filename Export
- Responsive Terminal Interface
- Unified Song, Playlist, and Analysis Cache
Install
Install the player from PyPI:
python3 -m pip install antarctiteex-mp3-player
Then open a music folder and launch the player:
cd /path/to/music
antarctiteex
You can also pass the music folder directly:
antarctiteex /path/to/music
The mp3-player command is also available as an alias.
The player stores song metadata, playlists, settings, and analysis in a single
.mp3cache.json file inside the selected music folder.
Lyrics
Starting a local song opens a scrollable lyrics sidebar on the right. The
player first uses lyrics embedded in the MP3, then queries LRCLIB in the
background. Successful results are saved in .mp3cache.json, so replaying a
song does not make another network request. Section headings supplied by the
source, such as [Verse], [Chorus], and [Bridge], remain visible. Drag the
sidebar's left edge to resize it.
Accurate artist and title metadata gives the best matches. The player reads
MP3 tags first. If those are missing, use [Artist] Song Title.mp3 or
Artist - Song Title.mp3. You can close the sidebar with its × button; it
opens again when another song starts.
Artist Tags and Automatic Playlists
Artist tags are short labels at the very beginning of an MP3 filename. Put the tag in square brackets, followed by the song title:
[OR] vampire.mp3
[OR] drivers license.mp3
[21P] Stressed Out.mp3
To make an automatic playlist, create a playlist, right-click it, choose
Edit tag, and enter only the text inside the brackets. For example, enter
OR, not [OR]. The player then fills that playlist with every MP3 whose
filename begins with [OR]. Matching is case-insensitive, so [or] also
matches. The tag must be at the start of the filename.
A tagged playlist updates automatically when matching MP3 files are added, renamed, or removed. Because its contents come from filenames, individual songs cannot be dragged into or removed from a tagged playlist. Clear the playlist's tag to turn it back into a manual playlist that accepts drag-and-drop songs.
Playlist names do not display their assigned tags in the sidebar. The Show Tags control only changes how MP3 names appear in the song list; it does not rename files or affect automatic playlist matching.
ffmpeg and ffprobe must be available on PATH for audio conversion and
analysis features. On macOS, install them with brew install ffmpeg.
Development
Run the test suite with:
python3 -m unittest test_play.py
Metadata
Release files for antarctiteex-mp3-player 0.1.50
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| antarctiteex_mp3_player-0.1.50.tar.gz | 78.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| antarctiteex_mp3_player-0.1.50-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 157.6 kB
Release files / antarctiteex_mp3_player-0.1.50.tar.gz
| Download URL | antarctiteex_mp3_player-0.1.50.tar.gz |
|---|---|
| Size | 78.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ee7a21acc0db232e8dae296d7094b6414692307d068576f1d5e90d0118cfa839
|
|
BLAKE2b-256 checksum How to use checksums |
fd658f36fda6d5e7d12b5f2708194e0f866b3ba7be0b1fb97eb8bc5a732a8a5f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / antarctiteex_mp3_player-0.1.50-py3-none-any.whl
| Download URL | antarctiteex_mp3_player-0.1.50-py3-none-any.whl |
|---|---|
| Size | 79.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1d263f4ffb5efcd74a1a1ec31ca3eefbe8ab21afd7dcc6ee3753f0a853422a6e
|
|
BLAKE2b-256 checksum How to use checksums |
9b2eea1d242b1370a8adebd9128a416a4eb6569264861e7d90fe02aaac2ea2e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|