{"_id":"@audio/mir-melody","_rev":"5-e0eb8fbe04997d605c95dd42b71f61b3","name":"@audio/mir-melody","dist-tags":{"latest":"1.1.3"},"versions":{"1.0.0":{"name":"@audio/mir-melody","version":"1.0.0","keywords":["audio","dsp","mir","melody"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/mir-melody@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":"38038fe02a14c53f6d362c4bd71203a3b93d415a","tarball":"https://registry.npmjs.org/@audio/mir-melody/-/mir-melody-1.0.0.tgz","fileCount":2,"integrity":"sha512-3yX8h9LlR2TikdprMU2tL6OpkxyGj/zlvAkCQz024uYcTE3jqblJMkRZzJIcTwoLdkCqF7t8XYwPcGw+g+jPtA==","signatures":[{"sig":"MEQCIDhnG756ELCWnaGX/MQN8VGilIlGAvfkikmhTV71ST8cAiBNW2/82ctBthSYI3f126v9DGCpEoMp0OLB4jFs32Ir4g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1545},"main":"melody.js","type":"module","engines":{"node":">=18"},"exports":{".":"./melody.js","./package.json":"./package.json"},"gitHead":"59e2811439a5d077fcfce741bae3e4090cecffe8","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Melody contour — frame-level F0 track via YIN with voicing (MIREX melody shape)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/pitch-yin":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mir-melody_1.0.0_1783540387458_0.25576281422618385","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@audio/mir-melody","version":"1.1.0","keywords":["audio","dsp","mir","melody"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/mir-melody@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":"fcd1fb4d0533153378b4ca919c69c24f7380c833","tarball":"https://registry.npmjs.org/@audio/mir-melody/-/mir-melody-1.1.0.tgz","fileCount":3,"integrity":"sha512-3apo3snSAN8ZKG4XTRHf/eBULuStY3oeXm9FcGehO8r27noE6yB+6Gfcl/dNPupGG9jp2tVyEESjYYQpBC/rjQ==","signatures":[{"sig":"MEUCIQDh4nIBpaUP65THMiH34iwNIXCTyf7mJPkFBNf40d+pGQIgd66lrhgHpRnI0yejYn/cDpcpsiWLdEb9J3uxtiofU0U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2086},"main":"melody.js","type":"module","engines":{"node":">=18"},"exports":{".":"./melody.js","./stat":"./stat.js","./package.json":"./package.json"},"gitHead":"6623c86ac3c629314143d5df1ec488783d26bdc9","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Melody contour — frame-level F0 track via YIN with voicing (MIREX melody shape)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/pitch-yin":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mir-melody_1.1.0_1783635223555_0.13199614469763166","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@audio/mir-melody","version":"1.1.1","keywords":["audio","dsp","mir","melody"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/mir-melody@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":"f33a935744da6ef062a98d0c1510d126a199bb79","tarball":"https://registry.npmjs.org/@audio/mir-melody/-/mir-melody-1.1.1.tgz","fileCount":3,"integrity":"sha512-/X68o3Q4DH7Pi6QuRqDj64PzwTywyMCfKbxctHuWSaJ43P8O/402dFEsn8sDqrsJHhgjiIbA3oKgeII+tYGFmw==","signatures":[{"sig":"MEUCIFLisaxY0mdH6f0X4zIScyJtngX1gpPBb1aASfp/9a6HAiEAxmjSfNE3S3i0Mdt4AwUrW9vno5IecH6eDmB8Mi8KNSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2114},"main":"melody.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./melody.js","./audio":"./audio.js","./package.json":"./package.json"},"gitHead":"c8329c9ec6cd79f0a16a922bd8270de827441a84","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"Melody contour — frame-level F0 track via YIN with voicing (MIREX melody shape)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/pitch-yin":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mir-melody_1.1.1_1783644981109_0.6075504153222724","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@audio/mir-melody","version":"1.1.2","keywords":["audio","dsp","mir","melody"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/mir-melody@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":"3a521a40c67aecdf7e8122e952f63802d1baa83d","tarball":"https://registry.npmjs.org/@audio/mir-melody/-/mir-melody-1.1.2.tgz","fileCount":4,"integrity":"sha512-0vh01R2GxKygreGx86fUXfjS16MyGyiJ114eUQkZ1oVZ9+/3V1fUYB5vWd4LKBhihpWwJ2LrHklM9UHXuek+CQ==","signatures":[{"sig":"MEYCIQC7iEPxl/88u5rSscWDhlVX3wEblb4b1M5hHoLT3770AQIhAMdO4ZqjjIJaA2EEKUW4TAADFE/7zILL6DKiX10oXHGY","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3191},"main":"melody.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./melody.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":"Melody contour — frame-level F0 track via YIN with voicing (MIREX melody shape)","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","dependencies":{"@audio/pitch-yin":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/mir-melody_1.1.2_1783701762368_0.3339359075617836","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@audio/mir-melody","version":"1.1.3","description":"Melody contour — frame-level F0 track via YIN with voicing (MIREX melody shape)","type":"module","sideEffects":false,"main":"melody.js","exports":{".":"./melody.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"dependencies":{"@audio/pitch-yin":"^1.0.0"},"keywords":["audio","dsp","mir","melody"],"license":"MIT","author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"engines":{"node":">=18"},"publishConfig":{"access":"public"},"audio":"./audio.js","repository":{"type":"git","url":"git+https://github.com/audiojs/mir.git","directory":"packages/mir-melody"},"funding":"https://github.com/sponsors/audiojs","types":"index.d.ts","gitHead":"92646d93d32b77e5219d245361ffbcb361ff683e","_id":"@audio/mir-melody@1.1.3","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-xRmtD4tRq74a7kBpKM9B55KS99e7YXIpleQ3yhYyqXPYbQtEw/Tao1SKKHqWxA0Fju5ouw1Qu1EED9aFkFnUOA==","shasum":"3cc160b5afb4bb089241413a2da3bb7093f5fa24","tarball":"https://registry.npmjs.org/@audio/mir-melody/-/mir-melody-1.1.3.tgz","fileCount":6,"unpackedSize":5101,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCevAG7l+kMBZy6VEP6e1ZpXZPgu4l0u3sosr3JLurKOAIgHLKmV7dUcXp+coVmTfxhxmCd1Jj7VuzFY0kC5Mg6P0E="}]},"_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-melody_1.1.3_1783731683888_0.44714192834319455"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T19:53:07.339Z","modified":"2026-07-11T01:01:24.158Z","1.0.0":"2026-07-08T19:53:07.590Z","1.1.0":"2026-07-09T22:13:43.690Z","1.1.1":"2026-07-10T00:56:21.247Z","1.1.2":"2026-07-10T16:42:42.512Z","1.1.3":"2026-07-11T01:01:24.029Z"},"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","keywords":["audio","dsp","mir","melody"],"description":"Melody contour — frame-level F0 track via YIN with voicing (MIREX melody shape)","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/mir-melody\n\n> Melody contour — frame-level F0 track via YIN with voicing flags (MIREX melody-extraction shape).\n\n`npm install @audio/mir-melody`\n\n```js\nimport melody from '@audio/mir-melody'\n\nlet { times, f0, voiced } = melody(data, { fs: 44100 })\n// times: Float32Array (s, frame centers) · f0: Float32Array (Hz, 0 = unvoiced) · voiced: Uint8Array (0|1)\n```\n\nOne frame per hop; `f0[i]` is only meaningful where `voiced[i] === 1` (unvoiced frames are left at 0, not NaN).\n\nOptions: - `fs` — sample rate (default 44100, Hz) · `frameSize` — YIN analysis window, samples (default 2048) · `hop` — frame hop, samples (default 512) · `threshold` — passed through to `@audio/pitch-yin`'s YIN threshold (default from `@audio/pitch-yin`)\n\n**Use when:** tracking a single predominant pitch line (vocal/lead) over time; for chords or polyphony use `@audio/mir-multif0`.\n\nAlso exported as an `audio.js` stat manifest (`./audio`).\n\nPart of [@audio/mir](https://github.com/audiojs/mir).\n","readmeFilename":"README.md","homepage":"https://github.com/audiojs/mir#readme","repository":{"type":"git","url":"git+https://github.com/audiojs/mir.git","directory":"packages/mir-melody"},"bugs":{"url":"https://github.com/audiojs/mir/issues"}}