{"id":14962590,"url":"https://github.com/basharovv/musicat","last_synced_at":"2026-04-04T01:04:26.185Z","repository":{"id":61486785,"uuid":"528107459","full_name":"basharovV/musicat","owner":"basharovV","description":"A sleek desktop music player and tagger for offline music 🪕. With gapless playback, smart playlists, and a map view! Built with Svelte and Tauri","archived":false,"fork":false,"pushed_at":"2025-04-21T18:04:53.000Z","size":66496,"stargazers_count":610,"open_issues_count":18,"forks_count":29,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-05-15T15:06:42.318Z","etag":null,"topics":["audio","audio-player","jsvectormap","macos-app","mp3","music","music-library","music-player","player","rust","rust-audio","svelte","sveltejs","tauri","tauri-app","tauri-apps","windows-app"],"latest_commit_sha":null,"homepage":"","language":"Svelte","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/basharovV.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-08-23T18:00:49.000Z","updated_at":"2025-05-14T06:31:50.000Z","dependencies_parsed_at":"2024-04-26T16:32:20.038Z","dependency_job_id":"033b93a6-f665-48a6-aee7-cb34dc3f2c1e","html_url":"https://github.com/basharovV/musicat","commit_stats":{"total_commits":275,"total_committers":2,"mean_commits":137.5,"dds":"0.0036363636363636598","last_synced_commit":"8c69349e4101fe09cd3ef00521997e076169de1f"},"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basharovV%2Fmusicat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basharovV%2Fmusicat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basharovV%2Fmusicat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/basharovV%2Fmusicat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/basharovV","download_url":"https://codeload.github.com/basharovV/musicat/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254364270,"owners_count":22058878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audio","audio-player","jsvectormap","macos-app","mp3","music","music-library","music-player","player","rust","rust-audio","svelte","sveltejs","tauri","tauri-app","tauri-apps","windows-app"],"created_at":"2024-09-24T13:30:05.925Z","updated_at":"2026-04-04T01:04:26.176Z","avatar_url":"https://github.com/basharovV.png","language":"Svelte","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg height=\"140\" src=\"src-tauri/icons/Square310x310Logo.png\"\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eMusicat\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/basharovV/musicat/actions\"\u003e\u003cimg alt=\"Build Status\" src=\"https://img.shields.io/github/actions/workflow/status/basharovV/musicat/build.yml?branch=main\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/basharovV/musicat/releases\"\u003e\u003cimg alt=\"Latest Release\" src=\"https://img.shields.io/github/v/release/basharovV/musicat\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/basharovV/musicat/blob/main/LICENSE\"\u003e\u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/basharovV/musicat\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cb\u003eA sleek player for your local music library\u003c/b\u003e\n\u003cbr/\u003e\n-\n\u003cbr/\u003e\n\u003csmall\u003e🎵 supports MP3, FLAC, WAV, AAC, OGG\u003c/small\u003e\n\u003cbr/\u003e\n\u003csmall\u003e🔗 linked library, using original files on disk\u003c/small\u003e\n\u003cbr/\u003e\n\u003csmall\u003e🔊 gapless playback (same sample rate only)\u003c/small\u003e\n\u003cbr/\u003e\n\u003csmall\u003e🏷 metadata tagger (read and write ID3v2, Vorbis)\u003c/small\u003e\n\u003cbr/\u003e\n\u003csmall\u003e👀 auto-watch and re-scan folders\u003c/small\u003e\n\u003cbr/\u003e\n\u003csmall\u003e🧠 smart playlists\u003c/small\u003e\n\u003cbr/\u003e\n\u003csmall\u003e🖼 download album art, origin country from Wikipedia\n\u003c/small\u003e\n\u003cbr/\u003e\n\u003csmall\u003e🎤 fetch lyrics for current song\n\u003c/small\u003e\n\u003cbr/\u003e\n\u003csmall\u003e🗺 World Map view - see your library on a map\n\u003c/small\u003e\n\u003cbr/\u003e\n\u003csmall\u003e💿 a neat mini-player\n\u003c/small\u003e\n\u003cbr/\u003e\n\u003csmall\u003e🎸 U2's latest album automatically added to your library\n\u003c/small\u003e\n\u003cbr/\u003e\n\u003csmall\u003e📊 Stats, album timeline\n\u003c/small\u003e\n\u003cbr/\u003e\n\u003csmall\u003e🌊 Waveform view\n\u003c/small\u003e\n\u003cbr/\u003e\n  -\n\u003c/p\u003e\n\n![screenshot](docs/musicat-aug-2024-promo.webp)\n\n\u003e [!WARNING]\n\u003e musicat is currently in major version zero (0.x) active development, and features are being added regularly. Things may break or change at any time! Keep an eye out for new releases, report bugs and give feedback!\n\n## Introduction\n\nThis is a player that I built for personal use, with the goal of re-connecting with my local music library in the age of streaming. It's pleasant to use, with a modern UX that is fresh yet feels familiar to classic software like Winamp, foobar2000 and iTunes. It's fast, audiophile-friendly and can handle large libraries of all formats. I wanted to create a tool that puts me as the listener back in the driver's seat, taking an active role in organizing and enriching my library of music that I curate with passion.\n\n## For melomaniacs\n\nMusicat also strives to be a meta-layer on top of your library. Features like Map View and Stats are all derived from the question - _\"how can I connect more with my music collection?\"_. They might seem like gimmicks, but there is a lot of room to explore this idea, and this app is the perfect playground to do that. Whether it's learning about the artists via a Wikipedia panel, or getting a glimpse into your listening habits, you can expect more functionality of this sort to be built into the app.\n\n## For artists \u0026 musicians\n\nAs a musician, I also wanted to organize my own music that I've made over the years, or tag bands that I've played in, and use the app as a way to build your own discography, as well as a knowledge base of new song ideas and lyrics. I created a prototype feature called \"Artist's Toolkit\" (enable in Settings) that captures this idea. It's half-baked at the moment, but it has already proven useful as a concept.\n\n## Screenshots\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cp\u003eAlbums\u003c/p\u003e\u003cimg src=\"docs/albums.webp\" width=\"320\" alt=\"Albums\"\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cp\u003eQueue\u003c/p\u003e\u003cimg src=\"docs/queue.jpg\" width=\"320\" alt=\"Queue\"\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cp\u003eTrack Info / Tagger\u003c/p\u003e\u003cimg src=\"docs/track-info.webp\" width=\"320\" alt=\"Track Info\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cp\u003eSmart Playlists\u003c/p\u003e\u003cimg src=\"docs/smart-query.webp\" width=\"320\" alt=\"Smart Query\"\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cp\u003eMap\u003c/p\u003e\u003cimg src=\"docs/map.jpg\" width=\"320\" alt=\"Map\"\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cp\u003eStats\u003c/p\u003e\u003cimg src=\"docs/stats.jpg\" width=\"320\" alt=\"Stats\"\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## Keyboard Shortcuts\n\n- \u003csmall\u003e\u003ckbd\u003e**`Cmd/Ctrl`**\u003c/kbd\u003e + \u003ckbd\u003e**`F`**\u003c/kbd\u003e\u003c/small\u003e : Search\n- \u003csmall\u003e\u003ckbd\u003e**`Up`**\u003c/kbd\u003e / \u003ckbd\u003e**`Down`**\u003c/kbd\u003e\u003c/small\u003e : Highlight next, prev track (also in metadata viewer/editor). \u003csmall\u003e\u003ckbd\u003e**`Shift`**\u003c/kbd\u003e to multi-select\n- \u003csmall\u003e\u003ckbd\u003e**`ENTER`**\u003c/kbd\u003e\u003c/small\u003e : Play highlighted track\n- \u003csmall\u003e\u003ckbd\u003e**`Shift`**\u003c/kbd\u003e + \u003ckbd\u003e**`Click`**\u003c/kbd\u003e\u003c/small\u003e : Highlight multiple tracks\n- \u003csmall\u003e\u003ckbd\u003e**`Space`**\u003c/kbd\u003e\u003c/small\u003e : Play / pause\n- \u003csmall\u003e\u003ckbd\u003e**`I`**\u003c/kbd\u003e\u003c/small\u003e: Show Info \u0026 Metadata\n- \u003csmall\u003e\u003ckbd\u003e**`Alt`**\u003c/kbd\u003e + \u003ckbd\u003e**`Q`**\u003c/kbd\u003e\u003c/small\u003e: Open the Queue\n- \u003csmall\u003e\u003ckbd\u003e**`Alt`**\u003c/kbd\u003e + \u003ckbd\u003e**`A`**\u003c/kbd\u003e\u003c/small\u003e: Go to Albums\n- \u003csmall\u003e\u003ckbd\u003e**`Alt`**\u003c/kbd\u003e + \u003ckbd\u003e**`L`**\u003c/kbd\u003e\u003c/small\u003e: Go to Library\n- \u003csmall\u003e\u003ckbd\u003e**`Cmd/Ctrl`**\u003c/kbd\u003e + \u003ckbd\u003e**`L`**\u003c/kbd\u003e\u003c/small\u003e: Open Lyrics\n\n`This app is built using Svelte + Tauri.`\n\n## Running on macOS\n\n### Why do I get the \"Musicat.app is damaged\" popup?\n\nThe app isn't signed or notarized yet, so you will likely get this warning when opening the app. To get around this, you will need to add an exception to macOS's gatekeeper. You can do this via a terminal command:\n\n```\nxattr -d com.apple.quarantine /Applications/Musicat.app\n```\n\n## Running on Linux 🐧\n\nMusicat uses ALSA on Linux, install it if you don't already have it on your system:\n\n```\nsudo apt-get install libasound2-dev\n```\n\n## Build locally\n\n1. Set up the [Tauri](https://tauri.app/) framework and it's [prerequisites](https://tauri.app/start/prerequisites/) depending on your platform\n2. Run `npm install` (using Node version 22+)\n3. You can then create a development build using `npm run tauri dev`.\n\n## Contributing\n\nPull requests are very welcome. For major changes, please open an issue first to discuss what you would like to change.\n\n## License\n\n[GPL-3.0](https://www.gnu.org/licenses/gpl-3.0.en.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasharovv%2Fmusicat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbasharovv%2Fmusicat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbasharovv%2Fmusicat/lists"}