Music Player

Music Player Used AI

22 devlogs
53h 49m
•  Ship certified
Created by csd4ni3l

A simple and fast music player in Arcade. (AI was only used for some ID3 tags and metadata)

Note: FFmpeg is required due to both yt-dlp and to support most formats

Features:
- Music downloading with thumbnail and as best format using yt-dlp
- Music playing including looping, pausing/resuming, shuffling and skipping to next track
- Music metadata fixing from title
- Audio normalization using pydub
- Tab based music selection(directories)
- Custom playlists
- Fast search using just text, and instant best result playback using enter
- Discord RPC
- MusicBrainz metadata
- MusicBrainz global search
- AcoustID automatic music recognition
- Lyrics from lrclib

Timeline

I fixed the no music label location to be better now that the music doesnt take up the whole window, i fixed artist name being in the wrong place in metadata viewer, i fixed playlist shuffling(which i never tested, only with directory tabs), i improved file manager navigation by allow to go back to main menu. Now playlist selected is kept after selecting a playlist when adding music, fix text was not truncated when updating artist and title meaning the volume bar could go over a the tool icons.

Update attachment

fix crashing if the directory of a tab is empty and you tried to search, this was literally happening because of 4 characters and me trying to use self. on a local variable. I fixed next lyrics label taking up space and making the UI unusable sometimes due to spacing, and i added debugging for fpcalc and ffmpeg missing, and fixed the ffmpeg missing displaying wrong popup when Windows download was done.

Update attachment

Ship 2

1 payout of shell 20.0 shells

csd4ni3l

24 days ago

csd4ni3l Covers 2 devlogs

Fix search crashing if the directory is empty.

Update attachment

Make fpcalc missing page show up on startup instead of when viewing metadata, add metadata to file automatically with the downloader, fix lyrics caching, add more modules to credits, fix SSL not being found and downloads crashing on executables with certifi

Update attachment

Ship 1

1 payout of shell 786.0 shells

csd4ni3l

29 days ago

csd4ni3l Covers 18 devlogs

I have no idea how i have 46 minutes, maybe it got removed from the last devlog. I only i fixed the artist and lyrics label staying as a set value after no music is playing since then.

Update attachment

Remove FFmpeg Linux download which wouldnt work and add messageboxes to indicate different methods. Add a yes/no messagebox for yt-dlp install. Add acoustid music recognition which will identify songs based on audio fingerprint for better metadata. Now only MP3 is supported because i never really tested anything else and its the easiest. I split online_metadata to multiple files for easier navigation. Now missing metadata is added to files automatically, and i added a synchronized lyrics pane, shown in the video, that shows the current and upcoming lyrics.

Finish global search, add example tracks for albums and artists, urls for artists. FIx an issue where enter characters where shown in global search bar.
Fix a very big issue where the lyrics were wrong if the metadata was cached. I didnt notice this in the video, my bad.
Fix a fatal issue where i forgot to update requirements.txt, so built EXEs didnt work(I use UV, so i forgot to update it, and Github Actions uses it)

Update attachment

Connect metadata viewer and the global search, make it available through an icon, make online metadata gathering and cover art gathering much faster, make back button in metadata viewer only go back to music data instead of exiting, add a mouse hover effect for music. Still no commits, i want to add some more metadata.

Work on a global metadata search function for music, artists, and albums. No commits yet. I have a lot of work to do still.

Update attachment

Finish UI Refresh, fix settings, fix album caching not working, add lyrics viewer and lyrics caching

Update attachment

Work on a better UI Layout which is card based, remove multiple modes, make new tab have a dropdown to create either a playlist or directory tab
PS: No commits on the repo currently since i am not done, i just dont want to lose the time.

Update attachment

Add better currently played music controls

Update attachment

Add metadata viewer for albums, artists and music, add metadata caching, make music buttons smaller

Update attachment

Fix audio normalization not working, add online metadata helper that uses MusicBrainz, Cover Art Archive and LRCLIB to gather as much data as possible.

Going to work on showing the metadata it gets tomorrow.

Update attachment

Add file watching/automatic reload, remove manual reload, split utils into multiple files, add much more metadata such as last play time and play times

Update attachment

Add more metadata extraction and a view metadata button. Debug performance issues with Arcade and UI(not included on Github).
Working on finding free to use Lyrics APIs for Lyrics.

Update attachment

Convert from card based view to list based view with thumbnails, fix loop icon

Update attachment

Add controller support, Fix audio normalization crash

Update attachment

fix normalizing audio removing thumbnail and metadata, fix music downloading not being listed a feature

Update attachment

fix download text having whitespace, fix display mode None crashing, removed files and folders crashing, fix early exiting if a tab doesnt exist, and add normalizing audio alert

Update attachment

Add file and directory selector(file_manager)

Update attachment

Add deletion with right click, fix some stuff
(took too long because of a stupid bug)

Update attachment