{"_id":"@audio/stretch-sms","_rev":"7-09e0a27c7fd4b84833fb8360ad50b9a1","name":"@audio/stretch-sms","dist-tags":{"latest":"1.2.2"},"versions":{"1.0.0":{"name":"@audio/stretch-sms","version":"1.0.0","keywords":["audio","dsp","time-stretch","sms","sinusoidal","partial-tracking","serra","mcaulay-quatieri"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-sms@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-sms","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"7bf18f8884e12bc019e1b34bad34bf25ebdc469e","tarball":"https://registry.npmjs.org/@audio/stretch-sms/-/stretch-sms-1.0.0.tgz","fileCount":5,"integrity":"sha512-stXxN5jAr4fidjTVBrn9EVK7WyySBTjTqxng878ztJGCUEJvvfGjGHHQziHkPjFJ8A+rPAKcwaaKYyrzJgRugg==","signatures":[{"sig":"MEQCIFkdLJ6q5Omy862sjeDBviLV+ICVaRNFWcPk7Xb2XD5OAiAg1lco/sn4n+7K3EGQA3feh7oqXE3TdflaoyMrX1sW5A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15759},"main":"sms.js","type":"module","types":"sms.d.ts","engines":{"node":">=18"},"exports":{".":"./sms.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-sms"},"_npmVersion":"11.12.1","description":"Sinusoidal Modeling Synthesis time stretching — harmonic/tonal material","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-sms_1.0.0_1783540161102_0.21958637909623202","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@audio/stretch-sms","version":"1.0.1","keywords":["audio","dsp","time-stretch","sms","sinusoidal","partial-tracking","serra","mcaulay-quatieri"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-sms@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-sms","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"831e878ee6f63e051146102f9ea2e4b974263184","tarball":"https://registry.npmjs.org/@audio/stretch-sms/-/stretch-sms-1.0.1.tgz","fileCount":6,"integrity":"sha512-sxmQzNFvwum1+73vZ8z4PPjdDnuTvEPp6GsmIJXKZQIPJM8xeOD5taTGp3ZoRtDbYEyY2Urk2Vn3TtsIbgN2Dw==","signatures":[{"sig":"MEQCIBBfaBQqXIPGDi/BsRxl/urzQkfcR3FDHTg0wxoiEz1zAiAlfloASQI2G1kfhdCLtm+hw0uxPsk01RV4Yin1/fJR/g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18103},"main":"sms.js","type":"module","types":"sms.d.ts","engines":{"node":">=18"},"exports":{".":"./sms.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-sms"},"_npmVersion":"11.12.1","description":"Sinusoidal Modeling Synthesis time stretching — harmonic/tonal material","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-sms_1.0.1_1783624521506_0.003778547850064262","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@audio/stretch-sms","version":"1.1.0","keywords":["audio","dsp","time-stretch","sms","sinusoidal","partial-tracking","serra","mcaulay-quatieri"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-sms@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-sms","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"4779fe61dc3bc2d5f5a642fa8052058e5d80aa10","tarball":"https://registry.npmjs.org/@audio/stretch-sms/-/stretch-sms-1.1.0.tgz","fileCount":7,"integrity":"sha512-GEZKNUDOni6uo/Nf+P4MGhAibPfNBPtdNuihQgSnKe0/vbakXcoNSvNCaSGuWbHzAoWLDMPP6CSTwKGnbL+yJQ==","signatures":[{"sig":"MEUCIQC1JA0UVLcbzAHS733cVBxMQXOlvzl6+8ovZXhOGJwZQQIgeMkPBpa0b6CUr3Iy21TzlLjJxKZWmb+w3DFCOwDr/do=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19097},"main":"sms.js","type":"module","audio":"./audio.js","types":"sms.d.ts","engines":{"node":">=18"},"exports":{".":"./sms.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-sms"},"_npmVersion":"11.12.1","description":"Sinusoidal Modeling Synthesis time stretching — harmonic/tonal material","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-sms_1.1.0_1783692367077_0.956413020019","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@audio/stretch-sms","version":"1.1.1","keywords":["audio","dsp","time-stretch","sms","sinusoidal","partial-tracking","serra","mcaulay-quatieri"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-sms@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-sms","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"cfa4659e5d85c44f406edb51747b4e1e43da07c1","tarball":"https://registry.npmjs.org/@audio/stretch-sms/-/stretch-sms-1.1.1.tgz","fileCount":8,"integrity":"sha512-BemhbJVi9zsz7SFkZ0w52jJU2czknavagjdGm7wLv2Rsk+uHdxTku1U1mavQmw9WoHB4SIQBvTkGEyk0IFgG5g==","signatures":[{"sig":"MEQCIBDBSVDrRTEPzIDMp8iADR1kyyNqEOckVnNj/iWLMwWHAiBPrFjzRKcVTj5BfP3gd1EbikK1NPNTURevxRhqNhUGVA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20396},"main":"sms.js","type":"module","audio":"./audio.js","types":"sms.d.ts","engines":{"node":">=18"},"exports":{".":"./sms.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-sms"},"_npmVersion":"11.12.1","description":"Sinusoidal Modeling Synthesis time stretching — harmonic/tonal material","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-sms_1.1.1_1783701845481_0.143853100111498","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@audio/stretch-sms","version":"1.2.0","keywords":["audio","dsp","time-stretch","sms","sinusoidal","partial-tracking","serra","mcaulay-quatieri"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-sms@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-sms","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"c652feb24c927d2a3b174edebc80f4a82fa8029b","tarball":"https://registry.npmjs.org/@audio/stretch-sms/-/stretch-sms-1.2.0.tgz","fileCount":8,"integrity":"sha512-uDlyoQ0SGWY1uJlnI/GWvzmcLsc855KZNTxqkmEcxFGIQVuISW6dd+JpadDVrVIYHV3n/7+ckhpYQ59E/5JqqQ==","signatures":[{"sig":"MEYCIQDDOKughiWTuwiLzj16lwVqmfQRnVBPtbZ4CXXBG4+iQgIhANt39OqQeVgagUqCdFGFWJzvv7bQVNXVDFZKkfjARzTV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20713},"main":"sms.js","type":"module","audio":"./audio.js","types":"sms.d.ts","engines":{"node":">=18"},"exports":{".":"./sms.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-sms"},"_npmVersion":"11.12.1","description":"Sinusoidal Modeling Synthesis time stretching — harmonic/tonal material","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-sms_1.2.0_1783724437123_0.7931989833475723","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@audio/stretch-sms","version":"1.2.1","keywords":["audio","dsp","time-stretch","sms","sinusoidal","partial-tracking","serra","mcaulay-quatieri"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/stretch-sms@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-sms","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"f4baf8e96f94c09453211dd6086748dd01017d15","tarball":"https://registry.npmjs.org/@audio/stretch-sms/-/stretch-sms-1.2.1.tgz","fileCount":8,"integrity":"sha512-UWUcR9okkiGRRC2SFcicKiqz14XxtmNQSjFZ6/o5jDq7/QaAG6j0SnD2bIY/hJjQUuFkItvxnIOLRC/LsD6oRA==","signatures":[{"sig":"MEUCIG9oBhS+D2TWlkrXk8HDAaUgWM0fwx966Ydshq3nrIHYAiEA+dOhqsAX0UX+/+IS7SLUJ43fQAt8fprewDrtxT9FMyc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20765},"main":"sms.js","type":"module","audio":"./audio.js","types":"sms.d.ts","engines":{"node":">=18"},"exports":{".":"./sms.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-sms"},"_npmVersion":"11.12.1","description":"Sinusoidal Modeling Synthesis time stretching — harmonic/tonal material","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/stretch-sms_1.2.1_1783731919944_0.0838547781462664","host":"s3://npm-registry-packages-npm-production"}},"1.2.2":{"_id":"@audio/stretch-sms@1.2.2","bugs":{"url":"https://github.com/audiojs/stretch/issues"},"dist":{"shasum":"9bb8e66adc6a886356f4141b282f1a76d6b34962","tarball":"https://registry.npmjs.org/@audio/stretch-sms/-/stretch-sms-1.2.2.tgz","fileCount":8,"integrity":"sha512-B5EgBsf2hxN6U3FdA2NbvVfTj2YJoW7pK7Zo65ggEQGusStG3W08GLkevtbDmNRi/YEXH+DugcA4byG4R7FBNQ==","signatures":[{"sig":"MEQCIAaglAKLM+ndqJ+drJ8CtydoPYrhYWSHc2/r/qoyUIqvAiAauZjAiqIER/+TSrn/2AeTdKuI9G/I2zIWXg/WUywZ3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCs2X4oSF0Ozl0HLUf32k1vR6UGJ0hK2+yAN4Wn9kmbawIhAL6RYlYyBEmMampAAiIJsDvgTrHoeoGzwh+n5eZdYvYC"}],"unpackedSize":22615},"main":"sms.js","name":"@audio/stretch-sms","type":"module","audio":"./audio.js","types":"sms.d.ts","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"engines":{"node":">=18"},"exports":{".":"./sms.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-sms","keywords":["audio","dsp","time-stretch","sms","sinusoidal","partial-tracking","serra","mcaulay-quatieri"],"repository":{"url":"git+https://github.com/audiojs/stretch.git","type":"git","directory":"packages/stretch-sms"},"_npmVersion":"11.12.1","description":"Sinusoidal Modeling Synthesis time stretching — harmonic/tonal material","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.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/stretch-sms_1.2.2_1790192549759_0.41891566347793585"}}},"time":{"created":"2026-07-08T19:49:21.000Z","modified":"2026-09-23T19:42:30.061Z","1.0.0":"2026-07-08T19:49:21.233Z","1.0.1":"2026-07-09T19:15:21.638Z","1.1.0":"2026-07-10T14:06:07.355Z","1.1.1":"2026-07-10T16:44:05.820Z","1.2.0":"2026-07-10T23:00:37.288Z","1.2.1":"2026-07-11T01:05:20.086Z","1.2.2":"2026-09-23T19:42:29.856Z"},"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-sms","keywords":["audio","dsp","time-stretch","sms","sinusoidal","partial-tracking","serra","mcaulay-quatieri"],"repository":{"url":"git+https://github.com/audiojs/stretch.git","type":"git","directory":"packages/stretch-sms"},"description":"Sinusoidal Modeling Synthesis time stretching — harmonic/tonal material","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/stretch-sms\n\nSinusoidal Modeling Synthesis (Serra 1989, McAulay-Quatieri 1986). Decomposes audio into individually tracked sinusoidal partials and resynthesizes at the new time rate — frequency and magnitude of each partial interpolated independently, no bin-by-bin smearing.\n\n```js\nimport sms from '@audio/stretch-sms'\n\nsms(data, { factor: 2 })\nsms(data, { factor: 0.5, maxTracks: 80 })\n```\n\n| Param | Default | |\n|---|---|---|\n| `factor` | `1` | Time stretch ratio |\n| `frameSize` | `2048` | FFT frame size |\n| `hopSize` | `frameSize/4` | Hop between frames |\n| `maxTracks` | `60` | Max simultaneous sinusoidal tracks |\n| `minMag` | `1e-4` | Peak detection threshold (linear) |\n| `freqDev` | `3` | Max frequency deviation (bins) for track continuation |\n| `residualMix` | `1` | Stochastic residual blended into output |\n\n**Use when:** harmonic / tonal content — instruments, chords, vocals — where the phase vocoder smears.<br>\n**Not for:** noise-dominated material.\n\nPart of [`@audio/stretch`](../..).\n\n## License\n\n[MIT](./LICENSE) · [ॐ](https://github.com/krishnized/license/)\n","readmeFilename":"README.md"}