ForHosting KIT · Developer Utilities

Pythagorean tuning interval ratio calculator

This Pythagorean tuning interval ratio calculator turns a signed number of pure fifths into an exact frequency ratio.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Enter a positive count to travel upward around the circle of fifths or a negative count to travel downward. The calculator can move the result into one octave without changing its pitch class, then reports the exact fraction, decimal ratio, octave shift, and size in cents. It is useful for studying tuning theory, checking interval tables, and comparing Pythagorean spellings without rounding away the underlying arithmetic.

Build an interval from pure fifths

Pythagorean tuning begins with the pure fifth, whose frequency ratio is exactly 3:2. Stacking fifths means multiplying that ratio once for every upward step, so seven fifths produce (3/2)^7. A negative count travels in the opposite direction and uses the reciprocal, (2/3) for each step. Enter zero to obtain unison, one for a pure fifth, two for the Pythagorean major second after octave reduction, or any signed integer within the stated limit. The calculator performs the rational arithmetic with integers rather than repeatedly rounding decimal values. Its numerator and denominator therefore preserve the exact theoretical ratio. This distinction matters when many fifths are stacked: a displayed decimal is convenient for measurement, but it is only an approximation, while the fraction records precisely how the interval was constructed. Positive and negative counts are handled symmetrically, making the tool suitable for moving either direction through a chain of fifths and for checking inverse relationships between intervals.

Understand octave normalization and the reported shift

Intervals produced by several fifths quickly extend beyond a single octave. Octave normalization multiplies or divides the raw ratio by powers of two until the result lies from 1:1 inclusive to 2:1 exclusive. Because an octave identifies pitches of the same pitch class, this reduction keeps the Pythagorean identity of the interval while presenting it in the range most tuning tables use. The `octave_shift` field explains exactly what happened: a negative value means the raw stacked ratio was divided by that many octaves, while a positive value means it was raised by octaves after descending fifths. Disable normalization when you need the literal compound interval formed by the complete stack. In that mode the octave shift is zero and the fraction remains (3/2)^n or its reciprocal. Comparing normalized and unnormalized calls is a direct way to separate two ideas that are sometimes conflated: the physical frequency multiplication accumulated by the stack and the octave-equivalent simple interval normally assigned a familiar musical name.

Use exact ratios, decimals, and cents together

The result offers several views of the same interval because each serves a different task. Use `ratio`, `numerator`, and `denominator` when copying exact values into a tuning table, proving a relationship, or calculating a target frequency with rational arithmetic. Use `decimal_ratio` when multiplying a reference frequency in a synthesizer script or spreadsheet. Use `cents` when comparing the result with twelve-tone equal temperament or another tuning system, since cents convert multiplicative frequency ratios into an additive scale. For example, you can calculate a Pythagorean pitch, compare its cents value with the nearest 100-cent equal-tempered step, and interpret the difference as a tuning offset. Remember that the calculator describes intervals rather than naming notes: enharmonic spelling depends on the chosen starting note and direction through the fifth chain. The exact fraction remains unambiguous even when two spellings look similar on a keyboard, and it exposes small discrepancies such as the Pythagorean comma that rounded pitch labels can conceal.

Construct a Pythagorean scale

Generate exact octave-reduced ratios for successive positions in a chain of pure fifths.

Compare tuning systems

Use the cents result to measure how a Pythagorean interval differs from its equal-tempered counterpart.

Check instrument or synth settings

Multiply a base frequency by the decimal ratio or translate its cents value into a tuning offset.

What is a pure fifth?

It is an interval with the exact frequency ratio 3:2, meaning the upper frequency is one and a half times the lower frequency.

What does a negative fifth count mean?

It stacks descending fifths by using the reciprocal ratio 2:3 before any optional octave normalization.

What does octave normalization change?

It changes only the octave register by an exact power of two, placing the ratio between 1:1 and 2:1 without changing its pitch class.

Why are the numerator and denominator strings?

Large exact integers can exceed JavaScript's safe JSON number range. Strings preserve every digit of the rational result.

Does the calculator return a note name?

No. A note name also requires a starting pitch and a spelling convention; this calculator returns the interval produced by the fifth stack.

What does an API request cost?

Each API request costs $0.002. The deterministic browser version can also run locally on the page.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/hobby/music-pythagorean-ratio

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/hobby/music-pythagorean-ratio \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fifths":7}'
{
  "fifths": 7
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "hobby.music_pythagorean_ratio",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

max_fifths100
HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →