Practical overview
When it fits
Use Maest when you need repository code to work with MAEST music-analysis models in Python, from inference and feature extraction through configured training experiments.
Who it is for
- Researchers exploring music-audio classification and representation learning.
- Developers building Python workflows that extract predictions or embeddings from music audio.
- Teams preparing custom data and configuring Transformer pre-training or fine-tuning experiments.
Documented uses
- Run a selected pre-trained MAEST architecture on audio or mel-spectrogram inputs.
- Obtain label predictions, logits or embeddings from music audio.
- Prepare custom representations and ground-truth files for pre-training.
- Extract embeddings and feed them into a documented downstream training-and-testing workflow.
Requirements & limits
The repository is public and specifies an AGPL-3.0 license. The README documents a Python installation route and lists pre-trained model inference through Essentia, Hugging Face and Replicate.
- MAEST models accept waveform and mel-spectrogram forms; the README specifies 16 kHz for one-dimensional waveform input.
- For inputs other than one-dimensional audio, users are responsible for keeping the time dimension within the chosen model’s maximum length; exceeding it raises an exception.
- Inference extracts mel-spectrograms with torchaudio on the GPU, while the models were trained using Essentia’s TensorflowInputMusiCNN algorithm.
- The repository documents a set of architectures with different input durations, including 5-, 10-, 20- and 30-second variants.
- Custom pre-training requires users to prepare their own data references; Discogs20 is not included due to copyright limitations.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Install MAEST in a Python environment
Set up the repository’s Python package and dependencies for subsequent model use.
Before you start
- Python 3.10 is shown in the documented Conda setup.
- Conda is optional; the repository also documents installation directly with pip.
Steps
Optionally create and activate a Conda environment with Python 3.10: conda create -n MAEST python=3.10 -y && conda activate MAEST.
From the repository directory, install the package and dependencies with pip install -e .
Expected outcome
MAEST and its dependencies are installed in the selected Python environment.
Guide limitations
- Installation alone does not run inference or training.
- The README reports tested environments including Ubuntu 22.04 LTS, CentOS 7.5 and macOS Sequoia 15.3.2; this does not guarantee compatibility elsewhere.
Prepare custom pre-training data references
Create the data files and configuration references the documented MAEST pre-training workflow expects.
Before you start
- A custom dataset and a chosen audio representation, such as mel-spectrograms.
- Ground-truth labels stored as binary pickle files mapping paths to label tuples.
Steps
Pre-extract mel-spectrograms or another chosen representation for the dataset.
Generate ground-truth files for training, validation and testing; the README points to MagnaTagATune examples.
Set the corresponding ground-truth file paths and datamodule.base_dir in the experiment configuration.
Expected outcome
The configuration references the custom representations and label files needed by the pre-training workflow.
Guide limitations
- This guide covers data preparation and configuration only, not running or completing a training experiment.
- The repository does not share its Discogs20 pre-training dataset because of copyright limitations.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 15 October 2026
- Original website title
- palonso/MAEST · Official homepage title · retained in its source language

