(Currently not supported for Windows as Essentia, the audio classification library used in this project, only has Python bindings for macOS)
Museko is a music analysis and discovery tool.
Some features include:
- Music style classification with Essentia from the Discogs taxonomy (genre_discogs400)
- yt-dlp GUI to download mp3s from supported sites
- Real-time audio visualization with audioMotion-analyzer
- Discogs release roulette drawing from around 18,000,000 entries
Here is the Flask web app view:
This tool requires too much memory to be hosted online using free services. The only way to try out this app would be to run it locally.
- Download
museko.zipin Releases and unzip. - Install Python dependencies.
essentia-tensorflowmay requiretensorflowto be installed. It is recommended to use a virtual environment:
cd path/to/museko
python3 -m venv env
. env/bin/activatepip3 install -r requirements.txt- Run Flask development server, which defaults to http://127.0.0.1:5000 and can be viewed in a web browser.
flask run
-
Upload mp3 files that you wish to analyze. After a few seconds, it will display the genre prediction graph and audio visualizer.
-
Ctrl-Cin the command line to close the server when you are done.
There is a tkinter GUI located in apps/web/ on the GitHub repository. Simply download apps/web/museko.py, install the required python dependencies, and run python3 museko.py.
A desktop app with Tauri + Vite + React with the same features as the web version but better styling.
The goal is to make it work on Windows with manual audio preprocessing to create valid input tensors for Essentia without calling MonoLoader, TensorflowPredictEffnetDiscogs, and TensorflowPredict2D from essentia.standard (macOS only). More details can be found in apps/desktop/src-tauri/src/classify/classifier-windows.py

