{"_id":"@audio/filter-moog-ladder","_rev":"5-cdd028a1c707da81851fdeee35d0d59d","name":"@audio/filter-moog-ladder","dist-tags":{"latest":"1.1.3"},"versions":{"1.0.0":{"name":"@audio/filter-moog-ladder","version":"1.0.0","keywords":["audio","dsp","filter","moog-ladder"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/filter-moog-ladder@1.0.0","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/filter/tree/main/packages/filter-moog-ladder","bugs":{"url":"https://github.com/audiojs/filter/issues"},"dist":{"shasum":"180f4eea773c5218c857d479c52d21ed0a3a90f3","tarball":"https://registry.npmjs.org/@audio/filter-moog-ladder/-/filter-moog-ladder-1.0.0.tgz","fileCount":2,"integrity":"sha512-03TgfjjmIWk/DmGX1DrJxcgmmctz1Wq46TjMT4fseYGe/x8xGDWMm4NV1GBWSBi3w8iwTHnYX5dkJ6pJwms0Pg==","signatures":[{"sig":"MEUCIQDctWcO6WjR2RKQeueJ7fARXNCIYG7zim8pPtxc8ImwbAIgc5A4Vww4z2YoRD7VAWKUWkfu23STb+DzkXR/qzZVtH8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3106},"main":"moog-ladder.js","type":"module","engines":{"node":">=18"},"exports":{".":"./moog-ladder.js","./package.json":"./package.json"},"gitHead":"df0c10910638b429ad2e246e6c0df608999d85cc","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/filter.git","type":"git","directory":"packages/filter-moog-ladder"},"_npmVersion":"11.12.1","description":"Moog 4-pole transistor ladder filter (-24 dB/oct lowpass with resonance)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/filter-moog-ladder_1.0.0_1783539827925_0.6978224273627522","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@audio/filter-moog-ladder","version":"1.1.0","keywords":["audio","dsp","filter","moog-ladder"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/filter-moog-ladder@1.1.0","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/filter/tree/main/packages/filter-moog-ladder","bugs":{"url":"https://github.com/audiojs/filter/issues"},"atom":"./atom.js","dist":{"shasum":"eb0e121fd6bac896a440090c86028cdffb0d6bf0","tarball":"https://registry.npmjs.org/@audio/filter-moog-ladder/-/filter-moog-ladder-1.1.0.tgz","fileCount":3,"integrity":"sha512-4ELdQaxyb30zNITwpOFOxbGmdrJQ8kfQiQMRss4zoqbh2RK7WvvzXoq+Fu/TlQS/XCr9AxSPte6zkqjnYUu56g==","signatures":[{"sig":"MEUCIQCWWVmA0ONlIxv13rSmWj9a0L8LET+sdt+PhBTBvvpf1QIgK4p711mVDi+JRdMAEIlemmE6lB5bPuolPK+bfvPr76E=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4215},"main":"moog-ladder.js","type":"module","engines":{"node":">=18"},"exports":{".":"./moog-ladder.js","./atom":"./atom.js","./package.json":"./package.json"},"gitHead":"41975fc4f2ec6f0f72da7b3848e7a0509df6f148","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/filter.git","type":"git","directory":"packages/filter-moog-ladder"},"_npmVersion":"11.12.1","description":"Moog 4-pole transistor ladder filter (-24 dB/oct lowpass with resonance)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/filter-moog-ladder_1.1.0_1783635139530_0.292841412937777","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@audio/filter-moog-ladder","version":"1.1.1","keywords":["audio","dsp","filter","moog-ladder"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/filter-moog-ladder@1.1.1","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/filter/tree/main/packages/filter-moog-ladder","bugs":{"url":"https://github.com/audiojs/filter/issues"},"dist":{"shasum":"003c44dd907496633e541ec3d18883ae1b65896d","tarball":"https://registry.npmjs.org/@audio/filter-moog-ladder/-/filter-moog-ladder-1.1.1.tgz","fileCount":3,"integrity":"sha512-FVGnJAQMzZJTMvovaZ66fsRqN5T/vA0TA/lb4nbaAdDCaiWV2CAEaCuaC2a21EY7Il55tWofpmpEnpM1WM6zdA==","signatures":[{"sig":"MEUCIQD0bGykvQTPwZCVUFA3Esyj/QKz72yNU/nUQCMW/3rqFwIgQ+qumH8KuQkphG7hg0R754jqDA5LCZvk9JlDDJsukzA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4223},"main":"moog-ladder.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./moog-ladder.js","./audio":"./audio.js","./package.json":"./package.json"},"gitHead":"b16f16abf03c4b73cb65bdecbba4359933b9d9fe","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/filter.git","type":"git","directory":"packages/filter-moog-ladder"},"_npmVersion":"11.12.1","description":"Moog 4-pole transistor ladder filter (-24 dB/oct lowpass with resonance)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/filter-moog-ladder_1.1.1_1783644925554_0.22539940535931535","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@audio/filter-moog-ladder","version":"1.1.2","keywords":["audio","dsp","filter","moog-ladder"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/filter-moog-ladder@1.1.2","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/filter/tree/main/packages/filter-moog-ladder","bugs":{"url":"https://github.com/audiojs/filter/issues"},"dist":{"shasum":"3382e5026aa3cb45d8fa7d5147ac7f930d150308","tarball":"https://registry.npmjs.org/@audio/filter-moog-ladder/-/filter-moog-ladder-1.1.2.tgz","fileCount":4,"integrity":"sha512-6i0AQt1BifuodRDjKuU7nLWnOFRP9gV60cBlBSyCqYggn99kDEqgV/00wM1IeaAJP1mdGczKfaMqLjEfPtFsLQ==","signatures":[{"sig":"MEUCIAO8YvUDg0UhnNTdSTAdhL2P7HtJXwQUr3RLFXb5L3aYAiEA6MdO0L/QMJNjqQlOEMTWPz4Hn4DGdyobt6+gjX6iTlw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5660},"main":"moog-ladder.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./moog-ladder.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"gitHead":"1d208e2a19acb6248ca6c47fd9211a2f2ee340f4","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/filter.git","type":"git","directory":"packages/filter-moog-ladder"},"_npmVersion":"11.12.1","description":"Moog 4-pole transistor ladder filter (-24 dB/oct lowpass with resonance)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/filter-moog-ladder_1.1.2_1783701725673_0.19439356088501247","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@audio/filter-moog-ladder","version":"1.1.3","description":"Moog 4-pole transistor ladder filter (-24 dB/oct lowpass with resonance)","type":"module","sideEffects":false,"main":"moog-ladder.js","types":"./moog-ladder.d.ts","exports":{".":{"types":"./moog-ladder.d.ts","default":"./moog-ladder.js"},"./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"keywords":["audio","dsp","filter","moog-ladder"],"license":"MIT","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/audiojs/filter.git","directory":"packages/filter-moog-ladder"},"homepage":"https://github.com/audiojs/filter/tree/main/packages/filter-moog-ladder","bugs":{"url":"https://github.com/audiojs/filter/issues"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"audio":"./audio.js","funding":"https://github.com/sponsors/audiojs","gitHead":"5182c8649144d83c9fda67a36db76f3b195588a3","_id":"@audio/filter-moog-ladder@1.1.3","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-z/qosWgJsvCDWsrJOBdF6A6vJ6CAnABIDNtLkQcnLaN3EqumD0OxCYLeGalX3yCo2KjQSLwbPt7RPUv+/cbzNA==","shasum":"a324315051e2bd6f3607cc35d4a7b9ddd2672379","tarball":"https://registry.npmjs.org/@audio/filter-moog-ladder/-/filter-moog-ladder-1.1.3.tgz","fileCount":6,"unpackedSize":8879,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDi5HBN4NARQl20gyq0qeXa7IQ5TFZKSV/ZdO8H/CiZ5wIgM1LUcqg5cE3wKTauS0iMTYZ+quJx9ALr4+92+N5EbVo="}]},"_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/filter-moog-ladder_1.1.3_1783731585537_0.0015705871091089563"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T19:43:47.745Z","modified":"2026-07-11T00:59:45.808Z","1.0.0":"2026-07-08T19:43:48.066Z","1.1.0":"2026-07-09T22:12:19.652Z","1.1.1":"2026-07-10T00:55:25.690Z","1.1.2":"2026-07-10T16:42:05.796Z","1.1.3":"2026-07-11T00:59:45.670Z"},"bugs":{"url":"https://github.com/audiojs/filter/issues"},"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","homepage":"https://github.com/audiojs/filter/tree/main/packages/filter-moog-ladder","keywords":["audio","dsp","filter","moog-ladder"],"repository":{"type":"git","url":"git+https://github.com/audiojs/filter.git","directory":"packages/filter-moog-ladder"},"description":"Moog 4-pole transistor ladder filter (-24 dB/oct lowpass with resonance)","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/filter-moog-ladder [![npm](https://img.shields.io/npm/v/@audio/filter-moog-ladder)](https://www.npmjs.com/package/@audio/filter-moog-ladder) [![MIT](https://img.shields.io/badge/MIT-%E0%A5%90-white)](https://github.com/krishnized/license)\n\nMoog 4-pole transistor ladder filter (-24 dB/oct lowpass with resonance)\n\n```\nnpm install @audio/filter-moog-ladder\n```\n\n```js\nimport moogLadder from '@audio/filter-moog-ladder'\n```\n\nRobert Moog's 4-pole transistor ladder, 1965 — the most imitated filter in electronic music.\n\n**Circuit**: 4 cascaded one-pole transistor ladder sections, global feedback from output to input<br>\n**Implementation**: Zero-delay feedback (ZDF) via trapezoidal integration — Zavalishin, *The Art of VA Filter Design* (2012), Ch. 6<br>\n**Response**: $-24\\,\\text{dB/oct}$ lowpass; resonance peak at $f_c$; self-oscillation (sine wave) at resonance=1<br>\n**Nonlinearity**: $\\tanh$ saturation at input (transistor ladder characteristic)\n\n```js\nlet params = { fc: 800, resonance: 0.7, fs: 44100 }\nmoogLadder(buffer, params)\n\n// Self-oscillation — runs indefinitely from a single impulse\nlet silent = new Float64Array(4096); silent[0] = 0.01\nmoogLadder(silent, { fc: 1000, resonance: 1, fs: 44100 })\n```\n\n**Patent**: Moog (1965) US3475623<br>\n**vs Diode ladder**: Moog saturates only at input; diode saturates at each stage — different character at high resonance\n\n| Param | Default | |\n|---|---|---|\n| `fc` | `1000` | cutoff frequency, Hz |\n| `resonance` | `0` | 0–1; feedback k = 4·resonance; self-oscillates exactly at 1 |\n| `fs` | `44100` | sample rate, Hz |\n| `drive` | `1` | input gain into the tanh saturation; `0` mutes the signal |\n\nPass the same `params` object on every call to persist the 4 stage states across blocks.\n\n**Use when:** synth-filter warmth, resonance, and true self-oscillation at resonance=1 — the reference analog-modeled lowpass.\n\n---\n\nPart of [@audio/filter](https://github.com/audiojs/filter) — the filter family umbrella. This README is generated from the umbrella docs.\n\nMIT © [audiojs](https://github.com/audiojs)\n","readmeFilename":"README.md"}