Skip to content
Back to skills

Syntheory Eval

ASecurity

Probes whether music foundation models encode discrete and continuous Western music theory concepts by training linear or MLP classifiers on their internal audio embeddings. Use when the user wants to benchmark on SynTheory, or asks about evaluating this task. Reports accuracy.

  • 3 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added September 11, 2026
researchpythongoc#git

Works with

  • cli

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add qhjqhj00/research-skills-pool --skill syntheory-eval --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Syntheory Eval?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Syntheory Eval
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/qhjqhj00-syntheory-eval/badge)](https://www.skillsdirectory.com/skills/qhjqhj00-syntheory-eval)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: syntheory-eval
description: Probes whether music foundation models encode discrete and continuous Western music theory concepts by training linear or MLP classifiers on their internal audio embeddings. Use when the user wants to benchmark on SynTheory, or asks about evaluating this task. Reports accuracy.
metadata:
  skill_kind: dataset_eval
  source_arxiv: 2410.00872
  bibtex_key: wei2024do
  confidence: high
---

# syntheory-eval

> Do Music Generation Models Encode Music Theory? — Wei et al. (2024) (arXiv:2410.00872, 2024)

## What this evaluates

Probes whether music foundation models encode discrete and continuous Western music theory concepts by training linear or MLP classifiers on their internal audio embeddings.

## Datasets

- **SynTheory** — total ?; splits: train (-1), test (-1), val (-1); repo https://github.com/brown-palm/syntheory

## Metrics

- `accuracy` **(primary)** — range: [0, 1]
  - Fraction of correctly predicted class labels out of total predictions for classification tasks (notes, intervals, scales, chords, chord progressions, time signatures).
- `R^2` — range: other
  - Coefficient of determination for the continuous tempo regression task, calculated as 1 - (SS_res / SS_tot) where SS is sum of squared errors.

## Input / output format

**Input**: Mean-pooled audio embeddings (dimension varies by model and layer) extracted from 4-second mono audio clips.

**Output**: Predicted class label (for classification) or predicted BPM value (for regression).

## Scoring recipe

```python
def score(predictions, gold, task_type):
    if task_type == "tempo":
        ss_res = sum((y_true - y_pred)**2 for y_true, y_pred in zip(gold, predictions))
        ss_tot = sum((y_true - mean(gold))**2 for y_true in gold)
        return 1 - (ss_res / ss_tot)
    else:
        correct = sum(1 for y_true, y_pred in zip(gold, predictions) if y_true == y_pred)
        return correct / len(gold)
```

## Common pitfalls

- Mean-pooling across time discards temporal dynamics, which may unfairly penalize models on time-varying concepts like chord progressions.
- The tempo split stratifies by BPM range (middle 70% train, extremes test/val) to test generalization, which does not reflect a uniform BPM distribution in real-world music.
- Layer selection is performed independently per concept and model using the validation set, introducing potential selection bias if not properly cross-validated.

## Evidence (verbatim from paper)

> For the classification tasks, we measure the accuracy of our trained probes on the following SynTheory tasks: Notes (12): C, C#, D, D#, E, F, F#, G, G#, A, A#, and B - Intervals (12)... Time Signatures (8)... These tasks are trained on a 70% train, 15% test, and 15% validation split... For the Tempo dataset, we train a regression probe, over the 161 tempo values... We use MSE loss and report the R^2 score.

## Citation

```bibtex
@misc{wei2024do,
  title={Do Music Generation Models Encode Music Theory?},
  author={Wei et al. (2024)},
  year={2024},
  note={arXiv:2410.00872}
}
```

- arXiv: 2410.00872

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.