2024-09-17 16:05:26 +00:00
# SaberList
2024-05-28 06:08:33 +00:00
2024-09-17 16:05:26 +00:00
SaberList is a tool for generating custom Beat Saber playlists based on a player's performance data from Beat Leader.
2024-09-17 05:35:20 +00:00
2024-10-05 05:01:56 +00:00
## Resources
* Beat Leader [swagger ](https://api.beatleader.xyz/swagger/index.html ), [GitHub ](https://github.com/BeatLeader )
* Score Saber [swagger ](https://docs.scoresaber.com/ ), [Github ](https://github.com/ScoreSaber ) (backend remains closed-source)
* Beat Saver [swagger ](https://api.beatsaver.com/docs/ ), [GitHub ](https://github.com/beatmaps-io/beatsaver-main )
2024-09-17 16:05:26 +00:00
## Features
2024-09-17 05:35:20 +00:00
2024-09-17 16:05:26 +00:00
- Fetches player scores from Beat Leader API
- Generates difficulty-based playlists
- Automatically selects a random cover image for each playlist
- Avoids duplicating songs across multiple playlist generations
- Caches player data for faster subsequent runs
2024-07-01 17:40:51 +00:00
2024-09-17 16:05:26 +00:00
## Playlist generations
2024-07-01 17:40:51 +00:00
2024-09-17 16:05:26 +00:00
The program has the following playlist generation modes:
2024-07-01 17:40:51 +00:00
2024-09-17 16:05:26 +00:00
### Replay songs by age
2024-07-09 23:08:08 +00:00
```sh
2024-09-17 16:05:26 +00:00
saberlist_replay_bl
2024-07-09 23:08:08 +00:00
```
2024-07-01 17:40:51 +00:00
2024-09-17 16:05:26 +00:00
This will generate a playlist of oldest songs that you have previously played, ostensibly because you probably can improve your score. It will add low star songs, mid star songs, and high star songs to the playlist. That way you can warm up on the low star songs, and then move on to the harder songs. Each time you run this command it will generate a completely new playlist.
2024-05-28 06:08:33 +00:00
2024-09-17 16:05:26 +00:00
## Covers
2024-05-28 06:08:33 +00:00
2024-09-17 16:05:26 +00:00
The program will automatically select a random cover image for each playlist. The cover image is selected from the `covers` directory. We suggest using a latent diffusion model to generate random cover images for your playlists.
2024-05-28 06:08:33 +00:00
2024-09-17 16:05:26 +00:00
## Configuration
2024-05-28 06:08:33 +00:00
2024-09-17 16:05:26 +00:00
The program uses a `playlist_history.json` file to keep track of previously used songs and cover images. This ensures that subsequent runs generate fresh playlists without duplicates.
2024-05-28 06:08:33 +00:00
2024-09-17 16:05:26 +00:00
## Output
2024-05-28 06:08:33 +00:00
2024-09-17 16:05:26 +00:00
The program generates:
2024-07-09 22:52:45 +00:00
2024-09-17 16:05:26 +00:00
1. A `.bplist` file containing the playlist data in JSON format
2. Console output listing the songs included in the playlist
2024-07-09 22:52:45 +00:00
2024-09-17 16:05:26 +00:00
## Contributing
2024-05-28 06:08:33 +00:00
2024-09-17 16:05:26 +00:00
Contributions are welcome! Please feel free to submit a Pull Request.
2024-09-17 05:35:20 +00:00
2024-09-17 16:05:26 +00:00
## License
2024-09-17 05:35:20 +00:00
2024-09-17 16:05:26 +00:00
This project is licensed under the MIT License - see the [LICENSE ](LICENSE ) file for details.