ForHosting KIT · Developer Utilities

String harmonic series list calculator from fundamental frequency

A vibrating string produces a fundamental tone and a sequence of harmonics at whole-number multiples of that frequency.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

This calculator lists the first several harmonic frequencies when you already know the fundamental. Enter the fundamental in hertz, choose how many harmonics you need, and receive an ordered table containing the harmonic number and frequency. It is useful for acoustics exercises, instrument analysis, resonator planning, and any workflow that needs a repeatable harmonic series without deriving the string’s wave speed, length, tension, or mass density first.

Start with the measured or known fundamental

Use the lowest resonant frequency of the vibrating string as the fundamental frequency. This value is commonly written as f1 and must be supplied in hertz. It may come from a tuner, a spectrum analyzer, a manufacturer’s specification, or an earlier physical calculation based on string length, tension, and linear density. The calculator intentionally begins with the fundamental rather than those physical properties, making it appropriate when the base pitch is already known. Choose a harmonic count that includes every mode you want to inspect. A count of six returns harmonic numbers one through six, so the first entry is the fundamental itself rather than the first overtone. Optional precision controls how many decimal places appear in returned frequencies. It changes presentation, not the underlying relationship. Positive decimal and scientific-notation frequencies are accepted, while zero, negative values, nonnumeric text, and non-finite values are rejected because they cannot describe a valid positive oscillation frequency for this idealized calculation.

Understand the ideal harmonic relationship

For an ideal string fixed at both ends, the frequency of harmonic n is n multiplied by the fundamental frequency: f_n = n × f_1. If the fundamental is 110 Hz, the first four entries are 110, 220, 330, and 440 Hz. Each mode fits an additional half-wavelength along the same vibrating length, which creates the integer sequence. The returned list pairs every calculated frequency with its harmonic number so downstream code does not need to infer array positions. Real strings can depart slightly from this ideal model. Stiffness, winding construction, termination geometry, temperature, tension variation, and measurement error may cause partials to be inharmonic or shifted. This capability does not estimate those corrections and does not claim that every spectral peak is an exact multiple in a physical instrument. It provides the mathematically ideal reference series, which is often the right baseline for comparing measurements, teaching standing-wave behavior, or establishing expected resonances before investigating deviations.

Use the list safely in analysis and automation

The output includes the rounded fundamental, requested count, ordered harmonic records, precision, hertz unit, and formula. Preserve the harmonic number when joining the result with measured peaks; matching only by frequency can become ambiguous when tolerances overlap or other strings sound simultaneously. For spectral comparison, select a frequency tolerance that reflects the recording resolution and the expected inharmonicity instead of requiring exact equality. For synthesis or test-signal design, remember that the list supplies frequencies only. It does not choose amplitudes, phases, envelopes, or timbre, and equal-amplitude harmonics rarely resemble a natural string. Requests are bounded at 1,000 harmonics to keep output predictable for browsers and APIs. Very large fundamentals can also be rejected if their highest requested multiple exceeds the finite numeric range. The algorithm is deterministic and uses no network, random source, or current time, so identical valid inputs produce identical JSON. Automated API calls cost $0.002 each, while callers can set precision explicitly to keep stored results stable across a larger processing pipeline.

Compare a spectrum with ideal string modes

Generate expected harmonic locations, then compare them with peaks measured from a recorded or simulated string.

Prepare an acoustics lesson

Create a numbered frequency table that demonstrates how fixed-string modes are integer multiples of the fundamental.

Build a synthesis frequency plan

Supply deterministic oscillator frequencies before separately assigning amplitudes, phases, and envelopes.

Is the fundamental included in the list?

Yes. Harmonic number one is the fundamental, and the remaining entries continue through the requested count.

What formula does the calculator use?

It uses f_n = n × f_1, where n is a positive integer and f_1 is the supplied fundamental frequency.

Does this model string stiffness or inharmonicity?

No. It returns the ideal fixed-string harmonic series. Real partials may shift because of stiffness, construction, boundaries, or changing tension.

What does precision change?

Precision sets the number of decimal places in returned frequencies. It does not change the harmonic count or the ideal multiplication rule.

How much does an API request cost?

Each API request costs $0.002. The calculation is deterministic and requires no external data source.

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/optics/string-harmonic-series-list

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/optics/string-harmonic-series-list \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fundamental_frequency":110,"harmonics_count":6}'
{
  "fundamental_frequency": 110,
  "harmonics_count": 6
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "optics.string_harmonic_series_list",
  "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_harmonics1000
max_precision12
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 →