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

instrument mechanism / verified-clean

Semitone/Cents Ratio ↔ Playback Speed (Pitch/Time) Calculator mechanism

The inspectable method record for Semitone/Cents Ratio ↔ Playback Speed (Pitch/Time) Calculator, kept separate from implementation and qualification.

Status: VERIFIED_CLEANLifecycle: verified-clean

Model scope

The core semitone-to-speed formula is standard and correct, but the catalog entry is incomplete for its stated semitone/cents and bidirectional functionality. Add explicit cents and inverse formulas, define the speed-percentage convention, and enforce speedRatio>0. The honest-label limitation to simple speed-based pitch shifting is appropriate.

  • speedRatio=2^(semitones/12) is correct for equal-tempered, speed-based pitch shifting when semitones are measured relative to the source.
  • The stated formula does not directly support cents, despite the instrument name and description. Cents require speedRatio=2^(cents/1200), or semitones=cents/100 before applying the stated formula.
  • The vice-versa calculation is not specified. For a positive speed ratio, the inverse is semitones=12*log2(speedRatio) and cents=1200*log2(speedRatio).
  • Resulting BPM requires the additional formula resultingBPM=sourceBPM*speedRatio, which is not stated.
  • The input specification says semitone shift or speed percentage but does not explicitly define cents as an accepted input.

Units and conventions

  • One octave equals 12 equal-tempered semitones and 1200 cents.
  • A speed percentage is interpreted as percentage change from nominal speed: speedRatio=1+speedPercentage/100. Thus +100% means 2.0x speed, while 150% absolute speed would also mean 1.5x but is a different convention.
  • Source BPM is in beats per minute and resulting BPM is sourceBPM multiplied by the speed ratio.
  • The formula models turntable, tape, or other speed-based pitch shifting, not independent time-stretching.
  • Logarithms in inverse formulas are base 2.

Inspectable vector

One of 4 source-bound review vectors:

{
  "inputs": {
    "semitone_shift": 0,
    "source_bpm": 120
  },
  "expected_outputs": {
    "speed_ratio": 1,
    "speed_percentage": 0,
    "resulting_bpm": 120
  },
  "working": "speedRatio=2^(0/12)=2^0=1. speedPercentage=(1-1)*100=0%. resultingBPM=120*1=120 BPM."
}

Failure boundary

BREAK_CLAIMED · SELF_FLAGGED

A speed input of -100% produces speedRatio = 0, making the inverse logarithm undefined. The instrument must reject this input or explicitly report an undefined semitone shift.

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-tranche5/tranche5-results.json
  • BOUNDARY_HAZARD_CATALOG.json