{"openapi":"3.1.0","info":{"title":"Music Theory","version":"1.0.0","description":"Notes, frequencies, intervals, scales, chords, keys, transposition, tempo math and Roman numeral analysis. One call, one computed answer, no accounts or API keys. Machine-payable over x402.","x-guidance":"Music Theory: Notes, frequencies, intervals, scales, chords, keys, transposition, tempo math and Roman numeral analysis. Use /note-freq for a note name or MIDI number to frequency, /freq-note for a frequency to the nearest note with cents, /interval for interval names and semitone math, /scale for scales and modes on any root, /chord for chord spellings from a symbol, /chord-name to name a chord from its notes, /key-signature for key signatures, the circle of fifths and related keys, /transpose to transpose a progression, /tempo for BPM to millisecond note values or tap-tempo averaging, and /roman-numerals to analyse a progression in a key. Each paid GET returns a computed verdict with the reasons, the source and what was NOT checked. A verdict of UNVERIFIED means a lookup failed: treat it as unknown. No account or key: pay per call in USDC over x402."},"servers":[{"url":"https://music-theory.x402tookit.com"}],"paths":{"/chord-name":{"get":{"operationId":"chord_name","summary":"Name a chord from its notes (C E G Bb, A C E G): best name, inversion and alternative names; first note is the bass.","description":"Name a chord from its notes (C E G Bb, A C E G): best name, inversion and alternative names; first note is the bass.","tags":["music","chords","harmony","identify"],"parameters":[{"name":"notes","in":"query","required":true,"description":"Notes separated by spaces or commas, lowest first: E G C or A C E G","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"best":{"type":["null","string"]},"root":{"type":["null","string"]},"quality":{"type":["null","string"]},"rootPosition":{"type":["boolean","null"]},"inversion":{"type":["null","number"]},"bass":{"type":["null","string"]},"alternatives":{"type":["array","null"],"items":{"type":"string"}},"pitchClasses":{"type":["array","null"],"items":{"type":"number"}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"AMBIGUOUS","summary":"Am7; 1 other reading: C6/A.","reasons":["The first note you gave is taken as the bass; a name whose root equals the bass is preferred.","The same notes can be read from different roots (symmetrical or shared sets); context decides."],"best":"Am7","root":"A","quality":"m7","rootPosition":true,"inversion":0,"bass":"A","alternatives":["C6/A"],"pitchClasses":[0,4],"degraded":false,"notChecked":["chords outside the 28 templates (clusters, polychords, altered dominants beyond b9 and #9)","notes spelled differently from the intended root (the spelling of the note you give is used)","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:26:12.958Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/chord-name"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/chord-name"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/chord-name"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/chord-name"}}]}}},"/chord":{"get":{"operationId":"chord","summary":"Spell a chord from its symbol (Cmaj7, F#m7b5, G7b9, Dsus4, C/E): notes, intervals, semitones and MIDI numbers.","description":"Spell a chord from its symbol (Cmaj7, F#m7b5, G7b9, Dsus4, C/E): notes, intervals, semitones and MIDI numbers.","tags":["music","chords","harmony","theory"],"parameters":[{"name":"symbol","in":"query","required":true,"description":"Chord symbol: C, Am7, Bbmaj7, F#m7b5, G7b9, Cadd9, Dsus4, C/E","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"symbol":{"type":["null","string"]},"root":{"type":["null","string"]},"quality":{"type":["null","string"]},"modifications":{"type":["array","null"]},"notes":{"type":["array","null"],"items":{"type":"string"}},"intervals":{"type":["array","null"],"items":{"type":"string"}},"semitonesFromRoot":{"type":["array","null"],"items":{"type":"number"}},"midiRootOctave4":{"type":["array","null"],"items":{"type":"number"}},"bass":{},"inversion":{"type":["null","number"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"SPELLED","summary":"Cmaj7 (major 7th): C E G B.","reasons":["Spelled from the root with each degree on its own letter name; MIDI numbers stack the chord upward from the root in octave 4."],"symbol":"Cmaj7","root":"C","quality":"major 7th","modifications":[],"notes":["C","E","…2 more"],"intervals":["1","3","…2 more"],"semitonesFromRoot":[0,4],"midiRootOctave4":[60,64],"bass":null,"inversion":0,"degraded":false,"notChecked":["voicings and inversions beyond the slash bass you typed","alternative names for the same chord","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:26:13.222Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/chord"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/chord"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/chord"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/chord"}}]}}},"/freq-note":{"get":{"operationId":"freq_note","summary":"Frequency in Hz to the nearest note, MIDI number and offset in cents; adjustable A4 reference; tuner-style result.","description":"Frequency in Hz to the nearest note, MIDI number and offset in cents; adjustable A4 reference; tuner-style result.","tags":["music","tuner","frequency","cents"],"parameters":[{"name":"hz","in":"query","required":true,"description":"Frequency in Hz, 8 to 14000","schema":{"type":"number"}},{"name":"a4","in":"query","required":false,"description":"Reference pitch for A4 in Hz, 400 to 480 (default 440)","schema":{"type":"number"}},{"name":"accidentals","in":"query","required":false,"description":"sharps (default) or flats for the note name","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"frequencyHz":{"type":["null","number"]},"nearestNote":{"type":["null","string"]},"midi":{"type":["null","number"]},"nearestFrequencyHz":{"type":["null","number"]},"centsOffset":{"type":["null","number"]},"fractionalMidi":{"type":["null","number"]},"a4Hz":{"type":["null","number"]},"direction":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"OFF_PITCH","summary":"442 Hz is A4 (MIDI 69) +7.85 cents (A4 = 440 Hz).","reasons":["Cents = 1200 x log2(f / f_note); 100 cents is one semitone.","IN_TUNE means within 5 cents of the nearest note."],"frequencyHz":442,"nearestNote":"A4","midi":69,"nearestFrequencyHz":440,"centsOffset":7.85,"fractionalMidi":69.0785,"a4Hz":440,"direction":"sharp of the note","degraded":false,"notChecked":["octave errors from a pitch detector (this assumes the frequency you gave is the fundamental)","non-equal temperaments","…1 more"],"source":"computed locally (12-tone equal temperament)","asOf":"2026-10-11T14:26:13.473Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/freq-note"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/freq-note"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/freq-note"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/freq-note"}}]}}},"/interval":{"get":{"operationId":"interval","summary":"Interval between two notes (quality, number, semitones) or the note a given interval above or below a note.","description":"Interval between two notes (quality, number, semitones) or the note a given interval above or below a note.","tags":["music","intervals","semitones","theory"],"parameters":[{"name":"from","in":"query","required":true,"description":"Start note, optionally with octave: C, F#4, Bb3","schema":{"type":"string"}},{"name":"to","in":"query","required":false,"description":"End note: names the interval from start to end","schema":{"type":"string"}},{"name":"interval","in":"query","required":false,"description":"Interval to apply instead of 'to': P1 m2 M2 m3 M3 P4 A4 d5 P5 m6 M6 m7 M7 P8 M9 ...","schema":{"type":"string"}},{"name":"direction","in":"query","required":false,"description":"up (default) or down, used with interval","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"from":{"type":["null","string"]},"to":{"type":["null","string"]},"interval":{"type":["null","string"]},"fullName":{"type":["null","string"]},"quality":{"type":["null","string"]},"number":{"type":["null","number"]},"semitones":{"type":["null","number"]},"descending":{"type":["boolean","null"]},"compound":{"type":["boolean","null"]},"simpleNumber":{"type":["null","number"]},"inversion":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"NAMED","summary":"C4 to E4: M3 (major third), 4 semitones.","reasons":["Octaves given: compound intervals keep their full number.","Quality comes from the letter names, so C to E is a major third but C to Fb is a diminished fourth."],"from":"C4","to":"E4","interval":"M3","fullName":"major third","quality":"M","number":3,"semitones":4,"descending":false,"compound":false,"simpleNumber":3,"inversion":"m6","degraded":false,"notChecked":["tuning (an interval name says nothing about just or equal-tempered frequency ratios)","intervals beyond triple augmented or diminished","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:26:13.737Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/interval"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/interval"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/interval"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/interval"}}]}}},"/key-signature":{"get":{"operationId":"key_signature","summary":"Key signature (sharps or flats), circle-of-fifths neighbours, relative and parallel keys for any major or minor key.","description":"Key signature (sharps or flats), circle-of-fifths neighbours, relative and parallel keys for any major or minor key.","tags":["music","key-signature","circle-of-fifths","theory"],"parameters":[{"name":"key","in":"query","required":true,"description":"Key: C, G, Bb, F# minor, Am, Ebm","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"]},"key":{"type":["null","string"]},"fifthsPosition":{"type":["null","number"]},"signature":{"type":["null","object"],"properties":{"count":{"type":["null","number"]},"type":{"type":["null","string"]},"accidentals":{"type":["array","null"],"items":{"type":"string"}},"theoretical":{"type":["boolean","null"]}}},"scaleNotes":{"type":["array","null"],"items":{"type":"string"}},"relativeKey":{"type":["null","string"]},"parallelKey":{"type":["null","string"]},"parallelSignature":{"type":["null","object"],"properties":{"count":{"type":["null","number"]},"type":{"type":["null","string"]},"accidentals":{"type":["array","null"],"items":{"type":"string"}},"theoretical":{"type":["boolean","null"]}}},"dominantKey":{"type":["null","string"]},"subdominantKey":{"type":["null","string"]},"circleOfFifthsClockPosition":{"type":["null","number"]},"enharmonicKey":{},"circleOfFifths":{"type":["array","null"],"items":{"type":"object","properties":{"clock":{"type":["null","number"]},"major":{"type":["null","string"]},"minor":{"type":["null","string"]},"accidentals":{"type":["null","string"]}}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"Eb major: 3 flats (Bb Eb Ab); relative Cm, parallel Ebm.","reasons":[],"key":"Eb major","fifthsPosition":-3,"signature":{"count":3,"type":"flats","accidentals":["Bb","Eb","…1 more"],"theoretical":false},"scaleNotes":["Eb","F","…5 more"],"relativeKey":"C minor","parallelKey":"Eb minor","parallelSignature":{"count":6,"type":"flats","accidentals":["Bb","Eb","…4 more"],"theoretical":false},"dominantKey":"Bb major","subdominantKey":"Ab major","circleOfFifthsClockPosition":9,"enharmonicKey":null,"circleOfFifths":[{"clock":0,"major":"C","minor":"Am","accidentals":"0 sharps"},{"clock":1,"major":"G","minor":"Em","accidentals":"1 sharp"}],"degraded":false,"notChecked":["modal key signatures (dorian and so on use the signature of their parent major key)","key changes inside a piece","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:26:13.995Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/key-signature"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/key-signature"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/key-signature"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/key-signature"}}]}}},"/note-freq":{"get":{"operationId":"note_freq","summary":"Note name (C#4, Bb3) or MIDI number to MIDI, frequency in Hz and wavelength, with adjustable A4 reference pitch.","description":"Note name (C#4, Bb3) or MIDI number to MIDI, frequency in Hz and wavelength, with adjustable A4 reference pitch.","tags":["music","midi","frequency","pitch"],"parameters":[{"name":"note","in":"query","required":true,"description":"Note name with octave (A4, C#5, Eb3) or a MIDI number 0 to 127","schema":{"type":"string"}},{"name":"a4","in":"query","required":false,"description":"Reference pitch for A4 in Hz, 400 to 480 (default 440; baroque 415, Verdi 432)","schema":{"type":"number"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"note":{"type":["null","string"]},"enharmonicNames":{"type":["array","null"],"items":{"type":"string"}},"midi":{"type":["null","number"]},"frequencyHz":{"type":["null","number"]},"wavelengthCm":{"type":["null","number"]},"pitchClass":{"type":["null","number"]},"a4Hz":{"type":["null","number"]},"octaveConvention":{"type":["null","string"]},"wavelengthNote":{"type":["null","string"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"C4 = MIDI 60 = 261.6256 Hz (A4 = 440 Hz).","reasons":["MIDI 60 is middle C (C4) in scientific pitch notation.","Frequency = A4 x 2^((midi - 69) / 12)."],"note":"C4","enharmonicNames":["C4"],"midi":60,"frequencyHz":261.6256,"wavelengthCm":131.1034,"pitchClass":0,"a4Hz":440,"octaveConvention":"C4 = middle C = MIDI 60","wavelengthNote":"wavelength in air at about 20 C (343 m/s)","degraded":false,"notChecked":["historical or non-equal temperaments (just intonation, meantone, well temperaments)","stretch tuning of real pianos","…1 more"],"source":"computed locally (12-tone equal temperament)","asOf":"2026-10-11T14:26:14.258Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/note-freq"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/note-freq"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/note-freq"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/note-freq"}}]}}},"/roman-numerals":{"get":{"operationId":"roman_numerals","summary":"Roman numeral analysis of a chord progression in a key: numerals, inversions, borrowed chords, secondary dominants.","description":"Roman numeral analysis of a chord progression in a key: numerals, inversions, borrowed chords, secondary dominants.","tags":["music","harmony","roman-numerals","analysis"],"parameters":[{"name":"key","in":"query","required":true,"description":"Key of the progression: C, G, Am, F# minor","schema":{"type":"string"}},{"name":"progression","in":"query","required":true,"description":"Chords separated by spaces, commas or bars: C Am F G7","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"key":{"type":["null","string"]},"analysis":{"type":["array","null"],"items":{"type":"object","properties":{"chord":{"type":["null","string"]},"numeral":{"type":["null","string"]},"diatonic":{"type":["boolean","null"]},"diatonicNote":{"type":["null","string"]},"role":{"type":["null","string"]},"root":{"type":["null","string"]},"degreeFromTonic":{"type":["null","number"]}}}},"numerals":{"type":["array","null"],"items":{"type":"string"}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"ALL_DIATONIC","summary":"In C major: I vi IV V7.","reasons":["Uppercase = major (or dominant), lowercase = minor or diminished; ° diminished, ø half-diminished, + augmented; 6, 64, 65, 43, 42 mark inversions from a slash bass.","In a minor key the natural minor scale is the reference; the major V, V7 and the diminished vii° are also accepted as harmonic minor."],"key":"C major","analysis":[{"chord":"C","numeral":"I","diatonic":true,"diatonicNote":"diatonic to the major scale","role":"tonic","root":"C","degreeFromTonic":0},{"chord":"Am","numeral":"vi","diatonic":true,"diatonicNote":"diatonic to the major scale","role":"tonic substitute","root":"A","degreeFromTonic":9}],"numerals":["I","vi","…2 more"],"degraded":false,"notChecked":["modulations and tonicisations beyond one-step secondary dominants","modal mixture other than the natural and harmonic minor (other chords are labelled borrowed or altered)","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:26:14.523Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/roman-numerals"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/roman-numerals"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/roman-numerals"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/roman-numerals"}}]}}},"/scale":{"get":{"operationId":"scale","summary":"Spell a scale or mode on any root: major, minor, modes, harmonic and melodic minor, pentatonic, blues, whole tone.","description":"Spell a scale or mode on any root: major, minor, modes, harmonic and melodic minor, pentatonic, blues, whole tone.","tags":["music","scales","modes","theory"],"parameters":[{"name":"root","in":"query","required":true,"description":"Root note: C, F#, Bb, Eb","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"Scale name (default major): major, natural-minor, dorian, phrygian, lydian, mixolydian, locrian, harmonic-minor, melodic-minor, major-pentatonic, minor-pentatonic, blues, major-blues, whole-tone, phrygian-dominant","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"root":{"type":["null","string"]},"type":{"type":["null","string"]},"notes":{"type":["array","null"],"items":{"type":"string"}},"degrees":{"type":["array","null"],"items":{"type":"string"}},"semitonesFromRoot":{"type":["array","null"],"items":{"type":"number"}},"stepPattern":{"type":["null","string"]},"noteCount":{"type":["null","number"]},"midiFromRootOctave4":{"type":["array","null"],"items":{"type":"number"}},"pitchClasses":{"type":["array","null"],"items":{"type":"number"}},"aliases":{"type":["array","null"]},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"SPELLED","summary":"D dorian: D E F G A B C.","reasons":["A mode of the major scale (2nd degree).","Each letter name is used once in 7-note scales."],"root":"D","type":"dorian","notes":["D","E","…5 more"],"degrees":["1","2","…5 more"],"semitonesFromRoot":[0,2],"stepPattern":"W H W W W H W","noteCount":7,"midiFromRootOctave4":[62,64],"pitchClasses":[2,4],"aliases":[],"degraded":false,"notChecked":["scales not listed (octatonic, bebop, exotic scales)","which spelling a particular score prefers for theoretical keys","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:26:14.786Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/scale"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/scale"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/scale"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/scale"}}]}}},"/tempo":{"get":{"operationId":"tempo","summary":"BPM to milliseconds for note values, dotted and triplet delay times; or average tap intervals into a steady BPM.","description":"BPM to milliseconds for note values, dotted and triplet delay times; or average tap intervals into a steady BPM.","tags":["music","bpm","tempo","delay-time","tap-tempo"],"parameters":[{"name":"bpm","in":"query","required":false,"description":"Tempo in beats per minute, 20 to 400 (quarter note = one beat)","schema":{"type":"number"}},{"name":"taps","in":"query","required":false,"description":"Tap intervals in milliseconds, comma separated: 500,512,497,505 (use instead of bpm)","schema":{"type":"string"}},{"name":"beatsPerBar","in":"query","required":false,"description":"Beats per bar for the bar length, 1 to 16 (default 4)","schema":{"type":"integer"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"bpm":{"type":["null","number"]},"quarterNoteMs":{"type":["null","number"]},"barMs":{"type":["null","number"]},"beatsPerBar":{"type":["null","number"]},"noteValues":{"type":["array","null"],"items":{"type":"object","properties":{"note":{"type":["null","string"]},"beats":{"type":["null","number"]},"straightMs":{"type":["null","number"]},"dottedMs":{"type":["null","number"]},"tripletMs":{"type":["null","number"]},"straightHz":{"type":["null","number"]}}}},"delayTimes":{"type":["null","object"],"properties":{"note":{"type":["null","string"]},"quarter":{"type":["null","number"]},"dottedEighth":{"type":["null","number"]},"eighth":{"type":["null","number"]},"eighthTriplet":{"type":["null","number"]},"sixteenth":{"type":["null","number"]}}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"COMPUTED","summary":"120 BPM: quarter 500 ms, eighth 250 ms, dotted eighth 375 ms, sixteenth 125 ms; bar of 4 = 2000 ms.","reasons":["Quarter note = 60000 / BPM milliseconds; dotted = x1.5, triplet = x2/3 of the straight value."],"bpm":120,"quarterNoteMs":500,"barMs":2000,"beatsPerBar":4,"noteValues":[{"note":"whole","beats":4,"straightMs":2000,"dottedMs":3000,"tripletMs":1333.33,"straightHz":0.5},{"note":"half","beats":2,"straightMs":1000,"dottedMs":1500,"tripletMs":666.67,"straightHz":1}],"delayTimes":{"note":"delay times in ms for the common divisions","quarter":500,"dottedEighth":375,"eighth":250,"eighthTriplet":166.67,"sixteenth":125},"degraded":false,"notChecked":["swing, groove or human timing","whether the taps were meant as quarter notes (a half-time or double-time feel gives half or double the BPM)","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:26:15.047Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/tempo"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/tempo"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/tempo"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/tempo"}}]}}},"/transpose":{"get":{"operationId":"transpose","summary":"Transpose a chord progression by semitones or from one key to another, with spelling that fits the target key.","description":"Transpose a chord progression by semitones or from one key to another, with spelling that fits the target key.","tags":["music","transpose","chords","key"],"parameters":[{"name":"progression","in":"query","required":true,"description":"Chords separated by spaces, commas or bars: C Am F G7","schema":{"type":"string"}},{"name":"semitones","in":"query","required":false,"description":"Shift -24 to 24 semitones (use this, or fromKey and toKey)","schema":{"type":"integer"}},{"name":"fromKey","in":"query","required":false,"description":"Original key, e.g. C or Am","schema":{"type":"string"}},{"name":"toKey","in":"query","required":false,"description":"Target key, e.g. G or Em; the shift is the upward distance between tonics","schema":{"type":"string"}},{"name":"prefer","in":"query","required":false,"description":"sharps or flats to force the spelling of out-of-key chords","schema":{"type":"string"}}],"responses":{"200":{"description":"The answer.","content":{"application/json":{"schema":{"type":"object","properties":{"verdict":{"type":["null","string"]},"summary":{"type":["null","string"]},"reasons":{"type":["array","null"],"items":{"type":"string"}},"semitones":{"type":["null","number"]},"fromKey":{"type":["null","string"]},"toKey":{"type":["null","string"]},"chords":{"type":["array","null"],"items":{"type":"object","properties":{"input":{"type":["null","string"]},"output":{"type":["null","string"]}}}},"transposed":{"type":["array","null"],"items":{"type":"string"}},"degraded":{"type":["boolean","null"]},"notChecked":{"type":["array","null"],"items":{"type":"string"}},"source":{"type":["null","string"]},"asOf":{"type":["null","string"]},"disclaimer":{"type":["null","string"]}}},"example":{"verdict":"TRANSPOSED","summary":"C Am F G7 -> G Em C D7 (+7 semitones).","reasons":["Spelling follows G major: chords inside the key use its scale spelling, others use its sharp or flat side."],"semitones":7,"fromKey":"C major","toKey":"G major","chords":[{"input":"C","output":"G"},{"input":"Am","output":"Em"}],"transposed":["G","Em","…2 more"],"degraded":false,"notChecked":["voice leading, instrument range or capo positions","whether a minor-key target should use the harmonic or melodic scale for spelling","…1 more"],"source":"computed locally","asOf":"2026-10-11T14:26:15.299Z","disclaimer":"Screening signal computed from the named public source. Not financial, legal or investment advice; provided as is. Verify at the source before acting."}}}},"400":{"description":"A parameter was missing or out of range."},"402":{"description":"Payment Required"},"502":{"description":"The upstream source failed or timed out."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.0200"},"protocols":[{"x402":{"network":"eip155:8453","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/transpose"}},{"x402":{"network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/transpose"}},{"x402":{"network":"eip155:137","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/transpose"}},{"x402":{"network":"eip155:42161","scheme":"exact","currency":"USDC","endpoint":"https://music-theory.x402tookit.com/transpose"}}]}}}}}