Guth
NewsDocs
Page actions
View as Markdown ↗
Explore MCP tools ↗

instrument mechanism / verified-clean

Transposition Calculator mechanism

The inspectable method record for Transposition Calculator, kept separate from implementation and qualification.

Status: VERIFIED_CLEANLifecycle: verified-clean

Model scope

The core chromatic pitch-class calculation is correct. The instrument should not claim fully correct note/chord transposition until it documents accepted note and chord syntax, key-mode handling, enharmonic spelling rules, octave behavior, and the exact meaning of preserving letter names. Honest labeling should distinguish pitch-class transposition from complete notation-aware chord transposition.

  • The pitch-class formula newNote=(oldNote+semitoneShift) mod 12 is standard for chromatic transposition, but the phrase "preserving letter-naming rules" does not specify an exact note-spelling algorithm.
  • Key-to-key transposition does not define how source and target key names, modes, and enharmonic spellings are converted to pitch classes; for example, C-sharp versus D-flat and B-sharp versus C can produce different output spellings.
  • Chord handling is underspecified for chord qualities, extensions, slash chords, omitted tones, and whether spelling should follow strict interval-letter preservation or conventional chord spelling.

Units and conventions

  • Note pitch classes use C=0, C-sharp/D-flat=1, D=2, D-sharp/E-flat=3, E=4, F=5, F-sharp/G-flat=6, G=7, G-sharp/A-flat=8, A=9, A-sharp/B-flat=10, B=11.
  • semitoneShift is an integer number of equal-tempered semitones; negative values transpose downward and values outside -11 through 11 are reduced modulo 12.
  • Key-to-key shifts are calculated as target-tonic pitch class minus source-tonic pitch class, modulo 12.
  • Outputs below assume conventional diatonic spelling where practical, with chord spelling chosen for the target key; the specification must document this policy.

Inspectable vector

One of 4 source-bound review vectors:

{
  "inputs": {
    "notes": [
      "C",
      "E",
      "G"
    ],
    "source_key": "C major",
    "target_key": "D major"
  },
  "expected_outputs": {
    "semitone_shift": 2,
    "transposed_notes": [
      "D",
      "F-sharp",
      "A"
    ]
  },
  "working": "C=0, E=4, G=7. Target D=2 and source C=0, so shift=2-0=2 semitones. C: (0+2) mod 12=2=D. E: (4+2) mod 12=6=F-sharp. G: (7+2) mod 12=9=A. Result: D-F-sharp-A."
}

Failure boundary

  • A missing or non-integer semitone shift can make the modulo operation invalid or ambiguous.
  • If note names are parsed without a defined accidental and enharmonic policy, outputs such as G-sharp versus A-flat cannot be verified uniquely.
  • Key names without an explicitly supported mode and tonic spelling are ambiguous for output note naming.
  • Pitch-class modulo 12 discards octave/register information; the specification should state whether octave numbers are preserved, shifted, or ignored.
  • Chord symbols may contain quality, extensions, alterations, inversions, and slash bass notes that a simple note lookup table may not transpose correctly unless each component is parsed.
  • A zero or full-octave shift is valid but must not be treated as missing input; division-by-zero is not applicable to this algorithm.

Other records

Sources and evidence

These pointers bind the page to evidence. They do not grant authority or collapse verification into deployment.

  • VERIFIED_LEDGER.json
  • evidence-tranche6/tranche6-results.json