{"_id":"@audio/spectral-rolloff","_rev":"6-3ffbeef2ddfcc09d23a5f2bd9a292c25","name":"@audio/spectral-rolloff","dist-tags":{"latest":"1.1.4"},"versions":{"1.0.0":{"name":"@audio/spectral-rolloff","version":"1.0.0","keywords":["audio","dsp","spectral","features","rolloff"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/spectral-rolloff@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":"1cca36ac6faa768bda0da19cf511e97817f89c24","tarball":"https://registry.npmjs.org/@audio/spectral-rolloff/-/spectral-rolloff-1.0.0.tgz","fileCount":3,"integrity":"sha512-9BFqZSQoKlVZKg68d/O+N4aBbX49l4eJQ22JT/Qa0rmVWT+tB4oPQptbORKSq8Sjz1H4iVZ16ptVI4U3ADb8eQ==","signatures":[{"sig":"MEUCICze/YwGUutL5dXBz2vrTaCt0lLDnKeXoLpIUO5nUcHoAiEA95hraogqMYOmPcswrLkVsilYIR4IS2bdNwYTE4dwe4E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1249},"main":"rolloff.js","type":"module","engines":{"node":">=18"},"exports":{".":"./rolloff.js","./package.json":"./package.json"},"gitHead":"a1aba4f2662a0f284ef88a04047c6cfa3c3ce6e5","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Spectral rolloff — frequency below which \\`p\\` of total spectral energy lies (default 85%).","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spectral-rolloff_1.0.0_1783540028115_0.34729784925431595","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@audio/spectral-rolloff","version":"1.1.0","keywords":["audio","dsp","spectral","features","rolloff"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/spectral-rolloff@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":"64de052a56ac42f83406d7bc2dfaaaa8840a2f34","tarball":"https://registry.npmjs.org/@audio/spectral-rolloff/-/spectral-rolloff-1.1.0.tgz","fileCount":4,"integrity":"sha512-kttR6uhB6jAXHPH1lPFlBkW8FIrIOUpPBylPOUVskoQHtBflKBUADpSQ0JjFsk7m+c/iQGr0Qnj3aDF0h8t+sw==","signatures":[{"sig":"MEYCIQDyII2HvbgjKcY7eaa7BI2NfNFtBJsmGA3yUpwie9olQAIhAOSCHaK6bztNxv5DcsmA1K0SU7Ystqc1mThsNWes3JJX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2534},"main":"rolloff.js","type":"module","engines":{"node":">=18"},"exports":{".":"./rolloff.js","./stat":"./stat.js","./package.json":"./package.json"},"gitHead":"aee601cfdf49e67cf47232ef76b6983d4129f4a5","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Spectral rolloff — frequency below which \\`p\\` of total spectral energy lies (default 85%).","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spectral-rolloff_1.1.0_1783635209411_0.8617650836066284","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@audio/spectral-rolloff","version":"1.1.1","keywords":["audio","dsp","spectral","features","rolloff"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/spectral-rolloff@1.1.1","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"dist":{"shasum":"52da94ad317fdd4edad95799dac337a95116a517","tarball":"https://registry.npmjs.org/@audio/spectral-rolloff/-/spectral-rolloff-1.1.1.tgz","fileCount":4,"integrity":"sha512-2+DUDHM0u9sof3GSWBi0a98Pt8g2t7jTPhiMtphVC5cL799T/77H4yZbJizKMS5f/1M9h7DuHM2dRNvFovEpFg==","signatures":[{"sig":"MEQCIHpR6EQbW7xSstPN646oLRihydokCdHyDcvPD9bfT4wrAiBQwaOIpZ8WzoHb7sELeeMJPuvDu/9YuPcuJC/4FgUkvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2562},"main":"rolloff.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./rolloff.js","./audio":"./audio.js","./package.json":"./package.json"},"gitHead":"b4077a4f931c647dc20ff7d6e82b612391de1a77","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Spectral rolloff — frequency below which \\`p\\` of total spectral energy lies (default 85%).","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spectral-rolloff_1.1.1_1783645106482_0.2278698612829526","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@audio/spectral-rolloff","version":"1.1.2","keywords":["audio","dsp","spectral","features","rolloff"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/spectral-rolloff@1.1.2","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"dist":{"shasum":"6344bbc31a170a00388150b9ff0aaf6ba36f3e7a","tarball":"https://registry.npmjs.org/@audio/spectral-rolloff/-/spectral-rolloff-1.1.2.tgz","fileCount":5,"integrity":"sha512-NKd5Mv0bqfem6ZINwyXCIcczM1FcwuQ86vJcCYJbOqknIkjCxf3Dv2ttVQqRTRwDztJMZDFTfK4QsMms8AR9hQ==","signatures":[{"sig":"MEQCIDGR4aCjZtzhtlgRsG/thTgHMO9QTcXYBKtQoHiS0Jq4AiBIcwU2H5azQ8Lo0cf2oQNJe7OPwAaBFzXV6+p4SZeLDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3643},"main":"rolloff.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./rolloff.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"gitHead":"e8fc5c606da9a5786768cb46d0141910604689e1","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Spectral rolloff — frequency below which \\`p\\` of total spectral energy lies (default 85%).","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spectral-rolloff_1.1.2_1783701825322_0.5688179782165728","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@audio/spectral-rolloff","version":"1.1.3","keywords":["audio","dsp","spectral","features","rolloff"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/spectral-rolloff@1.1.3","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"homepage":"https://github.com/audiojs/spectral#readme","bugs":{"url":"https://github.com/audiojs/spectral/issues"},"dist":{"shasum":"80ba674ad494326fcd3a5d39daca4366464a5eb2","tarball":"https://registry.npmjs.org/@audio/spectral-rolloff/-/spectral-rolloff-1.1.3.tgz","fileCount":5,"integrity":"sha512-0lCi1O8ZTKFcWMY5IXxRHluqn4U6tQogWKnehP84iBHw93QwsWgsB3wZa13bOxXoO6FEurJDhEXMlRAvCpHkLg==","signatures":[{"sig":"MEQCIHx2dtoldcYKlpI79sAQBcY9axCbrNBwpuQ6tWABZI86AiB6SJnuPDKDz+N1ClhiHo3RG2VXZ7OGdIjGAbAgEIuwMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4416},"main":"rolloff.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./rolloff.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"gitHead":"27a82efde8c69de05035cc9f97fc017936efb69e","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/spectral.git","type":"git","directory":"packages/spectral-rolloff"},"_npmVersion":"11.12.1","description":"Spectral rolloff — frequency below which \\`p\\` of total spectral energy lies (default 85%).","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spectral-rolloff_1.1.3_1783726353303_0.15791760605526872","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@audio/spectral-rolloff","version":"1.1.4","description":"Spectral rolloff — frequency below which \\`p\\` of total spectral energy lies (default 85%).","type":"module","sideEffects":false,"main":"rolloff.js","exports":{".":"./rolloff.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"keywords":["audio","dsp","spectral","features","rolloff"],"license":"MIT","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"dependencies":{"fourier-transform":"^2.3.1"},"types":"index.d.ts","audio":"./audio.js","repository":{"type":"git","url":"git+https://github.com/audiojs/spectral.git","directory":"packages/spectral-rolloff"},"funding":"https://github.com/sponsors/audiojs","gitHead":"0bf461273c2acb2401ff9842afec35a43fd05a9a","_id":"@audio/spectral-rolloff@1.1.4","bugs":{"url":"https://github.com/audiojs/spectral/issues"},"homepage":"https://github.com/audiojs/spectral#readme","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-lFNG1jvkCONpDpgTHxvqc4houJB6kS0YKP2NIgqNoAcuW7WwXwuLAv/WrjrKBRUOOBESDY5FeuAwLm0Vn5YSDg==","shasum":"c441e2e2c5672e0e324370b631fcc82b2ffe5d49","tarball":"https://registry.npmjs.org/@audio/spectral-rolloff/-/spectral-rolloff-1.1.4.tgz","fileCount":6,"unpackedSize":5031,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIH6/sIOphCHGXYa7E2RbpAlUvusd4HhsQFhXuk8KzaSQAiASfLtQ7ZyI0BzTAm+x3dDsdtWvyvxADsNhh950r/CNEA=="}]},"_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/spectral-rolloff_1.1.4_1783731891566_0.21369640093021203"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T19:47:07.937Z","modified":"2026-07-11T01:04:51.852Z","1.0.0":"2026-07-08T19:47:08.246Z","1.1.0":"2026-07-09T22:13:29.614Z","1.1.1":"2026-07-10T00:58:26.620Z","1.1.2":"2026-07-10T16:43:45.467Z","1.1.3":"2026-07-10T23:32:33.447Z","1.1.4":"2026-07-11T01:04:51.731Z"},"bugs":{"url":"https://github.com/audiojs/spectral/issues"},"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","homepage":"https://github.com/audiojs/spectral#readme","keywords":["audio","dsp","spectral","features","rolloff"],"repository":{"type":"git","url":"git+https://github.com/audiojs/spectral.git","directory":"packages/spectral-rolloff"},"description":"Spectral rolloff — frequency below which \\`p\\` of total spectral energy lies (default 85%).","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/spectral-rolloff\n\n> Spectral rolloff — frequency below which `p` of total spectral energy lies (default 85%).\n\n`npm install @audio/spectral-rolloff`\n\n```js\nimport { fft } from 'fourier-transform'\nimport rolloff from '@audio/spectral-rolloff'\n\nlet win = frame.map((x, i) => x * (0.5 - 0.5 * Math.cos(2 * Math.PI * i / (frame.length - 1))))\nlet [re, im] = fft(win)\nlet mag = re.map((r, k) => Math.hypot(r, im[k]))\n\nlet hz = rolloff(mag, { fs: 44100, p: 0.85 })\n```\n\nOptions: - `fs` — sample rate (default 44100, Hz) · `n` — FFT size the spectrum was taken at (default `2 * (mag.length - 1)`, inferred from `mag.length`) · `p` — energy fraction (default 0.85)\n\nAlso exported as an `audio.js` stat manifest (`./audio` — mono-fold, 2048/512 hann frames, averaged over the take).\n\nPart of [@audio/spectral](https://github.com/audiojs/spectral).\n","readmeFilename":"README.md"}