Catalog/eng-standing-wave-harmonics

Engineering

Standing-wave harmonics API

Lists the harmonic series for a string/open-open pipe (f_n = n·v/2L) or a closed-open pipe (f_n = (2n−1)·v/4L, odd-only), returning fundamental plus N harmonic frequencies and wavelengths. Answers 'What are the overtone frequencies of this pipe/string?', 'Why does a closed pipe skip even harmonics?'.

Price$0.04per request
MethodPOST
Route/v1/engineering/standing-wave-harmonics
StatusLive
MIME typeapplication/json
Rate limit120/minute
Cache0s public
wavesacousticsstanding-waveharmonicsovertonepiperesonancephysics
API URLhttps://x402.hexl.dev/v1/engineering/standing-wave-harmonics
Integration docs
Example request
{
  "type": "closed-pipe",
  "lengthM": 0.5,
  "speedMps": 343,
  "count": 3
}
Example response
{
  "type": "closed-pipe",
  "fundamentalHz": 171.5,
  "harmonics": [
    {
      "harmonic": 1,
      "frequencyHz": 171.5,
      "wavelengthM": 2
    },
    {
      "harmonic": 3,
      "frequencyHz": 514.5,
      "wavelengthM": 0.66666667
    },
    {
      "harmonic": 5,
      "frequencyHz": 857.5,
      "wavelengthM": 0.4
    }
  ],
  "note": "Closed-open pipe supports only odd harmonics (1, 3, 5, …).",
  "interpretation": "Fundamental 171.5 Hz; 3 modes returned."
}
Input schema
{
  "type": "object",
  "required": [
    "lengthM",
    "speedMps"
  ],
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "string",
        "open-pipe",
        "closed-pipe"
      ],
      "description": "Resonator type (default string)",
      "examples": [
        "closed-pipe"
      ]
    },
    "lengthM": {
      "type": "number",
      "description": "Length of string/pipe (m)",
      "examples": [
        0.5
      ]
    },
    "speedMps": {
      "type": "number",
      "description": "Wave speed (m/s)",
      "examples": [
        343
      ]
    },
    "count": {
      "type": "integer",
      "description": "Number of harmonics to list (default 5)",
      "examples": [
        3
      ]
    }
  }
}
Output schema
{
  "type": "object",
  "additionalProperties": true
}