Downloads · 30 days
0
m0yosore/harmonia-multimodal-music-intelligence
harmonia-multimodal-music-intelligence is a machine learning model from m0yosore. Use it for the machine learning task on the model card, and read the license before you ship it in a product.
Author: Moyosore Ogunjobi What this is: A masters-level, end-to-end system for music tagging, emotion estimation, text-to-audio search, and recommendation, trained from multiple datasets and stitched together with a c…
Downloads · 30 days
0
Access
Public
Updated Mar 3, 2026
Repo size
—
Likes
1
Public
Click a slice to open those files.
.py35.7 KB · 82%
From the Hugging Face model README
Author: Moyosore Ogunjobi
What this is: A masters-level, end-to-end system for music tagging,
emotion estimation, text-to-audio search, and recommendation,
trained from multiple datasets and stitched together with a calibrated
Mixture-of-Experts fusion model.
Music ML is usually siloed: tagging models ignore symbolic structure, recommenders ignore audio, and search systems ignore user behavior. Harmonia unifies these signals into a shared representation and exposes them through a single pipeline.
Place datasets under data/raw/:
data/raw/mtg_jamendo/data/raw/fma/data/raw/deam/data/raw/lakh_midi/data/raw/msd_taste_profile/Run:
python scripts/check_data.py
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python -m harmonia.training.train_audio_tagger --config configs/audio_tagger_small.yaml
python -m harmonia.training.train_audio_emotion --config configs/audio_emotion_small.yaml
python -m harmonia.training.train_contrastive_adapter --config configs/contrastive_small.yaml
python -m harmonia.training.train_musicbert --config configs/musicbert_small.yaml
python -m harmonia.training.train_lightgcn --config configs/lightgcn_small.yaml
python -m harmonia.training.train_fusion_moe --config configs/fusion_small.yaml
Or run everything:
bash scripts/train_all.sh
bash scripts/build_faiss.sh
python app.py
This section is populated by saved metrics files from the training scripts:
from harmonia.inference.pipeline import HarmoniaPipeline
pipe = HarmoniaPipeline.from_pretrained("./outputs/harmonia_bundle")
out = pipe.predict(audio_path="example.wav", text_query="sad jazzy piano at night")
print(out["tags"], out["emotion"], out["retrieval_topk"][:5])
This repo ships code + trained weights only. Datasets remain under their original licenses. Do not redistribute copyrighted audio, MIDI, or lyrics.