{"_id":"@audio/effect-subbass","_rev":"8-e48b120d8b29091355993dc3fbb37c72","name":"@audio/effect-subbass","dist-tags":{"latest":"1.2.0"},"versions":{"1.0.0":{"name":"@audio/effect-subbass","version":"1.0.0","keywords":["audio","dsp","effect","subbass"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/effect-subbass@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":"25e565ac89f12a039374cc65f84b5be7a1dd909e","tarball":"https://registry.npmjs.org/@audio/effect-subbass/-/effect-subbass-1.0.0.tgz","fileCount":3,"integrity":"sha512-IMjlz4HGy5uyMb9hdiotBtPz/nefwlF+F49U2v9Lg8UhZ7Qyq1gyCLvVr0MtmyWw6Hit6al1BiJcS1B/tIRCPA==","signatures":[{"sig":"MEUCIQCwJ5bskYH4RgBefxSXg6lCjJUf0EbYc3NoIZQca3tkJgIgddN3AXxU/QxYGWRrHGytY7Ndtx/oyW01sxYZAjmVfd4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2621},"main":"subbass.js","type":"module","engines":{"node":">=18"},"exports":{".":"./subbass.js","./package.json":"./package.json"},"gitHead":"eaedda46af4d983e8d0097d5d1da4601cb2d572e","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Psychoacoustic bass enhancer — harmonic synthesis below cutoff (MaxxBass/RBass class)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/effect-subbass_1.0.0_1783548343031_0.22025004721439245","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@audio/effect-subbass","version":"1.1.0","keywords":["audio","dsp","effect","subbass"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/effect-subbass@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":"a2cce9bb43ae0e805973c290eb9a9a63c7835bea","tarball":"https://registry.npmjs.org/@audio/effect-subbass/-/effect-subbass-1.1.0.tgz","fileCount":4,"integrity":"sha512-V/Cgn20+ewsqw/DPg0Gakh3WWHBd95osYhVh/akdDyiip7RKrz7FD/9mduss/Uhi4USpF8rhPSJkdNBC5tDShg==","signatures":[{"sig":"MEQCIA/WAACi6HaBhAb9VzhIjSRGhBVH7OWm7acg026odu9WAiAeCLBCa4hK6q6k5K7OxIiPRdVvaXoEPbTFQGx/4eqUIg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3733},"main":"subbass.js","type":"module","engines":{"node":">=18"},"exports":{".":"./subbass.js","./audio-module":"./audio-module.js","./package.json":"./package.json"},"gitHead":"0918f92620c960d0a79263e8ef444a9596b706ab","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Psychoacoustic bass enhancer — harmonic synthesis below cutoff (MaxxBass/RBass class)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","audio-module":"./audio-module.js","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/effect-subbass_1.1.0_1783557966102_0.8210557711493742","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@audio/effect-subbass","version":"1.1.1","keywords":["audio","dsp","effect","subbass"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/effect-subbass@1.1.1","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":"5c6276b6dc7d688bbf2356fd280749cf9388841f","tarball":"https://registry.npmjs.org/@audio/effect-subbass/-/effect-subbass-1.1.1.tgz","fileCount":4,"integrity":"sha512-7ZNDUnKeWZjZZTQbVFT5+Wiz1KkJDFn6u1U1vzBLBMFisfoTCvECYFnwgXlPI9DK89BzjDTPVv2/gB7S98OVWw==","signatures":[{"sig":"MEUCIHCaBCfCAXYggSLaOun7c17FC6cb4ENQegSsYMSif0hsAiEArJi/dO61RI6qI5S9DwQClNO22Q+jh8yr1bIcJqkBGbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3685},"main":"subbass.js","type":"module","engines":{"node":">=18"},"exports":{".":"./subbass.js","./atom":"./atom.js","./package.json":"./package.json"},"gitHead":"ee8581909bb5223f00a0403111691c4af0507706","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Psychoacoustic bass enhancer — harmonic synthesis below cutoff (MaxxBass/RBass class)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/effect-subbass_1.1.1_1783560279031_0.9118425312599352","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@audio/effect-subbass","version":"1.1.2","keywords":["audio","dsp","effect","subbass"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/effect-subbass@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":"23fe16ca9de9cbe19d3db33f1e2ac2c25c9c4610","tarball":"https://registry.npmjs.org/@audio/effect-subbass/-/effect-subbass-1.1.2.tgz","fileCount":4,"integrity":"sha512-fzQkLcqMh9BvneAuLu1vVZapGPrhdaAGcUzz0wfNep/6LSAr66oM2ZOdUavy4nG3elUsJ/Bs2YvtHOQttfQqMg==","signatures":[{"sig":"MEUCIQCaplDwCuAruIorj2XlA3DacwAFsOWHe8C/CBmgvXA2rAIgDuOAyXbz4tVw/Ug/pMr5Xp0lEBPzBRCpfkPjcZK18fc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3690},"main":"subbass.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./subbass.js","./audio":"./audio.js","./package.json":"./package.json"},"gitHead":"3581c36b89c1bfaad88107429ed1feda361c0311","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Psychoacoustic bass enhancer — harmonic synthesis below cutoff (MaxxBass/RBass class)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/effect-subbass_1.1.2_1783644896915_0.7502799503664133","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@audio/effect-subbass","version":"1.1.3","keywords":["audio","dsp","effect","subbass"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/effect-subbass@1.1.3","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"dist":{"shasum":"02fddb696fa5350fe54582f4260287e38d20b8bf","tarball":"https://registry.npmjs.org/@audio/effect-subbass/-/effect-subbass-1.1.3.tgz","fileCount":5,"integrity":"sha512-fcyQbTW14SZNS1cXo+sLzWU9YDFrs/wbLnlqdyPs7BEbwEepS2vxigzYLA+V7AV5uNC7MmLzMfSBDwMBa6hqUA==","signatures":[{"sig":"MEUCIEFFu1ZtADxPuiv1yHeA300ZoOHeLPDoxxBjHxE8uxPbAiEAm9oR/iFZh8PGuY50Dr2gyjr8EWalDIHU9wGX/IoLQ2A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5243},"main":"subbass.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./subbass.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"gitHead":"6de6f0f16301ff620c086531dffc72c7af06a7dd","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Psychoacoustic bass enhancer — harmonic synthesis below cutoff (MaxxBass/RBass class)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/effect-subbass_1.1.3_1783701675160_0.49396383554034373","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@audio/effect-subbass","version":"1.1.4","keywords":["audio","dsp","effect","subbass"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/effect-subbass@1.1.4","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/effect#readme","bugs":{"url":"https://github.com/audiojs/effect/issues"},"dist":{"shasum":"d0056681b739c7ae0951fc03df96aff0e8bf8882","tarball":"https://registry.npmjs.org/@audio/effect-subbass/-/effect-subbass-1.1.4.tgz","fileCount":5,"integrity":"sha512-Ylh9/Wzyg5yZCv5H8uSeAamKMyVZAFeHcWQ410lUdJZGJMc3EHubfinf9bzIgCZKYPluMTTCHep2jufmZnWn/Q==","signatures":[{"sig":"MEQCIH5VmwXUnQUOzE04ZqQk7CQdjjlh4Mc+dvSmvKtp/fEwAiBan393s2sToe2v+cFGHJZJJtF9wkk8pBhkltDyvDrLyQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6579},"main":"subbass.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./subbass.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"gitHead":"707a38297cc5ec262e6a8d1f9bb907be449b26b1","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/effect.git","type":"git","directory":"packages/effect-subbass"},"_npmVersion":"11.12.1","description":"Psychoacoustic bass enhancer — harmonic synthesis below cutoff (MaxxBass/RBass class)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/effect-subbass_1.1.4_1783726285618_0.46395196840953745","host":"s3://npm-registry-packages-npm-production"}},"1.1.5":{"name":"@audio/effect-subbass","version":"1.1.5","keywords":["audio","dsp","effect","subbass"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/effect-subbass@1.1.5","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/effect#readme","bugs":{"url":"https://github.com/audiojs/effect/issues"},"dist":{"shasum":"0496ddabdd6ceec7a46bc1fc93f34892cbb1cee0","tarball":"https://registry.npmjs.org/@audio/effect-subbass/-/effect-subbass-1.1.5.tgz","fileCount":6,"integrity":"sha512-SWn6tnxEnFX7wgffmLAv0EG6bdmBR4sD9RBLLz2gcNJCXIPpNMh7q5I/hx0t9vJPJnNXn4emE69dHyn23f+oMg==","signatures":[{"sig":"MEYCIQCNIgTCn74PFIU6J7XLQpQmlHtKJXTj2Fg1bv5sbBqogwIhAJztvl1XVFYhFUih1bewnC+kFjfIziCS/YZWdkMjYzAd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7702},"main":"subbass.js","type":"module","audio":"./audio.js","types":"subbass.d.ts","engines":{"node":">=18"},"exports":{".":"./subbass.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"3b3ce6842c9e4cbb7e409d6f8b67c24e2e8c6026","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/effect.git","type":"git","directory":"packages/effect-subbass"},"_npmVersion":"11.12.1","description":"Psychoacoustic bass enhancer — harmonic synthesis below cutoff (MaxxBass/RBass class)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/effect-subbass_1.1.5_1783731509991_0.25618878687752433","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"_id":"@audio/effect-subbass@1.2.0","bugs":{"url":"https://github.com/audiojs/effect/issues"},"dist":{"shasum":"8688e97fbbb0a633aef53a7690fccac9e2d588d3","tarball":"https://registry.npmjs.org/@audio/effect-subbass/-/effect-subbass-1.2.0.tgz","fileCount":6,"integrity":"sha512-tnmct2BusM7W5Yir7fxpnB30QceBqe8lGR6Zk8+XLZgKoxV8PYGZJGR5iuC0lVOYAU6V+Xkfgbdt112yPEYJQw==","signatures":[{"sig":"MEQCIHmsWYBcO+PWk6049R+Jyn2LrQcWDGaB5s/IPnXKbs26AiBaw/XMMtuNAxt7mEy6EThf0F1O4IYf3mtC0TAk6lGY6Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEaSeqeyrgJio/fH4XmloIP+18aoW2btN4+Dhw4kvf3bAiBTTtQZMerl9DuAgaDClVgESmGbd6YpHEBk9PN6Puhpdg=="}],"unpackedSize":7889},"main":"subbass.js","name":"@audio/effect-subbass","type":"module","audio":"./audio.js","types":"subbass.d.ts","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"engines":{"node":">=18"},"exports":{".":"./subbass.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"f4e251694dc9beee0ca2d5aee30e1ef0dc36c2e5","license":"MIT","version":"1.2.0","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"homepage":"https://github.com/audiojs/effect#readme","keywords":["audio","dsp","effect","subbass"],"repository":{"url":"git+https://github.com/audiojs/effect.git","type":"git","directory":"packages/effect-subbass"},"_npmVersion":"11.12.1","description":"Psychoacoustic bass enhancer — harmonic synthesis below cutoff (MaxxBass/RBass class)","directories":{},"maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/effect-subbass_1.2.0_1790192542399_0.9671901751308662"}}},"time":{"created":"2026-07-08T22:05:42.821Z","modified":"2026-09-23T19:42:22.691Z","1.0.0":"2026-07-08T22:05:43.181Z","1.1.0":"2026-07-09T00:46:06.379Z","1.1.1":"2026-07-09T01:24:39.169Z","1.1.2":"2026-07-10T00:54:57.038Z","1.1.3":"2026-07-10T16:41:15.304Z","1.1.4":"2026-07-10T23:31:25.761Z","1.1.5":"2026-07-11T00:58:30.115Z","1.2.0":"2026-09-23T19:42:22.494Z"},"bugs":{"url":"https://github.com/audiojs/effect/issues"},"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","homepage":"https://github.com/audiojs/effect#readme","keywords":["audio","dsp","effect","subbass"],"repository":{"url":"git+https://github.com/audiojs/effect.git","type":"git","directory":"packages/effect-subbass"},"description":"Psychoacoustic bass enhancer — harmonic synthesis below cutoff (MaxxBass/RBass class)","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/effect-subbass\n\n> Psychoacoustic bass enhancer — harmonic synthesis below cutoff (MaxxBass/RBass class)\n\nExtracts the band below `fc`, generates its harmonic series with an even/odd waveshaper, band-limits the harmonics to the audible low-mids, and mixes against dry. Small speakers reproduce the harmonics; the ear reconstructs the missing fundamental.\n\n## Install\n\n```\nnpm install @audio/effect-subbass\n```\n\n## Usage\n\n```js\nimport subbass from '@audio/effect-subbass'\n\nlet p = { fc: 80, amount: 0.5, drive: 0.5, keep: 1, fs: 44100 }\nfor (let buf of stream) subbass(buf, p)\n```\n\n`subbass(data, params)` mutates `data` (`Float32Array`/`Float64Array`) in place and returns it. Pass the same `params` object across calls — the sub-extraction and harmonic-band filter state persists on it (`_sub`, `_out`, `_dc`).\n\n**`fc`** sub cutoff, Hz — harmonics built from below this (default 80; `freq` still accepted) · **`amount`** harmonic level 0–1 (default 0.5) · **`drive`** waveshaper intensity 0–1 (default 0.5) · **`keep`** how much original sub to keep, 0–1, 0 = replace entirely (default 1) · **`fs`** sample rate\n\n**Use when**: small-speaker/phone playback, bass on systems that can't reproduce true sub<br>\n**Not for**: sources already reproduced on full-range monitors, general saturation (use `@audio/effect-distortion`)\n\nPart of [@audio/effect](https://github.com/audiojs/effect).\n","readmeFilename":"README.md"}