{"_id":"@audio/saturate","_rev":"4-0810f7f117c7cea813f46bffbf3c0d60","name":"@audio/saturate","dist-tags":{"latest":"1.0.3"},"versions":{"1.0.0":{"name":"@audio/saturate","version":"1.0.0","keywords":["audio","dsp","saturation","tape","tube","harmonics"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/saturate@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":"65c23e2d79d77d5ff8a8e5c470d9a8014ade8d84","tarball":"https://registry.npmjs.org/@audio/saturate/-/saturate-1.0.0.tgz","fileCount":4,"integrity":"sha512-hkqY+8f9kag2Ca6PRbdtyY50NpSHvFvOiKq7H4lnlyrlmVhXPjpbJOKwdUwLKri2JqCUbvS0fkUSb01wXNRFlA==","signatures":[{"sig":"MEUCIQCQzM2+7sR9jzYy8YEH4tU37T4IlSXXwB9Me4HGm5LeygIgbN5Ln1VLz6lIOFEwWyBzrwdzDbutnTg2rxtvApgICJU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4084},"main":"index.js","type":"module","engines":{"node":">=18"},"exports":{".":"./index.js","./package.json":"./package.json"},"gitHead":"d66dbb92515c68d654294a7500febf8fdac9f627","scripts":{"test":"node test.js","test:all":"npm test --workspaces --if-present && npm test","publish:all":"npm publish --workspaces && npm publish"},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"workspaces":["packages/*"],"_npmVersion":"11.12.1","description":"Saturation — umbrella for @audio/saturate-* atoms (tape, tube, transistor, waveshaper, multiband)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/saturate-core":"^1.0.0","@audio/saturate-tape":"^1.0.0","@audio/saturate-tube":"^1.0.0","@audio/saturate-multiband":"^1.0.0","@audio/saturate-transistor":"^1.0.0","@audio/saturate-waveshaper":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tst":"^9.4.0"},"_npmOperationalInternal":{"tmp":"tmp/saturate_1.0.0_1783540327690_0.7822392851170732","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@audio/saturate","version":"1.0.1","keywords":["audio","dsp","saturation","tape","tube","harmonics"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/saturate@1.0.1","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"dist":{"shasum":"5848ab5279d79be85a557bc6ae1be12d09493800","tarball":"https://registry.npmjs.org/@audio/saturate/-/saturate-1.0.1.tgz","fileCount":4,"integrity":"sha512-KXOASBW2YWObfWjh9YgnZf477w78fIls+cPwp594XnfuK9yHFx6d6mvhLQasMphhhRaWi5fKUyNX/r8rze23Dg==","signatures":[{"sig":"MEQCIEt3NS+9Dltgg7/uQiXW7G/r7II76tmUBtjtROHXG1+MAiB/qhh88q9yfQjDZaeTLn4eXxoeztjLy4tvNEsyerFzMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4046},"main":"index.js","type":"module","engines":{"node":">=18"},"exports":{".":"./index.js","./package.json":"./package.json"},"gitHead":"18a6fb1ccc06c55f4297e6a4f60c5eff28ab0a8d","scripts":{"test":"node test.js","test:all":"npm test --workspaces --if-present && npm test","publish:all":"npm publish --workspaces && npm publish"},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"workspaces":["packages/*"],"_npmVersion":"11.12.1","description":"Saturation — umbrella for @audio/saturate-* atoms (tape, tube, transistor, waveshaper, multiband)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/saturate-tape":"^1.0.0","@audio/saturate-tube":"^1.0.0","@audio/saturate-multiband":"^1.0.0","@audio/saturate-transistor":"^1.0.0","@audio/saturate-waveshaper":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tst":"^9.4.0"},"_npmOperationalInternal":{"tmp":"tmp/saturate_1.0.1_1783623905927_0.41829292478328894","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@audio/saturate","version":"1.0.2","keywords":["audio","dsp","saturation","tape","tube","harmonics"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/saturate@1.0.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/saturate#readme","bugs":{"url":"https://github.com/audiojs/saturate/issues"},"dist":{"shasum":"b10512a2760608647264d454451e1c5b080e6a21","tarball":"https://registry.npmjs.org/@audio/saturate/-/saturate-1.0.2.tgz","fileCount":4,"integrity":"sha512-fzk2sCuFXCUL5qvrnGCpArkrJU1VpYnGc0fFO/P3fHrcrSyL0YsFRaqjRTvdpn3U1wNh+yHxRykVrH6DsDDOUg==","signatures":[{"sig":"MEUCICJfu2xmWVuvzDHhbzjGrp29NEbejvt+uKqFLAxvkGAfAiEAlwr2orw4ngnY0rCpMztWpxSPmT5vJDvUDZKdYVOV4S8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4255},"main":"index.js","type":"module","engines":{"node":">=18"},"exports":{".":"./index.js","./package.json":"./package.json"},"gitHead":"7016343e8baafa0500d2c93b17b34b4835891375","scripts":{"test":"node test.js","test:all":"npm test --workspaces --if-present && npm test","publish:all":"npm publish --workspaces && npm publish"},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/saturate.git","type":"git"},"workspaces":["packages/*"],"_npmVersion":"11.12.1","description":"Saturation — umbrella for @audio/saturate-* atoms (tape, tube, transistor, waveshaper, multiband)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/saturate-tape":"^1.0.0","@audio/saturate-tube":"^1.0.0","@audio/saturate-multiband":"^1.0.0","@audio/saturate-transistor":"^1.0.0","@audio/saturate-waveshaper":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tst":"^9.4.0"},"_npmOperationalInternal":{"tmp":"tmp/saturate_1.0.2_1783726326254_0.5674129513250235","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@audio/saturate","version":"1.0.3","type":"module","sideEffects":false,"description":"Saturation — umbrella for @audio/saturate-* atoms (tape, tube, transistor, waveshaper, multiband)","workspaces":["packages/*"],"keywords":["audio","dsp","saturation","tape","tube","harmonics"],"license":"MIT","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"engines":{"node":">=18"},"main":"index.js","exports":{".":"./index.js","./package.json":"./package.json"},"scripts":{"test":"node test.js","test:all":"npm test --workspaces --if-present && npm test","publish:all":"npm publish --workspaces && npm publish"},"dependencies":{"@audio/saturate-waveshaper":"^1.0.0","@audio/saturate-tube":"^1.0.0","@audio/saturate-transistor":"^1.0.0","@audio/saturate-tape":"^1.0.0","@audio/saturate-multiband":"^1.0.0"},"devDependencies":{"tst":"^9.4.0"},"publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/audiojs/saturate.git"},"funding":"https://github.com/sponsors/audiojs","gitHead":"8e5a2f210f134ccb055e9ca88a40c255bcf4985d","_id":"@audio/saturate@1.0.3","bugs":{"url":"https://github.com/audiojs/saturate/issues"},"homepage":"https://github.com/audiojs/saturate#readme","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-ZZoe5SvqmzNH4hsnKomPKVamW06Nvynwpb/PRA8udneJrl+cQN0q9MDDMGSVeJTcoXtL/DcQ9Q6RKkuSPntblg==","shasum":"571651dd4ebcc409985f1d108ba99bb4bcf969d1","tarball":"https://registry.npmjs.org/@audio/saturate/-/saturate-1.0.3.tgz","fileCount":4,"unpackedSize":4307,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDcwr1iIGTrry8T4pmDqJZwqkSeFCLa2WVasKy4H6ZxWAiEAxOtwLos9J0XB2zmEvfWfn9RFzeCcPsLTre/UFkiBAgk="}]},"_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/saturate_1.0.3_1783731751474_0.9735746411074611"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T19:52:07.505Z","modified":"2026-07-11T01:02:31.758Z","1.0.0":"2026-07-08T19:52:07.825Z","1.0.1":"2026-07-09T19:05:06.061Z","1.0.2":"2026-07-10T23:32:06.442Z","1.0.3":"2026-07-11T01:02:31.606Z"},"bugs":{"url":"https://github.com/audiojs/saturate/issues"},"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","homepage":"https://github.com/audiojs/saturate#readme","keywords":["audio","dsp","saturation","tape","tube","harmonics"],"repository":{"type":"git","url":"git+https://github.com/audiojs/saturate.git"},"description":"Saturation — umbrella for @audio/saturate-* atoms (tape, tube, transistor, waveshaper, multiband)","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/saturate\n\n> Saturation — harmonic enrichment, distinct from hard distortion (`@audio/effect-distortion`).\n\n`@audio/effect-distortion` is raw/aliased grunge (fuzz, bitcrush, clip); `@audio/saturate-*` is normalized, oversampled nonlinear shaping meant to sit transparently in a mix.\n\n| Package | What |\n|---|---|\n| `@audio/saturate-tape` | tape — HF compression, low bump |\n| `@audio/saturate-tube` | tube — asymmetric, even harmonics |\n| `@audio/saturate-transistor` | console — odd harmonics |\n| `@audio/saturate-waveshaper` | arbitrary/Chebyshev curves |\n| `@audio/saturate-multiband` | per-band drive (Saturn class) |\n\nIndustry parity: Ableton Saturator/Dynamic Tube/Roar, FabFilter Saturn, Soundtoys Decapitator, Waves NLS. Quality bar: oversampled nonlinearities (no naive aliasing waveshapers).\n","readmeFilename":"README.md"}