{"_id":"@audio/spectral-zcr","_rev":"3-3faee74079bb19252fe8875b23ed354e","name":"@audio/spectral-zcr","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"@audio/spectral-zcr","version":"1.0.0","keywords":["audio","dsp","spectral","features","zcr","zero-crossing-rate"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/spectral-zcr@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/spectral/tree/main/packages/spectral-zcr","bugs":{"url":"https://github.com/audiojs/spectral/issues"},"dist":{"shasum":"d791f32fc91c1429c1156663d08ff0c8c81a6c4d","tarball":"https://registry.npmjs.org/@audio/spectral-zcr/-/spectral-zcr-1.0.0.tgz","fileCount":3,"integrity":"sha512-NTyiY16vCmKtDvQF3AXhviRDjeiY9f6bDapyNMzguMm21ah55aC8ux6IOth36o95tp+beQszV7+frx5r6x2ZhA==","signatures":[{"sig":"MEQCIG8KZq4i0QYwVDPzMkP/amxTqQiIXphJzbLKlJP9rwnZAiADvCdLK/oI1XqmT2vPU95wUCQO4dCFbveVNgfRhX852A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2413},"main":"zcr.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./zcr.js","./audio":"./audio.js","./package.json":"./package.json"},"gitHead":"b4077a4f931c647dc20ff7d6e82b612391de1a77","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/spectral.git","type":"git","directory":"packages/spectral-zcr"},"_npmVersion":"11.12.1","description":"Zero-crossing rate — per-frame sign-change fraction (librosa zero_crossing_rate class)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spectral-zcr_1.0.0_1783694042588_0.2248972224996466","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@audio/spectral-zcr","version":"1.0.1","keywords":["audio","dsp","spectral","features","zcr","zero-crossing-rate"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/spectral-zcr@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/spectral/tree/main/packages/spectral-zcr","bugs":{"url":"https://github.com/audiojs/spectral/issues"},"dist":{"shasum":"8812f24bf0fe9af60cf8b6b1866b979556662da2","tarball":"https://registry.npmjs.org/@audio/spectral-zcr/-/spectral-zcr-1.0.1.tgz","fileCount":4,"integrity":"sha512-JXN+O0OQOBRrUR2yoKjun4RYDj71sVvjpEhbx2OJieKxyQnXsjjGu3fEX3ZMSsnmtW4p2R/4PPU9W10aChTBWQ==","signatures":[{"sig":"MEUCIGXlcyqr5M0kTIiMw7E4kL3farGN0Cpi1c+uV8QrgekjAiEAmMpDZZ8ZF4a5aATXzeaW3KCyAhnFetY/lrsvvUboTE8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3478},"main":"zcr.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./zcr.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"gitHead":"e8fc5c606da9a5786768cb46d0141910604689e1","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/spectral.git","type":"git","directory":"packages/spectral-zcr"},"_npmVersion":"11.12.1","description":"Zero-crossing rate — per-frame sign-change fraction (librosa zero_crossing_rate class)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/spectral-zcr_1.0.1_1783701831224_0.22516151979789112","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@audio/spectral-zcr","version":"1.0.2","description":"Zero-crossing rate — per-frame sign-change fraction (librosa zero_crossing_rate class)","type":"module","sideEffects":false,"main":"zcr.js","exports":{".":"./zcr.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"keywords":["audio","dsp","spectral","features","zcr","zero-crossing-rate"],"license":"MIT","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"repository":{"type":"git","url":"git+https://github.com/audiojs/spectral.git","directory":"packages/spectral-zcr"},"homepage":"https://github.com/audiojs/spectral/tree/main/packages/spectral-zcr","bugs":{"url":"https://github.com/audiojs/spectral/issues"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"types":"index.d.ts","audio":"./audio.js","funding":"https://github.com/sponsors/audiojs","gitHead":"0bf461273c2acb2401ff9842afec35a43fd05a9a","_id":"@audio/spectral-zcr@1.0.2","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-Iz8KH7+brmq4gRTLFxbOfOLWj+Fqi14Qs00KoN4tB5RNGSTRe83bnSSN1cVlnOGLPvfdSEtNP386n3RX5Hzylw==","shasum":"718b8b3731bb53965ccd05339593bd2c6c55825a","tarball":"https://registry.npmjs.org/@audio/spectral-zcr/-/spectral-zcr-1.0.2.tgz","fileCount":6,"unpackedSize":4673,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDIHqzp/l8GTZxyuozbcLJhJyKFa7YtbY2iiv9gFC8RswIhAMOe0Ay1lI/7aZE0zbKnS0mB6JnccFTAP8LqG1Mh8DUi"}]},"_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"directories":{},"maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/spectral-zcr_1.0.2_1783731899937_0.11027728544415516"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-10T14:34:02.437Z","modified":"2026-07-11T01:05:00.264Z","1.0.0":"2026-07-10T14:34:02.771Z","1.0.1":"2026-07-10T16:43:51.362Z","1.0.2":"2026-07-11T01:05:00.087Z"},"bugs":{"url":"https://github.com/audiojs/spectral/issues"},"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","homepage":"https://github.com/audiojs/spectral/tree/main/packages/spectral-zcr","keywords":["audio","dsp","spectral","features","zcr","zero-crossing-rate"],"repository":{"type":"git","url":"git+https://github.com/audiojs/spectral.git","directory":"packages/spectral-zcr"},"description":"Zero-crossing rate — per-frame sign-change fraction (librosa zero_crossing_rate class)","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/spectral-zcr\n\n> Zero-crossing rate — fraction of consecutive samples whose sign differs (librosa `zero_crossing_rate` class).\n\n`npm install @audio/spectral-zcr`\n\n```js\nimport zcr from '@audio/spectral-zcr'\n\nlet r = zcr(frame)   // 0…1, sign-change fraction over the frame\n```\n\nTime-domain, not spectral — no FFT, takes raw PCM directly. `−0` counts as negative (matches\nlibrosa's `np.signbit`), so a hard-zero sample still registers a crossing against a preceding\npositive sample. High ZCR marks noisy/fricative/percussive content; low ZCR marks tonal/voiced\ncontent.\n\nNo options — `zcr(data)` takes only the signal.\n\nAlso exported as an `audio.js` stat manifest (`./audio` — mono-fold, 2048/512 frames, unwindowed, averaged over the take).\n\nPart of [@audio/spectral](https://github.com/audiojs/spectral).\n","readmeFilename":"README.md"}