{"_id":"@audio/stretch-wsola","_rev":"7-7ec860352216ec60e9ae6733b152cf31","name":"@audio/stretch-wsola","dist-tags":{"latest":"1.2.2"},"versions":{"1.0.0":{"name":"@audio/stretch-wsola","version":"1.0.0","keywords":["audio","dsp","time-stretch","wsola","tempo","speech"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-wsola@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/stretch/tree/main/packages/stretch-wsola","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"3f39433407358e8f907d1016de7b43f592751edf","tarball":"https://registry.npmjs.org/@audio/stretch-wsola/-/stretch-wsola-1.0.0.tgz","fileCount":5,"integrity":"sha512-t4WFNvxfvpQXy62pFYrIrJPV9M2kp429hXxwyMvu0os9i9kVgH8knEhbaVDUy7HMFgBUMDP1CqPljvmdS4r09Q==","signatures":[{"sig":"MEUCIHOS/E2tCwlJKSw50+mqmFTIplsxVXw9L3UbZWCNQ02TAiEA5UexrhkZtM6YjCoXpoPVgyGv1VaI4o/YWiN64/o0utY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":9105},"main":"wsola.js","type":"module","types":"wsola.d.ts","engines":{"node":">=18"},"exports":{".":"./wsola.js","./package.json":"./package.json"},"gitHead":"3f1e6701f03a021fd2ab5f55edfbe5a0def65453","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/stretch.git","type":"git","directory":"packages/stretch-wsola"},"_npmVersion":"11.12.1","description":"WSOLA time stretching — time-domain, low CPU, great for speech","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/stretch-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-wsola_1.0.0_1783540165217_0.11486618249899627","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@audio/stretch-wsola","version":"1.0.1","keywords":["audio","dsp","time-stretch","wsola","tempo","speech"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-wsola@1.0.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/stretch/tree/main/packages/stretch-wsola","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"7fb0ffe5e8d5396292569db9e513e04e85d5844f","tarball":"https://registry.npmjs.org/@audio/stretch-wsola/-/stretch-wsola-1.0.1.tgz","fileCount":6,"integrity":"sha512-/K3g67EnUj9CK7D9hg87XsNogwl4Vf87vZWOitMWM8mF10hExFCI+wRV9Uy/upVMMQJTQbns2VUxr3xoYgMwAQ==","signatures":[{"sig":"MEUCIQDHLqOOA+yDTMPaafxXg15ILYOrMQws+aYMbF2MB7+lpQIgMljRFvgwCWl1KPvAmHfuFeqPQkhTzrZY0Ie4smPVCQg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11148},"main":"wsola.js","type":"module","types":"wsola.d.ts","engines":{"node":">=18"},"exports":{".":"./wsola.js","./package.json":"./package.json"},"gitHead":"e64c9d080cf9149a36bcbfae46a375f704ab6193","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/stretch.git","type":"git","directory":"packages/stretch-wsola"},"_npmVersion":"11.12.1","description":"WSOLA time stretching — time-domain, low CPU, great for speech","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-wsola_1.0.1_1783624525749_0.3448426279801924","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@audio/stretch-wsola","version":"1.1.0","keywords":["audio","dsp","time-stretch","wsola","tempo","speech"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-wsola@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/stretch/tree/main/packages/stretch-wsola","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"07e1c210065b4a4871183e917d42589ebec30a4b","tarball":"https://registry.npmjs.org/@audio/stretch-wsola/-/stretch-wsola-1.1.0.tgz","fileCount":7,"integrity":"sha512-eqt6tjaaaSMjCPyUg9ilx1CZYkNlD0pgPAIx/c1hBEnoDfR56rj7mgGHNnr0Z/hIh+xcKK0ebsa75Je2KAp7xg==","signatures":[{"sig":"MEUCIAWa5Fif9wZW9TZUXVYpuV7Fhoj5UaQ2aBTZN1WoK5ggAiEAnS7eaMK4YrTsifDl4apGPtMfXNWQxIBrpiNuhTVotCE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":12148},"main":"wsola.js","type":"module","audio":"./audio.js","types":"wsola.d.ts","engines":{"node":">=18"},"exports":{".":"./wsola.js","./audio":"./audio.js","./package.json":"./package.json"},"gitHead":"585d331eb9dd2585889fb7f973e74c2d8672992b","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/stretch.git","type":"git","directory":"packages/stretch-wsola"},"_npmVersion":"11.12.1","description":"WSOLA time stretching — time-domain, low CPU, great for speech","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-wsola_1.1.0_1783692362960_0.6043137964387755","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@audio/stretch-wsola","version":"1.1.1","keywords":["audio","dsp","time-stretch","wsola","tempo","speech"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-wsola@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/stretch/tree/main/packages/stretch-wsola","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"ca8b977c0f6f2b1f6af1f28dd8076de48420f619","tarball":"https://registry.npmjs.org/@audio/stretch-wsola/-/stretch-wsola-1.1.1.tgz","fileCount":8,"integrity":"sha512-fFAQaWd4lPM7XdHLsNWNBVjmDa29QYdbN694VbimEDfDjQ2EyHOQW4TN7gHFKokW4c49q9DhklkC6wsc7YQgMg==","signatures":[{"sig":"MEYCIQC335ow18d+ogFHrD0nDEqHp1MRgqBLaXfrPvk1smGB5gIhAJ6Be+Qw3lt22fsvZyqboihSQDJ+AJoCDcR4V/rqikyt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13453},"main":"wsola.js","type":"module","audio":"./audio.js","types":"wsola.d.ts","engines":{"node":">=18"},"exports":{".":"./wsola.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"gitHead":"4015beca11a555e68b651b429ec6e0867ca5f765","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/stretch.git","type":"git","directory":"packages/stretch-wsola"},"_npmVersion":"11.12.1","description":"WSOLA time stretching — time-domain, low CPU, great for speech","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-wsola_1.1.1_1783701849743_0.4120299631414197","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@audio/stretch-wsola","version":"1.2.0","keywords":["audio","dsp","time-stretch","wsola","tempo","speech"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-wsola@1.2.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/stretch/tree/main/packages/stretch-wsola","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"4d85b7b040c64ac1bf98c7b6e67eec83c07bd85c","tarball":"https://registry.npmjs.org/@audio/stretch-wsola/-/stretch-wsola-1.2.0.tgz","fileCount":8,"integrity":"sha512-uw1wHM526eTWaPS6kFLKdeGiYinplCMvwA8jyBmFedLUbU+aWu/dhzCLtcDmcjOwF9C/jNSuYY9LUwWgxml/gg==","signatures":[{"sig":"MEYCIQD53VZ2rtiQBs2H1Mf9sKG0PIxmlOOKK4F6Q/tuSo5ujAIhAMbVXLFEi5UPi+K3dNX8G7Rz+TUB2Hr/yYext2rbJ6/g","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13772},"main":"wsola.js","type":"module","audio":"./audio.js","types":"wsola.d.ts","engines":{"node":">=18"},"exports":{".":"./wsola.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"gitHead":"78d915c706fda0a12a6074abbe352147d0a0844a","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/stretch.git","type":"git","directory":"packages/stretch-wsola"},"_npmVersion":"11.12.1","description":"WSOLA time stretching — time-domain, low CPU, great for speech","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-wsola_1.2.0_1783724438954_0.16823715076478796","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@audio/stretch-wsola","version":"1.2.1","keywords":["audio","dsp","time-stretch","wsola","tempo","speech"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-wsola@1.2.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/stretch/tree/main/packages/stretch-wsola","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"cb9d2ba522f4daedd7d765e256aeb364240708b5","tarball":"https://registry.npmjs.org/@audio/stretch-wsola/-/stretch-wsola-1.2.1.tgz","fileCount":8,"integrity":"sha512-8Wwwdag0YZw+RHt5Zqnsh08jlOZnFhlPtzVk9XDy5VvV9SKD1wq+f8b7Jh+vUBOeHPpB9VhT660jkEqPqIpV+w==","signatures":[{"sig":"MEUCIEpqxsBqtgOZeNdtADXS7/LhXGfjROwb0D7NMYhJxtDfAiEAvsmZ78H3cn9YaIfCmKLy7Hc0f6ETtebS2YxKpXUFRXs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":13824},"main":"wsola.js","type":"module","audio":"./audio.js","types":"wsola.d.ts","engines":{"node":">=18"},"exports":{".":"./wsola.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"5f24d6134001e052553442c5a0399103d6c55948","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/stretch.git","type":"git","directory":"packages/stretch-wsola"},"_npmVersion":"11.12.1","description":"WSOLA time stretching — time-domain, low CPU, great for speech","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-wsola_1.2.1_1783731924906_0.9182441885695187","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"_id":"@audio/stretch-wsola@1.2.2","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"bb632bb95c9c94273b923b0d886a10d70abd96fc","tarball":"https://registry.npmjs.org/@audio/stretch-wsola/-/stretch-wsola-1.2.2.tgz","fileCount":8,"integrity":"sha512-+D+ki44y+zhIl+jvGEYq1Hek54b0zQ0A80NIIGch0ZTGBa/CYrzhg8UQRmNIJrYlInOI+ev3Zc7JPKoh69IgqQ==","signatures":[{"sig":"MEQCIBlJ3I8n3mN0+D8EU/YGesdBAJuzUS2m5Qx7DCLET+q3AiBU/tbv2kq8Bb6ejKrKilW1swjl+feH5py+/7AFfjB6bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCn+rz8dcQ+xqmVpqJZfxu+b9ny3uQxQ67gCZPpFTpJYQIgUpHIrm4Y/tRIzWRlVCOGNDPY0LYSDt6pNeNOVMkvII0="}],"unpackedSize":14616},"main":"wsola.js","name":"@audio/stretch-wsola","type":"module","audio":"./audio.js","types":"wsola.d.ts","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"engines":{"node":">=18"},"exports":{".":"./wsola.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"3338d83286ba4e13165427a88c79ce9732fcf1bf","license":"MIT","version":"1.2.2","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"homepage":"https://github.com/audiojs/stretch/tree/main/packages/stretch-wsola","keywords":["audio","dsp","time-stretch","wsola","tempo","speech"],"repository":{"url":"git+https://github.com/audiojs/stretch.git","type":"git","directory":"packages/stretch-wsola"},"_npmVersion":"11.12.1","description":"WSOLA time stretching — time-domain, low CPU, great for speech","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/stretch-wsola_1.2.2_1790192452617_0.9724966370384986"}}},"time":{"created":"2026-07-08T19:49:25.040Z","modified":"2026-09-23T19:40:52.911Z","1.0.0":"2026-07-08T19:49:25.357Z","1.0.1":"2026-07-09T19:15:25.939Z","1.1.0":"2026-07-10T14:06:03.165Z","1.1.1":"2026-07-10T16:44:09.910Z","1.2.0":"2026-07-10T23:00:39.075Z","1.2.1":"2026-07-11T01:05:25.126Z","1.2.2":"2026-09-23T19:40:52.708Z"},"bugs":{"url":"https://github.com/audiojs/stretch/issues"},"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","homepage":"https://github.com/audiojs/stretch/tree/main/packages/stretch-wsola","keywords":["audio","dsp","time-stretch","wsola","tempo","speech"],"repository":{"url":"git+https://github.com/audiojs/stretch.git","type":"git","directory":"packages/stretch-wsola"},"description":"WSOLA time stretching — time-domain, low CPU, great for speech","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/stretch-wsola\n\nWaveform Similarity Overlap-Add time stretching. Search ±delta around each synthesis hop for the position that best correlates with the running output — eliminates the flanging of plain OLA, no FFT.\n\n```js\nimport wsola from '@audio/stretch-wsola'\n\nlet out = wsola(samples, { factor: 1.5 })\n\nlet write = wsola({ factor: 2 })   // streaming\nwrite(block1)\nlet tail = write()                  // flush\n```\n\n| Param | Default | |\n|---|---|---|\n| `factor` | `1` | Time stretch ratio |\n| `frameSize` | `2048` | Window size |\n| `hopSize` | `frameSize/4` | Hop between frames |\n| `delta` | `frameSize/4` | Search range (±samples) |\n\n**Use when:** speech, real-time, moderate ratios (0.5–2×). Polyphonic music is better served by [`@audio/stretch-pvoc-lock`](../stretch-pvoc-lock) or [`@audio/stretch-transient`](../stretch-transient).\n\nPart of [`@audio/stretch`](../..).\n\n## License\n\n[MIT](./LICENSE) · [ॐ](https://github.com/krishnized/license/)\n","readmeFilename":"README.md"}