{"_id":"@audio/amp-tube","_rev":"7-607758c4649f5729c166541421e8506f","name":"@audio/amp-tube","dist-tags":{"latest":"1.2.4"},"versions":{"1.0.0":{"name":"@audio/amp-tube","version":"1.0.0","keywords":["audio","dsp","amp","guitar","tube"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/amp-tube@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":"e9c91ae25a5426e6399094990cf59671bac65e21","tarball":"https://registry.npmjs.org/@audio/amp-tube/-/amp-tube-1.0.0.tgz","fileCount":2,"integrity":"sha512-MgAqQzSxdgNjfEgg6FYDcJFBUvI1cSKp+FpgqjgRqGZmKUnb+3+wnXXK7QJMk3FV9rCqfOnpKn/zSWmKdkf3Hg==","signatures":[{"sig":"MEUCIFsrxKGceMSky6XAghhWQTBOqRc+/Y+Rhpr1U0a4vdSmAiEA7ooTp847nXofpvfZTu4udOOdV4424FhI3w7TCzZ+ZdY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2167},"main":"tube.js","type":"module","engines":{"node":">=18"},"exports":{".":"./tube.js","./package.json":"./package.json"},"gitHead":"c4a6f7a3f6b7623d41b3c166cc85a48af2076cf7","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Tube amp stage — highpass → oversampled tube saturation → bass/mid/treble tone stack → level","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"digital-filter":"^2.0.0","@audio/saturate-tube":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/amp-tube_1.0.0_1783540427456_0.7703344670281345","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@audio/amp-tube","version":"1.1.0","keywords":["audio","dsp","amp","guitar","tube"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/amp-tube@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":"4102a00405cd1849590447b5a6829b1369bd2729","tarball":"https://registry.npmjs.org/@audio/amp-tube/-/amp-tube-1.1.0.tgz","fileCount":2,"integrity":"sha512-skySbfY+x+WUmBCW3T/XFeQE7RpL3wqQ2yj9+r6S5RrzZPTbR1Adu1JNO/SzCYGNacb0tFqtIlkp5ycFXqjiCQ==","signatures":[{"sig":"MEYCIQCiuh0Fku6HIxD5mIToJM/Iv/ci9/5+EZPC3xfworpGcwIhAKnHUCEAakNI6aM7rZKsWTMKbCkouyLAHNipfxCTMflq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2139},"main":"tube.js","type":"module","engines":{"node":">=18"},"exports":{".":"./tube.js","./package.json":"./package.json"},"gitHead":"1b015b679bd57d88e5adf9f77354966df9ea7bd0","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Tube amp stage — highpass → oversampled tube saturation → bass/mid/treble tone stack → level","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/biquad":"^1.1.0","@audio/saturate-tube":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/amp-tube_1.1.0_1783567863536_0.6663126707221652","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@audio/amp-tube","version":"1.2.0","keywords":["audio","dsp","amp","guitar","tube"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/amp-tube@1.2.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":"91466f8b85b9fee104140884cc7bfeef82462a6e","tarball":"https://registry.npmjs.org/@audio/amp-tube/-/amp-tube-1.2.0.tgz","fileCount":3,"integrity":"sha512-aJJqea3S4WH8eY4iw5fk62l6npvasGf46ml9+P5gFdrHzXpo3P/N6rumhjrEJMqzLQoD9GQ90QIrnzQcfcq9Vg==","signatures":[{"sig":"MEQCIGfwHVfJabW5xdCdM1lWkiO6Qd4k0EJGqR7guCYIq/2KAiBw9LAzNLP0Dc/LmDXIvOucY56I/xSMguujZDCgZm0FQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3241},"main":"tube.js","type":"module","engines":{"node":">=18"},"exports":{".":"./tube.js","./atom":"./atom.js","./package.json":"./package.json"},"gitHead":"fba6048f31be1f8bf17f37371a04cc036af49cfa","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Tube amp stage — highpass → oversampled tube saturation → bass/mid/treble tone stack → level","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/biquad":"^1.1.0","@audio/saturate-tube":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/amp-tube_1.2.0_1783635177419_0.4301420540759502","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@audio/amp-tube","version":"1.2.1","keywords":["audio","dsp","amp","guitar","tube"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/amp-tube@1.2.1","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"dist":{"shasum":"2e9292ff2d86400b0a29de055315ba4c7361331f","tarball":"https://registry.npmjs.org/@audio/amp-tube/-/amp-tube-1.2.1.tgz","fileCount":3,"integrity":"sha512-qtgQkrut+/J/opqBeOc/gAM/MeKUul4Sdgr9lY1b6bD4ki7QqlHQ2qxB8IU5t3A9ScOBNCdh7DwjAZf4VY4JsA==","signatures":[{"sig":"MEYCIQC/MbUTKVGPdycZ2TfgtuziBkxc7DjRDfYaUdmI3ACTlgIhAL63Us+CO9E18KscOA+bCOYflPaEy6CgHW6TrwUb4odi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3246},"main":"tube.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./tube.js","./audio":"./audio.js","./package.json":"./package.json"},"gitHead":"0bcba4dea6081cff369b7f606003f5a001f7d75b","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Tube amp stage — highpass → oversampled tube saturation → bass/mid/treble tone stack → level","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/biquad":"^1.1.0","@audio/saturate-tube":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/amp-tube_1.2.1_1783645115449_0.7882784926050022","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@audio/amp-tube","version":"1.2.2","keywords":["audio","dsp","amp","guitar","tube"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/amp-tube@1.2.2","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"dist":{"shasum":"e5569938cac3105f60c599847b518dcba9b8a6d8","tarball":"https://registry.npmjs.org/@audio/amp-tube/-/amp-tube-1.2.2.tgz","fileCount":4,"integrity":"sha512-2H+BKaoIkygShYBMhHO/RjzsP2ieIF5ifBg/Hgc+HNfSF5cb9zyL/NCG93823u2JDM7tCH1C0MMrQrdUGZSl+Q==","signatures":[{"sig":"MEQCICGbTLBDTNartqZol8JGYtV5mX3jRXBVdy7P9mFv8od4AiBEXh1kYKGLjcHxf9HOdxETMBvLfh3zBOlXGAKnDRKZ1Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4938},"main":"tube.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./tube.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"gitHead":"774771f9c8ae25d968c7fd3bbd491cfa2ad3cd87","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Tube amp stage — highpass → oversampled tube saturation → bass/mid/treble tone stack → level","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/biquad":"^1.1.0","@audio/saturate-tube":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/amp-tube_1.2.2_1783701541240_0.7709483620564068","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"name":"@audio/amp-tube","version":"1.2.3","keywords":["audio","dsp","amp","guitar","tube"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/amp-tube@1.2.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/amp#readme","bugs":{"url":"https://github.com/audiojs/amp/issues"},"dist":{"shasum":"9323cfdefe4f63db8bbcd1e91a682e2cd4421880","tarball":"https://registry.npmjs.org/@audio/amp-tube/-/amp-tube-1.2.3.tgz","fileCount":4,"integrity":"sha512-6Ad+hex4K0ZCroSFweaoPor+8DH6eKje4xPottHdnj8becymmRX7BRugjGdUTTQKZkTtAasWX/jhF5QZbQkyug==","signatures":[{"sig":"MEQCIEfE/h71d6xiAcWEPahPkkpYnOh/OMbWTzUknXbZu0jTAiBbktU++9EJevYt6jzk/u/vnP1ClsplxXEgGI+tXSgN5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4836},"main":"tube.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./tube.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"gitHead":"9a75b742ca8330b75453e980bcb861e5fca24826","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/amp.git","type":"git","directory":"packages/amp-tube"},"_npmVersion":"11.12.1","description":"Tube amp stage — highpass → oversampled tube saturation → bass/mid/treble tone stack → level","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/biquad":"^1.1.0","@audio/saturate-tube":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/amp-tube_1.2.3_1783726257346_0.00012956656487439489","host":"s3://npm-registry-packages-npm-production"}},"1.2.4":{"name":"@audio/amp-tube","version":"1.2.4","description":"Tube amp stage — highpass → oversampled tube saturation → bass/mid/treble tone stack → level","type":"module","sideEffects":false,"main":"tube.js","exports":{".":"./tube.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"dependencies":{"@audio/saturate-tube":"^1.0.0","@audio/biquad":"^1.1.0"},"keywords":["audio","dsp","amp","guitar","tube"],"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/amp.git","directory":"packages/amp-tube"},"funding":"https://github.com/sponsors/audiojs","types":"tube.d.ts","gitHead":"3ece8c15bccc77a355f88d6457d684fe20270f41","_id":"@audio/amp-tube@1.2.4","bugs":{"url":"https://github.com/audiojs/amp/issues"},"homepage":"https://github.com/audiojs/amp#readme","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-5ufQ8F4+wG//PbQbwNYYh4tPlafqvdnATSpnv0hkF9BozfUZN+NKDVOB+aMJveUYqzGb07vG1tdJXcndCGSDgw==","shasum":"cd0e620ced75e8e55b9b2414d176ae3897c4c911","tarball":"https://registry.npmjs.org/@audio/amp-tube/-/amp-tube-1.2.4.tgz","fileCount":6,"unpackedSize":7687,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQClQCWw91fuBrrwM5c3j+CqC/ZhXdS679i/4xkoNg+XFQIhAMHP637Z8zwMYrVoKEzJUNWEBe4ocEIOdIr/3P50CvBZ"}]},"_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/amp-tube_1.2.4_1783731299687_0.23377312654624682"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T19:53:47.284Z","modified":"2026-07-11T00:54:59.966Z","1.0.0":"2026-07-08T19:53:47.588Z","1.1.0":"2026-07-09T03:31:03.722Z","1.2.0":"2026-07-09T22:12:57.554Z","1.2.1":"2026-07-10T00:58:35.580Z","1.2.2":"2026-07-10T16:39:01.359Z","1.2.3":"2026-07-10T23:30:57.478Z","1.2.4":"2026-07-11T00:54:59.849Z"},"bugs":{"url":"https://github.com/audiojs/amp/issues"},"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","homepage":"https://github.com/audiojs/amp#readme","keywords":["audio","dsp","amp","guitar","tube"],"repository":{"type":"git","url":"git+https://github.com/audiojs/amp.git","directory":"packages/amp-tube"},"description":"Tube amp stage — highpass → oversampled tube saturation → bass/mid/treble tone stack → level","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/amp-tube [![npm](https://img.shields.io/npm/v/@audio/amp-tube)](https://www.npmjs.com/package/@audio/amp-tube) [![MIT](https://img.shields.io/badge/MIT-%E0%A5%90-white)](https://github.com/krishnized/license)\n\nTube amp stage — highpass → oversampled tube saturation → bass/mid/treble tone stack → level\n\n```\nnpm install @audio/amp-tube\n```\n\n```js\nimport amp from '@audio/amp-tube'\n```\n\nA classical guitar-amp composition, not a circuit simulation (NAM-class capture lives at `@audio/neural-amp`): one-pole ~30 Hz input highpass (rumble/DC) → `@audio/saturate-tube` at `drive = 1 + 7·gain` (oversampled) → bass/mid/treble tone stack (RBJ low-shelf, peaking, high-shelf) → output level. Tone-stack stages only run when their gain is non-zero (`bass`/`mid`/`treble` at `0` are true no-ops, not near-unity filters).\n\n```js\namp(data, { fs: 44100, gain: 0.7 })\namp(data, { fs: 44100, gain: 0.6, bass: 3, treble: -6, level: 0.8 })\n```\n\n| Param | Default | |\n|---|---|---|\n| `gain` | `0.5` | 0..1 — drive into the tube stage (maps to `drive = 1 + 7·gain`) |\n| `bass` | `0` | dB — low-shelf at 120 Hz |\n| `mid` | `0` | dB — peaking at 650 Hz |\n| `treble` | `0` | dB — high-shelf at 3200 Hz |\n| `level` | `0.7` | output gain multiplier (linear, not dB) |\n| `fs` | `44100` | sample rate |\n| `oversample` | `4` | oversample factor passed through to the tube stage |\n\n**Mutates `data` in place** and returns it (same array reference, not a copy). Mono only.\n\n**Use when:** a guitar/bass amp-in-a-box stage — drive, tone-shape, and level in one call.<br>\n**Not for:** speaker-cabinet coloration (pair with `@audio/amp-cabinet`) or bare saturation without the tone stack (use `@audio/saturate-tube` directly).\n\n---\n\nPart of the [@audio/amp](https://github.com/audiojs/amp) family.\n\nMIT © [audiojs](https://github.com/audiojs)\n","readmeFilename":"README.md"}