https://github.com/xi/infinity-player
infinite jukebox clone using librosa
https://github.com/xi/infinity-player
audio librosa numpy
Last synced: 6 months ago
JSON representation
infinite jukebox clone using librosa
- Host: GitHub
- URL: https://github.com/xi/infinity-player
- Owner: xi
- Created: 2017-10-20T18:52:55.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2025-03-10T08:22:56.000Z (11 months ago)
- Last Synced: 2025-04-05T05:25:03.300Z (10 months ago)
- Topics: audio, librosa, numpy
- Language: Python
- Homepage:
- Size: 48.8 KB
- Stars: 16
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# infinity player
An infinite jukebox clone using librosa.
This program attempts to recreate the wonderful *Infinite Jukebox* on the
command line in python. It plays the song beat by beat and may jump to similar
beats at any time. This way, the song can play infinitly.
The process is devided into two steps: Analysing the audio and playing it.
Analysing takes some time, so the result is saved next to the audiofile.
## Quickstart
pip install -r requirements.txt
python player.py
## Open Tasks
Any help would be appreciated
- **Improve audio analysis.** I don't really know what *MFCC* or a
*Constant-Q chromagram* is. The current implementation works ok-ish, but
there can probably be big improvements.
- **Improve beat selection.** I guess a lot more is possible, e.g. to prevent
the song from looping through the same part again and again.
## Prior Art
- Of course, the now defunct original [Infinite
Jukebox](http://labs.echonest.com/Uploader/)
- A functional fork called [Eternal Jukebox](https://eternalbox.floriegl.tech/jukebox_index.html)
([code](https://github.com/floriegl/EternalJukebox)). It uses the
[audio-analysis](https://developer.spotify.com/web-api/get-audio-analysis/)
endpoint at spotify
- [Remixatron](https://github.com/drensin/Remixatron), a similar project to
this one.