{"_id":"@audio/stretch-pvoc","_rev":"8-0738b7644fb393a4aace7922c9f7ac82","name":"@audio/stretch-pvoc","dist-tags":{"latest":"1.2.3"},"versions":{"1.0.0":{"name":"@audio/stretch-pvoc","version":"1.0.0","keywords":["audio","dsp","time-stretch","phase-vocoder","pvoc","stft"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-pvoc@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-pvoc","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"82811e5af985a44db9e7bb692f52246cfab76bd9","tarball":"https://registry.npmjs.org/@audio/stretch-pvoc/-/stretch-pvoc-1.0.0.tgz","fileCount":5,"integrity":"sha512-ruo4BIshoC+myrSG6K9c9bHYsU3SLechBYQMZGT7SiZVitInI5OJADXP33YEUpzukqcF4R/7QvjYT4L9EaL90Q==","signatures":[{"sig":"MEYCIQCx+/6lKvLe6Id1RTisk4kxw3m/qyP7BUzBn2w9E5oTdQIhAKX3EWaH1fTLn1tcYBj2xh/fGbTcO7+3KBe6S2pLpEma","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5003},"main":"pvoc.js","type":"module","types":"pvoc.d.ts","engines":{"node":">=18"},"exports":{".":"./pvoc.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-pvoc"},"_npmVersion":"11.12.1","description":"Phase vocoder time stretching — educational baseline without phase locking","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.0","@audio/stretch-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-pvoc_1.0.0_1783540157038_0.8758058632771246","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@audio/stretch-pvoc","version":"1.0.1","keywords":["audio","dsp","time-stretch","phase-vocoder","pvoc","stft"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-pvoc@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-pvoc","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"03a2139e6c8854d3d24ad75cc63823ae790fc661","tarball":"https://registry.npmjs.org/@audio/stretch-pvoc/-/stretch-pvoc-1.0.1.tgz","fileCount":6,"integrity":"sha512-TOAvZ0oSoYBWV/p2vGUvFch4lG9PNX0M2YXZi/n2MZ87pDqDzRZ4B6mF6pWitmhsoMIuWISZCdjV1wK35FZ49A==","signatures":[{"sig":"MEYCIQDsMu5z8QSuDF3joG7LoqS9qrgaCKBRVd1pnb7cPpz2yAIhAI5WbQA4ciZmB2JEj9VPrBY4qMXNrkOWEzou0EelbOlf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6036},"main":"pvoc.js","type":"module","types":"pvoc.d.ts","engines":{"node":">=18"},"exports":{".":"./pvoc.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-pvoc"},"_npmVersion":"11.12.1","description":"Phase vocoder time stretching — educational baseline without phase locking","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-pvoc_1.0.1_1783624516543_0.11957775978552232","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@audio/stretch-pvoc","version":"1.1.0","keywords":["audio","dsp","time-stretch","phase-vocoder","pvoc","stft"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-pvoc@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-pvoc","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"f88c08b47534f52283d2d5e198cffca1bcdb7249","tarball":"https://registry.npmjs.org/@audio/stretch-pvoc/-/stretch-pvoc-1.1.0.tgz","fileCount":7,"integrity":"sha512-KmVr0B2sRfuG4DbLa5kj0CporO92UF1lR0xbzCgQo9hi1lnEhO01EF5213DJ8LXzuZGLcyB37uWW6JYtkDOGvQ==","signatures":[{"sig":"MEQCIFLx+yWggqzsLWZtWjLyDyITVC0J8zB/NCvW2F0MKw/tAiANjrcV5dqgUC7BeqPiHOFyq3XECdEQg73I0KvQZ/nuag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7014},"main":"pvoc.js","type":"module","audio":"./audio.js","types":"pvoc.d.ts","engines":{"node":">=18"},"exports":{".":"./pvoc.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-pvoc"},"_npmVersion":"11.12.1","description":"Phase vocoder time stretching — educational baseline without phase locking","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-pvoc_1.1.0_1783692358097_0.31791860867580235","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@audio/stretch-pvoc","version":"1.1.1","keywords":["audio","dsp","time-stretch","phase-vocoder","pvoc","stft"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-pvoc@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-pvoc","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"56bfeb209b78da07e81b35dc70e94ffb00e0a9da","tarball":"https://registry.npmjs.org/@audio/stretch-pvoc/-/stretch-pvoc-1.1.1.tgz","fileCount":8,"integrity":"sha512-1D2XxN2DkPs9Slz3ZCcQvZdpxpsLFRhbvO/o8Q+p9XAtQjU3q3smsrepctEG8TZNA163IUMxUQLJhF7BDngEyA==","signatures":[{"sig":"MEUCIHOMonGLQ3wun/RYNErYb0jk+6FVHIQqO5deE0KpaVr1AiEA8AyC09ip4Mo0vvVwSWm4pg1PD3Jz8DDr7mA9wMbqUsA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8316},"main":"pvoc.js","type":"module","audio":"./audio.js","types":"pvoc.d.ts","engines":{"node":">=18"},"exports":{".":"./pvoc.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-pvoc"},"_npmVersion":"11.12.1","description":"Phase vocoder time stretching — educational baseline without phase locking","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-pvoc_1.1.1_1783701841453_0.6607836507199321","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@audio/stretch-pvoc","version":"1.2.0","keywords":["audio","dsp","time-stretch","phase-vocoder","pvoc","stft"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-pvoc@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-pvoc","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"7034cd9b3e69023bb0c62af54f9feb197b82aaeb","tarball":"https://registry.npmjs.org/@audio/stretch-pvoc/-/stretch-pvoc-1.2.0.tgz","fileCount":8,"integrity":"sha512-+F4MWih003U2lWSeb42Ig4qy7dIm9Wq8SFU2e9V2ZtLJ+YfDKxi13Vd4X/mvLHVNSpHNZqwkZ5UQ8VwHd4HeWg==","signatures":[{"sig":"MEUCIGaSC/rntFE0eLRXUIj/ycS/prsXOdasdQgWwZyyBWNFAiEA8/tMo19yQsdnS8ITYeef/W8Wj6eWbCXecpAnlbhG9YI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8634},"main":"pvoc.js","type":"module","audio":"./audio.js","types":"pvoc.d.ts","engines":{"node":">=18"},"exports":{".":"./pvoc.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-pvoc"},"_npmVersion":"11.12.1","description":"Phase vocoder time stretching — educational baseline without phase locking","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-pvoc_1.2.0_1783724427776_0.6260023914395023","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@audio/stretch-pvoc","version":"1.2.1","keywords":["audio","dsp","time-stretch","phase-vocoder","pvoc","stft"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-pvoc@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-pvoc","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"7b23682549fb504936aa5038594c17257d1af1ee","tarball":"https://registry.npmjs.org/@audio/stretch-pvoc/-/stretch-pvoc-1.2.1.tgz","fileCount":8,"integrity":"sha512-4vQxvtDU984Da6UhceZkM0kyVSuKpBrG3Xd6SYEj06324jaIbNv0izRlp2Or9RwDlRJhqxap4UBuRVZlLwhRpQ==","signatures":[{"sig":"MEUCIHYwnHwhIV5k7yZ4sFbcISFwGXyFKFC07pyY1+IwamqSAiEAthPcUDz0tGOEY6aJkOe+Dyb7Wt1NMaaUy5lsqxso2bA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8686},"main":"pvoc.js","type":"module","audio":"./audio.js","types":"pvoc.d.ts","engines":{"node":">=18"},"exports":{".":"./pvoc.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-pvoc"},"_npmVersion":"11.12.1","description":"Phase vocoder time stretching — educational baseline without phase locking","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-pvoc_1.2.1_1783731915597_0.19083034859011616","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"name":"@audio/stretch-pvoc","version":"1.2.2","keywords":["audio","dsp","time-stretch","phase-vocoder","pvoc","stft"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-pvoc@1.2.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/stretch/tree/main/packages/stretch-pvoc","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"482df91b4a513fb60aaabd3886b2163cb9eeb75f","tarball":"https://registry.npmjs.org/@audio/stretch-pvoc/-/stretch-pvoc-1.2.2.tgz","fileCount":8,"integrity":"sha512-W2aIpbuOFyd7yoRq/xPijB0yrxCZt2mZkjdiv12UAevTq4hOPpHWilTJPbPDa+RL3pU8H0cgy8DGy+CEssq7zg==","signatures":[{"sig":"MEUCIQCclQ/bUv8+ar0vo3NEIJ0EdTck/gVPds8nTatUG77OCwIgYYauUJBQM3VFdayDMFl+OJVtIYUgd2PjIVv0mugdbhs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDwLF0HXR/HunhZibupDf9oHf0yvt6BaoWg+kv1QFJzvAIhAMcCpZfPARfK4tJ+JnZisWLeA4Y56BlNd+6gqZ5Yn7Qf","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8981},"main":"pvoc.js","type":"module","audio":"./audio.js","types":"pvoc.d.ts","engines":{"node":">=18"},"exports":{".":"./pvoc.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"3338d83286ba4e13165427a88c79ce9732fcf1bf","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/stretch.git","type":"git","directory":"packages/stretch-pvoc"},"_npmVersion":"11.12.1","description":"Phase vocoder time stretching — educational baseline without phase locking","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-pvoc_1.2.2_1790192434851_0.46665145539425024","host":"s3://npm-registry-packages-npm-production"}},"1.2.3":{"_id":"@audio/stretch-pvoc@1.2.3","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"511f65c86b313e1d11a372b3aa30a9080cb4c2d5","tarball":"https://registry.npmjs.org/@audio/stretch-pvoc/-/stretch-pvoc-1.2.3.tgz","fileCount":8,"integrity":"sha512-RQw8IMWFLJaE9yhXfirAa1PT2WWEE3yG+K528Zp5PLSoYIOKGiiaIc3XE4C8D/a3OhGurArnrHEQcmQEkfXwMg==","signatures":[{"sig":"MEUCIQCM7uF5h01XspJTWaG2iHZZwm11JU2H+3LWOhoHNgM3rgIgIxejocf1sJm22nV04/zxKEBOqaB8fCOSfZpXLWmxwYU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDONKESgqbucF2cWCos3BBMdCufCEsrsyI4BbPqOIXPKAIgcU+DM4CLMubLNZlKsyMnIVGRvRxI8ni4kpROuZVLiAY="}],"unpackedSize":9229},"main":"pvoc.js","name":"@audio/stretch-pvoc","type":"module","audio":"./audio.js","types":"pvoc.d.ts","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"engines":{"node":">=18"},"exports":{".":"./pvoc.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"81ac3ece838344698b068e611ed20e878a5f12de","license":"MIT","version":"1.2.3","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"homepage":"https://github.com/audiojs/stretch/tree/main/packages/stretch-pvoc","keywords":["audio","dsp","time-stretch","phase-vocoder","pvoc","stft"],"repository":{"url":"git+https://github.com/audiojs/stretch.git","type":"git","directory":"packages/stretch-pvoc"},"_npmVersion":"11.12.1","description":"Phase vocoder time stretching — educational baseline without phase locking","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","dependencies":{"fourier-transform":"^2.4.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/stretch-pvoc_1.2.3_1790492394046_0.3069480769780437"}}},"time":{"created":"2026-07-08T19:49:16.901Z","modified":"2026-09-27T06:59:54.312Z","1.0.0":"2026-07-08T19:49:17.165Z","1.0.1":"2026-07-09T19:15:16.706Z","1.1.0":"2026-07-10T14:05:58.258Z","1.1.1":"2026-07-10T16:44:01.617Z","1.2.0":"2026-07-10T23:00:27.916Z","1.2.1":"2026-07-11T01:05:15.752Z","1.2.2":"2026-09-23T19:40:34.946Z","1.2.3":"2026-09-27T06:59:54.132Z"},"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-pvoc","keywords":["audio","dsp","time-stretch","phase-vocoder","pvoc","stft"],"repository":{"url":"git+https://github.com/audiojs/stretch.git","type":"git","directory":"packages/stretch-pvoc"},"description":"Phase vocoder time stretching — educational baseline without phase locking","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/stretch-pvoc\n\nPlain phase vocoder. Each FFT bin's phase advances at its instantaneous frequency. Magnitudes preserved, but inter-harmonic phase coherence is lost — complex signals get a diffuse, \"underwater\" character. Educational baseline.\n\n```js\nimport pvoc from '@audio/stretch-pvoc'\nlet out = pvoc(data, { factor: 2 })\n```\n\n| Param | Default | |\n|---|---|---|\n| `factor` | `1` | Time stretch ratio |\n| `frameSize` | `2048` | FFT size (power of 2) |\n| `hopSize` | `frameSize/4` | Hop between frames |\n\n**Use when:** learning the phase-vocoder algorithm, simple tonal signals.<br>\n**Not for:** general music — use [`@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"}