A music library server, including server, cli client, and webui. Supports muitiple artists per track and album.
artist_relation.mp4
![截屏2024-08-09 22 02 18](https://private-user-images.githubusercontent.com/140488233/356626593-060fa715-df3c-40fd-8bee-f97b79d05a62.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU2ODQ0MDQsIm5iZiI6MTcyNTY4NDEwNCwicGF0aCI6Ii8xNDA0ODgyMzMvMzU2NjI2NTkzLTA2MGZhNzE1LWRmM2MtNDBmZC04YmVlLWY5N2I3OWQwNWE2Mi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkwN1QwNDQxNDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1iN2QyMjZhZThjOTgwMWM0OTY4MzU4MDNhNDE2YzgxNzdiZDNkNjMzOTk2ODViYTJhNDNkZmFlNjA0ZjdmNjFiJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9._W3HGzVgua9th9CPbw6oLhevPNZJ_5FSB347zH8-eqo)
![截屏2024-08-09 22 02 53](https://private-user-images.githubusercontent.com/140488233/356626575-ae94fddf-ff60-46b6-88fe-45dd7397eff8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU2ODQ0MDQsIm5iZiI6MTcyNTY4NDEwNCwicGF0aCI6Ii8xNDA0ODgyMzMvMzU2NjI2NTc1LWFlOTRmZGRmLWZmNjAtNDZiNi04OGZlLTQ1ZGQ3Mzk3ZWZmOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkwN1QwNDQxNDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hMzg5MGVjNmMyM2YzZDQ5OThlYzZlZTBiM2Y4ZGJjOWU4NDA0YTAwM2ZjMTY0NDFlYzMxMjA3NWE5NjAzYjRkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.bFA9up9rkefoo1UJR_iGs0kw7U8ZEgE8IIfD4VUP39E)
![截屏2024-08-09 22 03 05](https://private-user-images.githubusercontent.com/140488233/356626557-52b080e7-3fe2-40ed-9827-689bc93c8546.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU2ODQ0MDQsIm5iZiI6MTcyNTY4NDEwNCwicGF0aCI6Ii8xNDA0ODgyMzMvMzU2NjI2NTU3LTUyYjA4MGU3LTNmZTItNDBlZC05ODI3LTY4OWJjOTNjODU0Ni5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkwN1QwNDQxNDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT02NjIxZDUzYzc3YmI0M2E1NjIwN2FmNDZhZGU0YTllODI0ODE1OTNlN2NlNzRhYjNiNTVhYzY4ZDcxMzc5ZjgzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.fSWsHPKS8IFuI3SAZkCSIoUxgGrhIth5oQo3LCI5zmk)
![截屏2024-08-09 22 03 55](https://private-user-images.githubusercontent.com/140488233/356626522-7b386ee1-3e2e-4bb3-ae81-9b096aa73d2e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU2ODQ0MDQsIm5iZiI6MTcyNTY4NDEwNCwicGF0aCI6Ii8xNDA0ODgyMzMvMzU2NjI2NTIyLTdiMzg2ZWUxLTNlMmUtNGJiMy1hZTgxLTliMDk2YWE3M2QyZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkwN1QwNDQxNDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zZDBiNTQxMGNlZjcwNTQ0NDU1NTczZGU4OWE4Yjc0M2FlN2JjNDMyYzZmOTIxMGZlOGVmZDUzYWEzZGZjZmYzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.VFUI6CW3V1tE7YcSPd2c0LXgAzHegcJFtgBz9mGqroo)
![截屏2024-08-09 22 04 48](https://private-user-images.githubusercontent.com/140488233/356626494-edbc9f2e-bd6a-440d-8f22-2b3bd75ef7a3.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU2ODQ0MDQsIm5iZiI6MTcyNTY4NDEwNCwicGF0aCI6Ii8xNDA0ODgyMzMvMzU2NjI2NDk0LWVkYmM5ZjJlLWJkNmEtNDQwZC04ZjIyLTJiM2JkNzVlZjdhMy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkwN1QwNDQxNDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zNWJmMzY5NzcwOTgxOGIwZWYzM2MwMGI2YWNkMzRmZjNhNGIzYmVkNTUzYmFlNTU2MDEwZDFlMDlmMTgxNDc5JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.DTp3qQo23ESgFHS57b3ieoX-mjzcLOsVbqHfRgwZ9YQ)
![截屏2024-08-09 22 04 57](https://private-user-images.githubusercontent.com/140488233/356626395-2289b93e-414f-4afa-a0e3-ccfb0d3ab2fe.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU2ODQ0MDQsIm5iZiI6MTcyNTY4NDEwNCwicGF0aCI6Ii8xNDA0ODgyMzMvMzU2NjI2Mzk1LTIyODliOTNlLTQxNGYtNGFmYS1hMGUzLWNjZmIwZDNhYjJmZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkwN1QwNDQxNDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1lNTFiYmI4NTQ4MTUyNzgyNDFjOWNhZGU5MTA1ZTcxYjJiYjM3ZmM2NjdiM2MwOWE4NmFmYWIwM2YxYzc4ZGY1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.AFIF2bPjjAByu-lGOB5cADhS6ZNPVeWja30ZgOKzIKA)
![截屏2024-08-09 22 05 27](https://private-user-images.githubusercontent.com/140488233/356626346-2924f478-ffc4-46da-8994-eb09ab19a3ce.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjU2ODQ0MDQsIm5iZiI6MTcyNTY4NDEwNCwicGF0aCI6Ii8xNDA0ODgyMzMvMzU2NjI2MzQ2LTI5MjRmNDc4LWZmYzQtNDZkYS04OTk0LWViMDlhYjE5YTNjZS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwOTA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDkwN1QwNDQxNDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT00OWRiMGZkMmUxN2NiNzJmZThlZmY4NzlmOTljODdkNDQ0YzEwNDZiMjdlYTliMDlmNThjMTNmOGQzZWJkMDc1JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.gxUYOmFfQcKpINvC-uZFxs9UZYRXlEPE7qu_QSzcanY)
- mobile app : ~ 2025
The project will continue unless I find another music library server that handles muitiple artist and muiti-disc albums correctly.
- Clone the repository
- Install all necessary python packages
pip3 install -r requirements.txt
- Run server
python3 server.py
- Goto settings page
- Enter your music folder and click Scan button
The programme splits artists with delimiters, so single artist with these delimiters in name will be splitted unintendedly.
- Goto settings page.
- Add a new artist with the single artist's name (e.g. A&B/C)
- Perform merge artist by name (or by uuid if you want) multiple times. (e.g. 1. merge A&B/C with A 2. merge A&B/C with B 3. merge A&B/C with C)
- Webui is avaliable at http://server_address:5010/
- APIs are at http://server_address:5010/api/
Any kind of contribution is welcomed, especiall for GUI apps, which I know nothing about.