{"_id":"@audio/mir-downbeat","_rev":"6-4ecdceb78d18b17cb1fee34388248bce","name":"@audio/mir-downbeat","dist-tags":{"latest":"1.1.4"},"versions":{"1.0.0":{"name":"@audio/mir-downbeat","version":"1.0.0","keywords":["audio","dsp","mir","downbeat"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/mir-downbeat@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":"8952858ed1014c3c85f051375661f252ce6efcb0","tarball":"https://registry.npmjs.org/@audio/mir-downbeat/-/mir-downbeat-1.0.0.tgz","fileCount":3,"integrity":"sha512-OBvlsCN9Ag9ACEtztcjdOWIHDc6q5qH7JClB/UiXS09YZYmea2ncKy1TllnWFk4hLlfrSiv39hthuYLLPs/Wpg==","signatures":[{"sig":"MEUCIDk8bnLCiTgNkzTLcegKlBG49I8cISpqSjqWS21Lnmu/AiEAt+dmKdb/Uoidz5gGVHwNbk14MGgBuSu14IDrUm4eA7o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3363},"main":"downbeat.js","type":"module","engines":{"node":">=18"},"exports":{".":"./downbeat.js","./package.json":"./package.json"},"gitHead":"3fa448fe0cd6bd1a997bb33703b4b99e684ba8cb","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Downbeat estimation — locate the bar-level \"1\" within a beat grid","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/mir-chroma":"^1.0.0","fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mir-downbeat_1.0.0_1783548385613_0.69262052018587","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@audio/mir-downbeat","version":"1.1.0","keywords":["audio","dsp","mir","downbeat"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/mir-downbeat@1.1.0","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"dist":{"shasum":"858f91b99c1054f88fafa778cfa4186d8629dafa","tarball":"https://registry.npmjs.org/@audio/mir-downbeat/-/mir-downbeat-1.1.0.tgz","fileCount":4,"integrity":"sha512-UXiX4POA6oo0knSjsxZ4at2bq8EFOwqHQkPStvQDojUBJCSBU20nsxhpckhHxH2m2pw2LeIm4XDALBYdmcj0EA==","signatures":[{"sig":"MEYCIQCM/azRpQrY7Nd4ZmThqGtEBUWcsCg1Kr8959UP1BM/NAIhAJ1hEJPyWzYnMFM54na7BZ+jc/ZJurC9qbazyDjWC1jj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3899},"main":"downbeat.js","type":"module","engines":{"node":">=18"},"exports":{".":"./downbeat.js","./stat":"./stat.js","./package.json":"./package.json"},"gitHead":"6623c86ac3c629314143d5df1ec488783d26bdc9","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Downbeat estimation — locate the bar-level \"1\" within a beat grid","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/mir-chroma":"^1.0.0","fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mir-downbeat_1.1.0_1783635225661_0.3544436976015368","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@audio/mir-downbeat","version":"1.1.1","keywords":["audio","dsp","mir","downbeat"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/mir-downbeat@1.1.1","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"dist":{"shasum":"1c05ed3f34353266271c31a83c8a08f43b7f5a5c","tarball":"https://registry.npmjs.org/@audio/mir-downbeat/-/mir-downbeat-1.1.1.tgz","fileCount":4,"integrity":"sha512-RVxnAqPHwoQpmw7kmU5RjABQXIiN8KI+e8uqJTIbZhex0JcEB5JTqudZoePE4Gn7Oda6Og/Scs/nXMstIvUN0g==","signatures":[{"sig":"MEUCIC+Ai9tJHVubcVVGdiP/zEYX2X76PqieE5PHuB6RGkipAiEAnEzVXewicGFY8m1xnA47yqTMbyWoXkt0D05DlwMxPTk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3927},"main":"downbeat.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./downbeat.js","./audio":"./audio.js","./package.json":"./package.json"},"gitHead":"c8329c9ec6cd79f0a16a922bd8270de827441a84","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Downbeat estimation — locate the bar-level \"1\" within a beat grid","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/mir-chroma":"^1.0.0","fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mir-downbeat_1.1.1_1783644975720_0.35092660289281885","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@audio/mir-downbeat","version":"1.1.2","keywords":["audio","dsp","mir","downbeat"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/mir-downbeat@1.1.2","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"dist":{"shasum":"0561412ffa5ce2b1654e6b9e9dd046edb858b04b","tarball":"https://registry.npmjs.org/@audio/mir-downbeat/-/mir-downbeat-1.1.2.tgz","fileCount":5,"integrity":"sha512-fkb4GFNtMyR1/VfD7MwgKSS1Ex81OdI92f8Tzy4EJEsM6PlMq+Gt0C1jV+p1bHw1hPvYIEfsQCYgpZ2/JcDPLw==","signatures":[{"sig":"MEUCIQDpwOv8BUORqfRgOnbpSBTYXIMHAPNKAQ1MQC6cghEGfQIgRsynjlT/OheqYXrrlk+n56dY6ZD49zwZCr0jxJrNrgg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5012},"main":"downbeat.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./downbeat.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"gitHead":"d4fe4b5049989b7900c4b734f72dfd381ad8c23f","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Downbeat estimation — locate the bar-level \"1\" within a beat grid","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/mir-chroma":"^1.0.0","fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mir-downbeat_1.1.2_1783701755921_0.10088408735892251","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@audio/mir-downbeat","version":"1.1.3","keywords":["audio","dsp","mir","downbeat"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/mir-downbeat@1.1.3","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/mir#readme","bugs":{"url":"https://github.com/audiojs/mir/issues"},"dist":{"shasum":"5f32d7e245c49440185ae248cdc49cce6e7a0204","tarball":"https://registry.npmjs.org/@audio/mir-downbeat/-/mir-downbeat-1.1.3.tgz","fileCount":5,"integrity":"sha512-/p0DOY47YFkd8oaJyi6UVkQ5mNCfl3I7fI2fOvsQ4aRUHSBkTL+NYiHt7RIPvSurdJljUCmuDqbJbOXgCr9bMQ==","signatures":[{"sig":"MEUCIAk6NVfSUZ0IZRpaZCOCY0S/3QqzNhnDtYEsFIsQwpKqAiEAhEUjjVp7e09aLwSvyM32Tm7CUCBO5YY1yrt/ETWhDTs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5681},"main":"downbeat.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./downbeat.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"gitHead":"93085dd0c0423a8e35b609771c07d7c146aeb66e","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/mir.git","type":"git","directory":"packages/mir-downbeat"},"_npmVersion":"11.12.1","description":"Downbeat estimation — locate the bar-level \"1\" within a beat grid","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/mir-chroma":"^1.0.0","fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mir-downbeat_1.1.3_1783726304816_0.2462185094520799","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@audio/mir-downbeat","version":"1.1.4","description":"Downbeat estimation — locate the bar-level \"1\" within a beat grid","type":"module","sideEffects":false,"keywords":["audio","dsp","mir","downbeat"],"license":"MIT","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"engines":{"node":">=18"},"main":"downbeat.js","exports":{".":"./downbeat.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"dependencies":{"@audio/mir-chroma":"^1.0.0","fourier-transform":"^2.3.0"},"publishConfig":{"access":"public"},"audio":"./audio.js","repository":{"type":"git","url":"git+https://github.com/audiojs/mir.git","directory":"packages/mir-downbeat"},"funding":"https://github.com/sponsors/audiojs","types":"index.d.ts","gitHead":"92646d93d32b77e5219d245361ffbcb361ff683e","_id":"@audio/mir-downbeat@1.1.4","bugs":{"url":"https://github.com/audiojs/mir/issues"},"homepage":"https://github.com/audiojs/mir#readme","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-X09QskLUNbNi3ADoI4NSfS2CGTmUYVFPYX8r8S9k50sb1A/UnhAx2s9YLpRPQdcvgXEv0ZngCi8RNi4LkwPpZw==","shasum":"407933b145a488b9e84d48d45868344b4ec83573","tarball":"https://registry.npmjs.org/@audio/mir-downbeat/-/mir-downbeat-1.1.4.tgz","fileCount":6,"unpackedSize":6538,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDVciTR1ET54T8DxoJp38Xx/FYEcxNOVJ/6sB4hwN/V9wIhANDA9qfyuCLMF/QUm+AWqIyJSZonRIIxYu73ON42rGRb"}]},"_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/mir-downbeat_1.1.4_1783731674428_0.03746717070784045"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T22:06:25.438Z","modified":"2026-07-11T01:01:14.704Z","1.0.0":"2026-07-08T22:06:25.749Z","1.1.0":"2026-07-09T22:13:45.818Z","1.1.1":"2026-07-10T00:56:15.843Z","1.1.2":"2026-07-10T16:42:36.053Z","1.1.3":"2026-07-10T23:31:44.947Z","1.1.4":"2026-07-11T01:01:14.572Z"},"bugs":{"url":"https://github.com/audiojs/mir/issues"},"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","homepage":"https://github.com/audiojs/mir#readme","keywords":["audio","dsp","mir","downbeat"],"repository":{"type":"git","url":"git+https://github.com/audiojs/mir.git","directory":"packages/mir-downbeat"},"description":"Downbeat estimation — locate the bar-level \"1\" within a beat grid","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/mir-downbeat\n\n> Downbeat estimation — scores each candidate bar phase by bass energy, onset strength and chroma flux summed over its beats; best phase wins.\n\n`npm install @audio/mir-downbeat`\n\n```js\nimport downbeat from '@audio/mir-downbeat'\n\nlet r = downbeat(data, { beats, fs: 44100 })   // beats: number[] (s) from a beat tracker, e.g. @audio/beat\n// { downbeats: number[], phase: number, meter: number, confidence: 0..1 }\n```\n\nOptions: - `beats` — beat times in seconds (required, throws `RangeError` if omitted) · `meter` — beats per bar (default 4) · `fs` — sample rate (default 44100, Hz)\n\nAlso exported as an `audio.js` stat manifest (`./audio`).\n\nPart of [@audio/mir](https://github.com/audiojs/mir).\n","readmeFilename":"README.md"}