{"_id":"@audio/auditory-octave","_rev":"3-b87821241b64b2be92e74498390c0c2f","name":"@audio/auditory-octave","dist-tags":{"latest":"1.1.1"},"versions":{"1.0.0":{"name":"@audio/auditory-octave","version":"1.0.0","keywords":["audio","dsp","auditory","filterbank","octave"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/auditory-octave@1.0.0","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"dist":{"shasum":"e0e181ba3592389d0d0d8705c5afe59327507f88","tarball":"https://registry.npmjs.org/@audio/auditory-octave/-/auditory-octave-1.0.0.tgz","fileCount":2,"integrity":"sha512-hUYh5K9jKiSWyt0+3r5j0U+BJaTG1LIpxqK0u+W9Z9WjxFdiy/cL4NiEAGBN7R34Nnso7MgG8/vIwxFK4t3w2A==","signatures":[{"sig":"MEUCICD9sC1QNY0ddduCn52vqCmMhvltWJBbBJ7QDEaCgc5WAiEA9aKfPUYscFsl6ciKek6BqGsqWK2Tlcnx741DXmll/8Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1922},"main":"octave-bank.js","type":"module","engines":{"node":">=18"},"exports":{".":"./octave-bank.js","./package.json":"./package.json"},"gitHead":"920dc4b88a0853412037ae7b1fea217966c3a709","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"IEC 61260 fractional-octave filter bank","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"digital-filter":"^2.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/auditory-octave_1.0.0_1783539806598_0.17178719450766233","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@audio/auditory-octave","version":"1.1.0","keywords":["audio","dsp","auditory","filterbank","octave"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/auditory-octave@1.1.0","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"dist":{"shasum":"e557a5eb35965b8e764a0d0d2e4f2b3e36d8289a","tarball":"https://registry.npmjs.org/@audio/auditory-octave/-/auditory-octave-1.1.0.tgz","fileCount":2,"integrity":"sha512-OsM5K/IH/xYflO3DqgVTYzdvRpWzRv5vVmOkKn8dvZmzGdWzWkKoII3WZrFDfNi8U9i4GTxJFC/I8unDmH2vEg==","signatures":[{"sig":"MEUCIBM9ahFn1FTJwntA4zSgrypNjAjR8m5ZKvdtZAe/qsA9AiEAp2rbMg6U0KS2XJzOxuRPLJslcdVXBuio/Pi/5BZs15s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1904},"main":"octave-bank.js","type":"module","engines":{"node":">=18"},"exports":{".":"./octave-bank.js","./package.json":"./package.json"},"gitHead":"6136a11a5866781a8c5f7ec53880a0c792e2a607","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"IEC 61260 fractional-octave filter bank","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/biquad":"^1.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/auditory-octave_1.1.0_1783567861172_0.03536778968469778","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@audio/auditory-octave","version":"1.1.1","description":"IEC 61260 fractional-octave filter bank","type":"module","sideEffects":false,"main":"octave-bank.js","types":"./octave-bank.d.ts","exports":{".":"./octave-bank.js","./package.json":"./package.json"},"dependencies":{"@audio/biquad":"^1.1.0"},"keywords":["audio","dsp","auditory","filterbank","octave"],"license":"MIT","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/audiojs/auditory.git","directory":"packages/auditory-octave"},"funding":"https://github.com/sponsors/audiojs","gitHead":"bb049eb6d39da24910c3691d6bae5fcdad34671d","_id":"@audio/auditory-octave@1.1.1","bugs":{"url":"https://github.com/audiojs/auditory/issues"},"homepage":"https://github.com/audiojs/auditory#readme","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-oJkzlsGMpGvSRHpLx4hOL6ejy0R6onC+NiTeMufFe/uUPi8ULs6TqEcKHPRFFbOvNDK6c4pRN7SZig4jZG4RrQ==","shasum":"b21440f1fb1948d7263343984d76ee35d405d6b7","tarball":"https://registry.npmjs.org/@audio/auditory-octave/-/auditory-octave-1.1.1.tgz","fileCount":4,"unpackedSize":5432,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGd4q32fWgu9ijujhM7vs0jeQdOyoikdKbFTeNgjNg7SAiBjkD2flhMN9RzvORP17Fi2unNz+80OEaq1PHEoxGDAlw=="}]},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"directories":{},"maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/auditory-octave_1.1.1_1783731312870_0.8549784427714417"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T19:43:26.455Z","modified":"2026-07-11T00:55:13.182Z","1.0.0":"2026-07-08T19:43:26.737Z","1.1.0":"2026-07-09T03:31:01.298Z","1.1.1":"2026-07-11T00:55:13.019Z"},"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","keywords":["audio","dsp","auditory","filterbank","octave"],"description":"IEC 61260 fractional-octave filter bank","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/auditory-octave [![npm](https://img.shields.io/npm/v/@audio/auditory-octave)](https://www.npmjs.com/package/@audio/auditory-octave) [![MIT](https://img.shields.io/badge/MIT-%E0%A5%90-white)](https://github.com/krishnized/license)\n\nIEC 61260 fractional-octave filter bank\n\n```\nnpm install @audio/auditory-octave\n```\n\n```js\nimport octaveBank from '@audio/auditory-octave'\n```\n\nStandard ISO 266 center frequencies, `fc = 1000 * G^(k/fraction)` with `G = 10^(3/10)` (IEC 61260-1:2014, \"Electroacoustics — Octave-band and fractional-octave-band filters\"), constant-Q bandpass biquads at each `fc` with `Q = 1/(G^(1/2n) - G^(-1/2n))`.\n\n**Design function, not a stream processor**: `octaveBank(fraction, fs, opts) → bands`. Positional `fraction`, then `fs` — a deliberate divergence from the filter/eq family's `fn(data, params)` in-place convention. No buffer in, no buffer out; it returns band descriptors. Feed each band's `coefs` to `digital-filter`'s `filter()` to actually filter audio through it.\n\n```js\noctaveBank()                                      // 1/3-octave, defaults (fraction=3, fs=44100)\noctaveBank(1, 48000)                               // full-octave bank at 48kHz\noctaveBank(3, 44100, { fmin: 100, fmax: 8000 })     // restrict range\n```\n\n| Param | Default | |\n|---|---|---|\n| `fraction` | `3` | Octave fraction — `1` full octave, `3` = 1/3-octave, `6` = 1/6-octave, etc. |\n| `fs` | `44100` | Sample rate Hz |\n| `opts.fmin` | `31.25` | Lowest band center Hz |\n| `opts.fmax` | `16000` | Highest band center Hz |\n\n**Use when:** fixed constant-percentage-bandwidth analysis at standard ISO center frequencies — RTA/spectrum analyzers, room-acoustics measurement.\n\n---\n\nPart of [@audio/auditory](https://github.com/audiojs/auditory) — the auditory family umbrella.\n\nMIT © [audiojs](https://github.com/audiojs)\n","readmeFilename":"README.md","homepage":"https://github.com/audiojs/auditory#readme","repository":{"type":"git","url":"git+https://github.com/audiojs/auditory.git","directory":"packages/auditory-octave"},"bugs":{"url":"https://github.com/audiojs/auditory/issues"}}