{"_id":"@audio/mir-coversong","_rev":"6-d904afcbd08999a200681e93a063017e","name":"@audio/mir-coversong","dist-tags":{"latest":"1.1.4"},"versions":{"1.0.0":{"name":"@audio/mir-coversong","version":"1.0.0","keywords":["audio","dsp","mir","coversong"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/mir-coversong@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":"24d8fbe8ecad67599d1b8498c7abb5245aa88e95","tarball":"https://registry.npmjs.org/@audio/mir-coversong/-/mir-coversong-1.0.0.tgz","fileCount":3,"integrity":"sha512-p+415td4F/IxuwBUcuWIQ5iy8OPCiV6bOYCTsHTL2aAS5OAnTGbQ5dD+pflBPHW/jdhnz8VCTcmw84WhCi6JZg==","signatures":[{"sig":"MEQCIBJsqhhIHXkT4R2/9eEL2hWwY1RueH0ec2eYf0N7vRk0AiBBp4VMfQfDvb9pi1D+5ha+270jao6KYjtAf9p7OBPhBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3109},"main":"coversong.js","type":"module","engines":{"node":">=18"},"exports":{".":"./coversong.js","./package.json":"./package.json"},"gitHead":"3fa448fe0cd6bd1a997bb33703b4b99e684ba8cb","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Cover song identification — recognize the same composition across performances","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/mir-chroma":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mir-coversong_1.0.0_1783548382951_0.6006020028016477","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@audio/mir-coversong","version":"1.1.0","keywords":["audio","dsp","mir","coversong"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/mir-coversong@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":"acc223297f2671f2bb3c6e53f73c97ef61c2b510","tarball":"https://registry.npmjs.org/@audio/mir-coversong/-/mir-coversong-1.1.0.tgz","fileCount":4,"integrity":"sha512-x0WeSQijhux+gD7SH5r/nqqzBjz0dAHB0IA4YPN0y2Sp/DIfABWy/tyRGgrstBRb9mmOGPh37JX/I8X8cyy0Ng==","signatures":[{"sig":"MEQCIFKbUzR9d+8SCTKl+u5HaVXjxiepAdNHD2b5wt2grzPIAiBvMEtvuIH4PBOR8U21Qq1/lmeuj/Y6bshaz+u9GzBZFQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3979},"main":"coversong.js","type":"module","engines":{"node":">=18"},"exports":{".":"./coversong.js","./stat":"./stat.js","./package.json":"./package.json"},"gitHead":"6623c86ac3c629314143d5df1ec488783d26bdc9","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Cover song identification — recognize the same composition across performances","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/mir-chroma":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mir-coversong_1.1.0_1783635236776_0.3485251786223833","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@audio/mir-coversong","version":"1.1.1","keywords":["audio","dsp","mir","coversong"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/mir-coversong@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":"c0e3af57fb3ee0cd7b26a10071814f444f0294f0","tarball":"https://registry.npmjs.org/@audio/mir-coversong/-/mir-coversong-1.1.1.tgz","fileCount":4,"integrity":"sha512-8g4JjCe+znHOpBXZe8/em++8fJ+/FLlHQMw2ysYb9LwSkBXiLltoCyYXOeeLBLoWj9ZC6/z8hIi1FFq73LrHtQ==","signatures":[{"sig":"MEUCIBiP9Z5sqeNUOy2ksaJVargfdX6XFSoeHDnPXLSeBqEPAiEAqU7B4+EDw4EA4itkGR/tgsXM0dv2wX87KCM0/j2xcsA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4007},"main":"coversong.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./coversong.js","./audio":"./audio.js","./package.json":"./package.json"},"gitHead":"c8329c9ec6cd79f0a16a922bd8270de827441a84","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Cover song identification — recognize the same composition across performances","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/mir-chroma":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mir-coversong_1.1.1_1783644974097_0.13579303045155022","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@audio/mir-coversong","version":"1.1.2","keywords":["audio","dsp","mir","coversong"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/mir-coversong@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":"74395feb208ac2a32adb7495ec7be84edf9cf04d","tarball":"https://registry.npmjs.org/@audio/mir-coversong/-/mir-coversong-1.1.2.tgz","fileCount":5,"integrity":"sha512-2V7/FQhRQzzOHparge4ZkDs5LpiwSszJ5V8ymJtUDaByf6oFAY1zejtBeSjp13w5CX/pI0RgUmCGNYGtlzmstw==","signatures":[{"sig":"MEUCIDJNGfLLT8Ie6fFfJ9Tcl7iBPaukj0rNb+ei2v9jgOsXAiEA17nP9Zfi6O9V3pBzKvOn8kK2e9Y0/3b69frU0dvP2ck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5096},"main":"coversong.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./coversong.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":"Cover song identification — recognize the same composition across performances","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/mir-chroma":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mir-coversong_1.1.2_1783701753737_0.481643551928705","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@audio/mir-coversong","version":"1.1.3","keywords":["audio","dsp","mir","coversong"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/mir-coversong@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":"ac48f8bb8f7286dfe215fa75bef8eabdb56a4843","tarball":"https://registry.npmjs.org/@audio/mir-coversong/-/mir-coversong-1.1.3.tgz","fileCount":5,"integrity":"sha512-nDzyAbHw4rRjM6TmHUGKZIuLd8104PRp3dPOpWufoN5ACx1Y2sG5VIWp49tBaYU55WO9RfmcmmyI0XpaPsOSXQ==","signatures":[{"sig":"MEUCIQDvr658NcWUzaVDZMmYcM2ZKdnNZxsOOFZeyYHptyENmQIgdoADR5uDA5DeyF2aotfeAULV0dF3ezRlgPaauYVNtz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5790},"main":"coversong.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./coversong.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-coversong"},"_npmVersion":"11.12.1","description":"Cover song identification — recognize the same composition across performances","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/mir-chroma":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mir-coversong_1.1.3_1783726302841_0.12220968937254462","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@audio/mir-coversong","version":"1.1.4","description":"Cover song identification — recognize the same composition across performances","type":"module","sideEffects":false,"keywords":["audio","dsp","mir","coversong"],"license":"MIT","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"engines":{"node":">=18"},"main":"coversong.js","exports":{".":"./coversong.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"dependencies":{"@audio/mir-chroma":"^1.0.0"},"publishConfig":{"access":"public"},"audio":"./audio.js","repository":{"type":"git","url":"git+https://github.com/audiojs/mir.git","directory":"packages/mir-coversong"},"funding":"https://github.com/sponsors/audiojs","types":"index.d.ts","gitHead":"92646d93d32b77e5219d245361ffbcb361ff683e","_id":"@audio/mir-coversong@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-4wId7eTyvkp9KdRy0cJXSv7Ed7Alc76FiF/5gA7c9r06R8zR7XWPM7m4+/YgMmMPsR7tnIjJFWQb0wSLSLKJ0Q==","shasum":"7bab5f2e1d45d1a24236f82685d057c86bcb8440","tarball":"https://registry.npmjs.org/@audio/mir-coversong/-/mir-coversong-1.1.4.tgz","fileCount":6,"unpackedSize":6466,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDsqtXnY8g9bYUCQ1OWFj2BHHEeVfacNDUl5bNIR9oyrwIhANZRpXeRl7V1vS/oTta+Rzns/MmNBpV9ayEpFFi9Ms9R"}]},"_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-coversong_1.1.4_1783731672065_0.6322036945651708"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T22:06:22.730Z","modified":"2026-07-11T01:01:12.324Z","1.0.0":"2026-07-08T22:06:23.068Z","1.1.0":"2026-07-09T22:13:56.908Z","1.1.1":"2026-07-10T00:56:14.229Z","1.1.2":"2026-07-10T16:42:33.882Z","1.1.3":"2026-07-10T23:31:42.983Z","1.1.4":"2026-07-11T01:01:12.208Z"},"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","coversong"],"repository":{"type":"git","url":"git+https://github.com/audiojs/mir.git","directory":"packages/mir-coversong"},"description":"Cover song identification — recognize the same composition across performances","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/mir-coversong\n\n> Cover song identification — frame-chroma sequences compared after Optimal Transposition Index alignment (Ellis 2007 lineage); recognizes a composition through key changes, re-orchestration and level differences.\n\n`npm install @audio/mir-coversong`\n\n```js\nimport coversong from '@audio/mir-coversong'\n\nlet r = coversong(takeA, takeB, { fs: 44100 })\n// { score: 0..1 (mean cosine at best alignment), transposition: semitones b→a, lag: frames }\n```\n\nOptions: - `fs` — sample rate (default 44100, Hz) · `maxLag` — search window as a fraction of the shorter sequence (default 0.5)\n\nAlso exported as an `audio.js` stat manifest (`./audio` — pass the comparison take as `{ ref }`).\n\nPart of [@audio/mir](https://github.com/audiojs/mir).\n","readmeFilename":"README.md"}