{"_id":"@audio/reverb-spring","_rev":"5-75987bf20967f10e542c8f4515c9044d","name":"@audio/reverb-spring","dist-tags":{"latest":"1.1.3"},"versions":{"1.0.0":{"name":"@audio/reverb-spring","version":"1.0.0","keywords":["audio","dsp","reverb","spring"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/reverb-spring@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":"5b132c6caa02a59b99a079d51f9b79bd34e6bea7","tarball":"https://registry.npmjs.org/@audio/reverb-spring/-/reverb-spring-1.0.0.tgz","fileCount":2,"integrity":"sha512-D3f3JdQX6JBCxMnvDvq+DpMEUpp3jA4MCj5nrqSBExsyYDqsr6xAT7D0bv1QxapckIk4xbzwSD0FR7w1IWt61g==","signatures":[{"sig":"MEUCIQDawISnJEdXQzY7BY1uAsWVvffcyfpQf8MYEcWxGhKzuwIgBwP258TRhCmO1mgmtauecqalt+wcV52nu10xzOG73KU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2201},"main":"spring.js","type":"module","engines":{"node":">=18"},"exports":{".":"./spring.js","./package.json":"./package.json"},"gitHead":"e3fbdb11e067705f21e8c18a562f1dac70a4e3db","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Spring reverb — dispersive allpass-chain loop (Parker-Välimäki class simplified model)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/reverb-spring_1.0.0_1783539862651_0.5663018629699119","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@audio/reverb-spring","version":"1.1.0","keywords":["audio","dsp","reverb","spring"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/reverb-spring@1.1.0","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"atom":"./atom.js","dist":{"shasum":"b8f74903c9c42e50b204177bbf5d4419e1fc85ab","tarball":"https://registry.npmjs.org/@audio/reverb-spring/-/reverb-spring-1.1.0.tgz","fileCount":3,"integrity":"sha512-ZceCTSU+d2fZLoLSNhNQfYoT+gR6QfXMXnT5+DF17Mo5MfMGPeHhqIXLRJgDUOISxWz2IozA1CvDYj1NDSlFgA==","signatures":[{"sig":"MEQCICmoeSPJU7tPsCccCS54JnbVdDoephDEwwL7Gw4WZA8iAiADpOGARxuJ9jaYNmogS12ZoMVq+opv9cjDOkloF1/VqQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3534},"main":"spring.js","type":"module","engines":{"node":">=18"},"exports":{".":"./spring.js","./atom":"./atom.js","./package.json":"./package.json"},"gitHead":"4c2c72cd5de59281228f3de3a87170d339bb457a","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Spring reverb — dispersive allpass-chain loop (Parker-Välimäki class simplified model)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/reverb-spring_1.1.0_1783635126137_0.8776679276486883","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@audio/reverb-spring","version":"1.1.1","keywords":["audio","dsp","reverb","spring"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/reverb-spring@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":"04abf1736f1ce840c59a95b34313733a3a4e8b75","tarball":"https://registry.npmjs.org/@audio/reverb-spring/-/reverb-spring-1.1.1.tgz","fileCount":3,"integrity":"sha512-mv7q/+5Q9zhde4JjY/OVevK5AonmOCg7E4Dxcy42+U6sJIat+mULVy3a4EH4oO5vHSgB8rn8APZnqPnHIUKGwQ==","signatures":[{"sig":"MEYCIQCRT81Tq0fm4ZJ0IgxsrZd8jgp2z+LB739RFFnyGwu9uwIhAPM6jmIfcLYV/yqDLRUc5MqMtfvBs2acHtgVMB6GMic9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3539},"main":"spring.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./spring.js","./audio":"./audio.js","./package.json":"./package.json"},"gitHead":"b16714728a59fd6d56cd8ab33f305dad4165a694","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Spring reverb — dispersive allpass-chain loop (Parker-Välimäki class simplified model)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/reverb-spring_1.1.1_1783645021492_0.13937031772321906","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@audio/reverb-spring","version":"1.1.2","keywords":["audio","dsp","reverb","spring"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/reverb-spring@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":"1ceeec832b186d5d389dd859c9811947f8fb47c2","tarball":"https://registry.npmjs.org/@audio/reverb-spring/-/reverb-spring-1.1.2.tgz","fileCount":4,"integrity":"sha512-kr3r6RAOFW6mpCOCnvt3JJdKt94b9/vw7LDGMLpPN2amcG2Slsb5E2+z3ZfCoQHO4+EItZiYmzK7r99hsPMCKQ==","signatures":[{"sig":"MEYCIQCseNC9l0qc3l+hIV1pBsKmzYU+vbIBBBs4E0uf8bnDJgIhAKShn0Ha2pKfUrFJ3TL9D1o+QgLIhzHNIC2YDGITOvKx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5176},"main":"spring.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./spring.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"gitHead":"44f8107e10040cdbd0945e4965f0ed6144b44fb5","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Spring reverb — dispersive allpass-chain loop (Parker-Välimäki class simplified model)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/reverb-spring_1.1.2_1783701787912_0.6517841075366178","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@audio/reverb-spring","version":"1.1.3","description":"Spring reverb — dispersive allpass-chain loop (Parker-Välimäki class simplified model)","type":"module","sideEffects":false,"main":"spring.js","exports":{".":"./spring.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"keywords":["audio","dsp","reverb","spring"],"license":"MIT","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"audio":"./audio.js","repository":{"type":"git","url":"git+https://github.com/audiojs/reverb.git","directory":"packages/reverb-spring"},"funding":"https://github.com/sponsors/audiojs","types":"spring.d.ts","gitHead":"66500e037dac15d3fd697a23d00e3bd08300fdd1","_id":"@audio/reverb-spring@1.1.3","bugs":{"url":"https://github.com/audiojs/reverb/issues"},"homepage":"https://github.com/audiojs/reverb#readme","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-TFpzEhyrdpSKdFzpNTr2sGkFrfiqdRNzpMjZAC11zxi/zaGNnDLaIN/flvESUSquKSHb8BnfJnIrRtUCqYUwkg==","shasum":"b9e6ff24d1f729e55b0e7aa5bfaaaa1869a6c10f","tarball":"https://registry.npmjs.org/@audio/reverb-spring/-/reverb-spring-1.1.3.tgz","fileCount":6,"unpackedSize":7888,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDuqcIxmGP1H9m/gdN4OPuMuhDFJSSzhxaDdaT548oUUgIhALpa2Ox+joMiGkLZASnzWwSTJ9P7d4nMMTTW+VaOmTAf"}]},"_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/reverb-spring_1.1.3_1783731749101_0.6615519088085902"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T19:44:22.480Z","modified":"2026-07-11T01:02:29.442Z","1.0.0":"2026-07-08T19:44:22.783Z","1.1.0":"2026-07-09T22:12:06.283Z","1.1.1":"2026-07-10T00:57:01.625Z","1.1.2":"2026-07-10T16:43:08.059Z","1.1.3":"2026-07-11T01:02:29.231Z"},"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","keywords":["audio","dsp","reverb","spring"],"description":"Spring reverb — dispersive allpass-chain loop (Parker-Välimäki class simplified model)","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/reverb-spring [![npm](https://img.shields.io/npm/v/@audio/reverb-spring)](https://www.npmjs.com/package/@audio/reverb-spring) [![MIT](https://img.shields.io/badge/MIT-%E0%A5%90-white)](https://github.com/krishnized/license)\n\nSpring reverb — dispersive allpass-chain loop (Parker-Välimäki class simplified model)\n\n```\nnpm install @audio/reverb-spring\n```\n\n```js\nimport spring from '@audio/reverb-spring'\n```\n\nA feedback loop of 24 cascaded first-order dispersive allpass filters plus a short pre-delay: the cascade makes group delay frequency-dependent, producing the characteristic spring \"boing\"/chirp on transients. A simplified digital spring after Parker & Välimäki, \"Spring reverberation: a physical perspective\" (DAFx-10). Mono only.\n\n```js\nspring(data, { decay: 0.6, tension: 0.5, damping: 0.4, mix: 0.35, fs: 44100 })\nspring(data, { tension: 0.9 })  // tighter spring, more pronounced dispersion chirp\n```\n\n| Param | Default | |\n|---|---|---|\n| `decay` | `0.6` | 0..1 — loop feedback (tail length) |\n| `tension` | `0.5` | 0..1 — allpass dispersion coefficient (spring \"tightness\") |\n| `damping` | `0.4` | 0..1 — high-frequency loss in the loop |\n| `mix` | `0.35` | 0..1 — wet/dry blend |\n| `fs` | `44100` | sample rate; delay lengths scale to it |\n\n**Mutates `data` in place** and returns it. Fresh loop/allpass state is allocated per call — no state carries across calls, reprocess the whole buffer each time.\n\n**Use when:** guitar-amp/vintage spring-tank character, transient \"boing\".<br>\n**Not for:** smooth room/plate tails (the dispersion coloration is the point — use `freeverb`/`dattorro` for smooth) or stereo width (mono only).\n\n---\n\nPart of the [@audio/reverb](https://github.com/audiojs/reverb) family.\n\nMIT © [audiojs](https://github.com/audiojs)\n","readmeFilename":"README.md","homepage":"https://github.com/audiojs/reverb#readme","repository":{"type":"git","url":"git+https://github.com/audiojs/reverb.git","directory":"packages/reverb-spring"},"bugs":{"url":"https://github.com/audiojs/reverb/issues"}}