# saebekassebil/teoria

Javascript taught Music Theory

Repository: https://github.com/saebekassebil/teoria
Canonical: https://ross.abutalabs.com/products/teoria
Homepage: http://saebekassebil.github.io/teoria
Language: JavaScript
License: MIT
License Family: permissive
Last push: 2019-12-01T00:57:13+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 5406, "days_push": 2468, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1376, forks 112 (observed 2026-08-28T04:04:33.214272+00:00)

## What it is
Teoria.js is a lightweight JavaScript library that models music theory for both jazz and classical contexts, providing Note, Chord, Scale, and Interval objects. It offers an intuitive API for building music software such as sheet readers, sheet writers, and MIDI players, and runs in Node.js and the browser.

## Use cases
- work with musical notes, chords, and scales in JavaScript
- parse jazz chord names like Ab#5b9 or Fsus4 maj#11 programmatically
- calculate the interval between two notes or find a note at a given interval
- convert note names to frequencies, piano key numbers, or Helmholtz notation
- generate scale degrees and solfège for sight-reading tutorials
- transpose notes and chords programmatically in a music app
- build a MIDI player or sheet music editor in JavaScript

## When to choose
- You need a small, fast, dependency-light music theory model in a Node.js or browser application
- You need support for advanced jazz chord notation, modes/scales, intervals, and note frequency math
- You want a mature MIT-licensed library with a simple, intuitive API for music-theory computation

## When to avoid
- You need actual audio synthesis, playback, or DSP - teoria models music theory, not sound
- You need MIDI file reading/writing or DAW integration - it only covers theory objects
- You need actively maintained software - the latest release dates from December 2019

## Facets
- artifact type: library
- maturity: maintenance
- function: parser
- domain: entertainment, education
- platform: browser, cross-platform
- tags: music, music-theory, chords, scales, notes, intervals, jazz, classical-music, notation, helmholtz-notation, solfege, frequency, midi, nodejs

## Member repositories
- saebekassebil/teoria (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:33.214272+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:40:31.598242+00:00, confidence not recorded.
  - readme: https://github.com/saebekassebil/teoria (fetched 2026-08-28T04:04:33.214272+00:00, sha 7a1d62af5ac2)
  - homepage: http://saebekassebil.github.io/teoria (fetched 2026-08-29T11:57:01.064997+00:00, sha 02b2783aca43)
  - registry_npm: https://registry.npmjs.org/teoria (fetched 2026-08-29T11:57:01.074042+00:00, sha 3bd73b1c792b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
