{"_id":"@audio/reverb-freeverb","_rev":"6-b4bea000efa0b4b1fd5c4dd7f879fa1a","name":"@audio/reverb-freeverb","dist-tags":{"latest":"1.0.5"},"versions":{"1.0.0":{"name":"@audio/reverb-freeverb","version":"1.0.0","keywords":["audio","dsp","reverb","freeverb"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/reverb-freeverb@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":"c55b4531dc8097270064ebff2428e7fc67a0e7fc","tarball":"https://registry.npmjs.org/@audio/reverb-freeverb/-/reverb-freeverb-1.0.0.tgz","fileCount":3,"integrity":"sha512-EhcW/R9cM+/6XJE2S90Rebnw38ZmW04RtxG05FGh8kh2V0iexpky41/UPczCHU7nd8+JFo2qtATKC4ensKRccg==","signatures":[{"sig":"MEQCIF+Ue2KJnEn2MDN5Ic4nMk9vDm+LRh15c4EukUQ2vaiXAiB2YFMgBXQu117URHRTEPz5PTFQhXzifw7yXXiqd2mMfw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3601},"main":"freeverb.js","type":"module","engines":{"node":">=18"},"exports":{".":"./freeverb.js","./audio-module":"./audio-module.js","./package.json":"./package.json"},"gitHead":"e3fbdb11e067705f21e8c18a562f1dac70a4e3db","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Freeverb — Schroeder-Moorer 8-comb + 4-allpass reverb, Jezar public-domain tuning, stereo spread","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","audio-module":"./audio-module.js","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/reverb-freeverb_1.0.0_1783539856536_0.8171956855639073","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@audio/reverb-freeverb","version":"1.0.1","keywords":["audio","dsp","reverb","freeverb"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/reverb-freeverb@1.0.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":"a67dabf65bba44a689c64df98f0f0d324a06c8cf","tarball":"https://registry.npmjs.org/@audio/reverb-freeverb/-/reverb-freeverb-1.0.1.tgz","fileCount":3,"integrity":"sha512-h1HshNdjLXLuT1qvZwrfQljmg1paKMqzM+yy5WP0UXh5Q0cMuhs3WaRbZkmqvHiE4Sf62UG6WYjxtCIId8IS3w==","signatures":[{"sig":"MEYCIQDn49GhUd8OZwD0JYwRLyORbnJ+eoIVTCaddfhMGk0I0wIhAMn1+TEXaczulDmEUdFhUN0tRiCF4ZP8tS71E6LRx9+O","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3550},"main":"freeverb.js","type":"module","engines":{"node":">=18"},"exports":{".":"./freeverb.js","./atom":"./atom.js","./package.json":"./package.json"},"gitHead":"110c312d493164e2c6823a30e7615102eb772ff9","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Freeverb — Schroeder-Moorer 8-comb + 4-allpass reverb, Jezar public-domain tuning, stereo spread","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/reverb-freeverb_1.0.1_1783560306707_0.22894762579080097","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@audio/reverb-freeverb","version":"1.0.2","keywords":["audio","dsp","reverb","freeverb"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/reverb-freeverb@1.0.2","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"dist":{"shasum":"208385d0aed63481831b4394c1c910c7ed31fcfe","tarball":"https://registry.npmjs.org/@audio/reverb-freeverb/-/reverb-freeverb-1.0.2.tgz","fileCount":3,"integrity":"sha512-HI8Q99GEgJ9p4dXX0SSmP2x0pfE4IfaGtEoYOlJXiSQwRxNWPFAhFczEensP8I5A+gXrS7EIV7SQkFMFDrT05g==","signatures":[{"sig":"MEUCIQDnwg4BqALjzrJf8nrpKDetjC17v5w3j3SdvCCOFyJdVgIgStNMLM2JHwLqYfbPD8WP3jaVxhZ4I7Ms1uYT05wa5Hs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3555},"main":"freeverb.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./freeverb.js","./audio":"./audio.js","./package.json":"./package.json"},"gitHead":"b16714728a59fd6d56cd8ab33f305dad4165a694","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Freeverb — Schroeder-Moorer 8-comb + 4-allpass reverb, Jezar public-domain tuning, stereo spread","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/reverb-freeverb_1.0.2_1783645015977_0.38965635149306466","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@audio/reverb-freeverb","version":"1.0.3","keywords":["audio","dsp","reverb","freeverb"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/reverb-freeverb@1.0.3","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"dist":{"shasum":"2c94a01781c5fe27352056dad4e18a4a5d6ca49b","tarball":"https://registry.npmjs.org/@audio/reverb-freeverb/-/reverb-freeverb-1.0.3.tgz","fileCount":4,"integrity":"sha512-a8HwpA6+12OL5bDppnaxdQINsqppHKsG1hyMFJxAKIfqk1OfDOVMCuQ7wgzljCa3kid5XztZvhUOnv4Wjm0ABg==","signatures":[{"sig":"MEUCIQC5boYOd0Sg9B8tPngUAxFHjFMazmc7AEClu1I6f7BVpgIgE8RadLNGX6opA7NK7Ye/ZNf6+qWoT5jVH/Grt0EkhAM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4994},"main":"freeverb.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./freeverb.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":"Freeverb — Schroeder-Moorer 8-comb + 4-allpass reverb, Jezar public-domain tuning, stereo spread","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/reverb-freeverb_1.0.3_1783701781982_0.7842128215096806","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@audio/reverb-freeverb","version":"1.0.4","keywords":["audio","dsp","reverb","freeverb"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/reverb-freeverb@1.0.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/reverb#readme","bugs":{"url":"https://github.com/audiojs/reverb/issues"},"dist":{"shasum":"0c8acf609b0fc41eb523022c984dba1f4da12c6a","tarball":"https://registry.npmjs.org/@audio/reverb-freeverb/-/reverb-freeverb-1.0.4.tgz","fileCount":6,"integrity":"sha512-R4RomG250BrN6MJCoBw0w3uA6sQjFdv6fS+350O8DGKupJgkwrngwnxy/5NQJR0DLT/H2aIPruOqkFPHWufMug==","signatures":[{"sig":"MEUCIE5/E/7WsUyIPN7Fmbu84zh1PVpE/CsRdwubeQAL9BOZAiEA1SQmTxv8tdWQCUlKzhMYC0l0dQiNWqXL/RA5IxC9eGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7952},"main":"freeverb.js","type":"module","audio":"./audio.js","types":"freeverb.d.ts","engines":{"node":">=18"},"exports":{".":"./freeverb.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"66500e037dac15d3fd697a23d00e3bd08300fdd1","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/reverb.git","type":"git","directory":"packages/reverb-freeverb"},"_npmVersion":"11.12.1","description":"Freeverb — Schroeder-Moorer 8-comb + 4-allpass reverb, Jezar public-domain tuning, stereo spread","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/reverb-freeverb_1.0.4_1783731741984_0.945814575687639","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"_id":"@audio/reverb-freeverb@1.0.5","bugs":{"url":"https://github.com/audiojs/reverb/issues"},"dist":{"shasum":"bf0b6a4f293be2f44df86ec5ba84d53a588ea610","tarball":"https://registry.npmjs.org/@audio/reverb-freeverb/-/reverb-freeverb-1.0.5.tgz","fileCount":6,"integrity":"sha512-vWKjPnzLBeKAf1cL3h1LKJgby+ielOJsvNXib6u/ki5QbgVDOf8GiGL7a9bi6kBb6kGAk29by9o3XYHw6VIlSQ==","signatures":[{"sig":"MEYCIQC1sZS1DcJMAYZDa6JvfQcwZQJ3EEuDaYhix5rD7Qv4XQIhAJnj8TWzVJzov2eKo1+0DTGKcyYWyZD2Ef7mCp640cqN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIG/78+bfFKgyoegJ4SKriw0gpOlHR2pptVCO33nvNQuvAiEAw8vAvYfbFJ37In3fM4OMHfiD3OGS8v5AnlpmpPcfgFM="}],"unpackedSize":8407},"main":"freeverb.js","name":"@audio/reverb-freeverb","type":"module","audio":"./audio.js","types":"freeverb.d.ts","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"engines":{"node":">=18"},"exports":{".":"./freeverb.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"29597c9f7038facbdda6cdf3ef361f72cf35482f","license":"MIT","version":"1.0.5","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"homepage":"https://github.com/audiojs/reverb#readme","keywords":["audio","dsp","reverb","freeverb"],"repository":{"url":"git+https://github.com/audiojs/reverb.git","type":"git","directory":"packages/reverb-freeverb"},"_npmVersion":"11.12.1","description":"Freeverb — Schroeder-Moorer 8-comb + 4-allpass reverb, Jezar public-domain tuning, stereo spread","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/reverb-freeverb_1.0.5_1790917344689_0.9789053726269508"}}},"time":{"created":"2026-07-08T19:44:16.408Z","modified":"2026-10-02T05:02:24.985Z","1.0.0":"2026-07-08T19:44:16.769Z","1.0.1":"2026-07-09T01:25:06.836Z","1.0.2":"2026-07-10T00:56:56.105Z","1.0.3":"2026-07-10T16:43:02.105Z","1.0.4":"2026-07-11T01:02:22.136Z","1.0.5":"2026-10-02T05:02:24.785Z"},"bugs":{"url":"https://github.com/audiojs/reverb/issues"},"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","homepage":"https://github.com/audiojs/reverb#readme","keywords":["audio","dsp","reverb","freeverb"],"repository":{"url":"git+https://github.com/audiojs/reverb.git","type":"git","directory":"packages/reverb-freeverb"},"description":"Freeverb — Schroeder-Moorer 8-comb + 4-allpass reverb, Jezar public-domain tuning, stereo spread","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/reverb-freeverb [![npm](https://img.shields.io/npm/v/@audio/reverb-freeverb)](https://www.npmjs.com/package/@audio/reverb-freeverb) [![MIT](https://img.shields.io/badge/MIT-%E0%A5%90-white)](https://github.com/krishnized/license)\n\nFreeverb — Schroeder-Moorer 8-comb + 4-allpass reverb, Jezar public-domain tuning, stereo spread\n\n```\nnpm install @audio/reverb-freeverb\n```\n\n```js\nimport freeverb from '@audio/reverb-freeverb'\n```\n\n8 parallel LP-damped feedback combs into 4 series allpass diffusers per channel, Jezar's public-domain tuning (44.1 kHz delay constants, scaled to `fs`). Stereo input runs the right channel through `spread`-offset (23-sample) delay lines for width — pass `[left, right]` and the two channels decorrelate on their own; mono input runs a single channel. Strictly stereo, not N-channel: only `data[0]`/`data[1]` are read and written — a third channel in the array is silently left untouched.\n\n```js\nfreeverb(data, { room: 0.7, damp: 0.4, mix: 0.5, fs: 44100 })\nfreeverb([left, right], { room: 0.9, mix: 0.4 })  // stereo — decorrelated spread\n```\n\n| Param | Default | |\n|---|---|---|\n| `room` | `0.5` | 0..1 — feedback amount (tail length) |\n| `damp` | `0.5` | 0..1 — high-frequency loss in the comb feedback path |\n| `mix` | `0.33` | 0..1 — wet/dry blend |\n| `fs` | `44100` | sample rate; delay lengths scale to it |\n\n**Mutates `data` in place** and returns it — the return value is the same array/pair you passed in, not a copy. `mix: 0` is an exact passthrough (`room`/`damp` never run when nothing is mixed in). A fresh call allocates fresh comb/allpass state, so there's no state to carry across calls — reprocess the whole buffer each time.\n\nThe `/audio` factory keeps per-channel state between blocks. Its `tail(ctx)` returns zero for a known dry `mix: 0`, otherwise six seconds, including an unknown/automated mix. A host planning a whole edit must not infer permanent bypass from an automation curve's initial zero.\n\n**Use when:** general-purpose room/hall reverb, the \"default\" choice among this family.<br>\n**Not for:** metallic plate character (use `dattorro`) or a colorless, uniform-T60 tail (use `fdn`).\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"}