{"_id":"@audio/loudness-dr","_rev":"6-b8873e310e04fe94991bcb1a08b8a3dd","name":"@audio/loudness-dr","dist-tags":{"latest":"1.1.4"},"versions":{"1.0.0":{"name":"@audio/loudness-dr","version":"1.0.0","keywords":["audio","dsp","loudness","dr"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/loudness-dr@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":"1d659ea6755bf6fb4900751ad1cae9503cafadd4","tarball":"https://registry.npmjs.org/@audio/loudness-dr/-/loudness-dr-1.0.0.tgz","fileCount":2,"integrity":"sha512-aVChXE3xZRGnncMo+lFf3XretbZ3LXXXammbI8sHdNiqrSVg36e3yYlYazrfhTUP7+qoTtsXyME0LyEZEQ35aA==","signatures":[{"sig":"MEUCIQDmlt8BEp/mNgEfHbTldkZalAOrprBfXHLbzt3F6GMINAIgLqimWr1NtAgpXu2L6yYN719ALlymfFs2Mml/QfDgZUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1924},"main":"dr.js","type":"module","engines":{"node":">=18"},"exports":{".":"./dr.js","./package.json":"./package.json"},"gitHead":"57f912670580667ee3cdf589f74c1d0da6b2fd8d","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"DR value — TT/dr14 crest-factor dynamic range meter","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/loudness-dr_1.0.0_1783540301710_0.28720620432865984","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@audio/loudness-dr","version":"1.1.0","keywords":["audio","dsp","loudness","dr"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/loudness-dr@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":"fce807093bc3442dab652794a7a5aa1170b543c8","tarball":"https://registry.npmjs.org/@audio/loudness-dr/-/loudness-dr-1.1.0.tgz","fileCount":3,"integrity":"sha512-dpgZw3kuNeyulehDHDEhMpmAIeyIbBLre/g8gA9QpOcn98RJv/Xy9eohrmje/ffXvxIm9L3jjiKU+zH032BqqQ==","signatures":[{"sig":"MEYCIQCA1/xes/x+mtena+N4LaUuAS6ePUnSjWGM/moxiYUx4wIhAObCUzTFJ5NtujiXBH1VictSTeD7s9kKAtE6hNVGrNfE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2350},"main":"dr.js","type":"module","engines":{"node":">=18"},"exports":{".":"./dr.js","./stat":"./stat.js","./package.json":"./package.json"},"gitHead":"59b7fab5a0251b492134f3fbcc8fd9b2ea32dad8","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"DR value — TT/dr14 crest-factor dynamic range meter","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/loudness-dr_1.1.0_1783635207412_0.08139423243388211","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@audio/loudness-dr","version":"1.1.1","keywords":["audio","dsp","loudness","dr"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/loudness-dr@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":"0d939f22d4731c458f7319f58e088bf9fff8668c","tarball":"https://registry.npmjs.org/@audio/loudness-dr/-/loudness-dr-1.1.1.tgz","fileCount":3,"integrity":"sha512-VOLFqxIgdRMjWQDx46cXtbJx/Tzqa+IM+bT36WA91vbCWxITDsQRCiwFnQd2pV64OuxM3w9e40xTt9q1HVFaGQ==","signatures":[{"sig":"MEYCIQCSQVGOlguqp+w2BHm6DAlCYjD50Yz7N4uVk+q8CuLYlAIhAKrRe/+rffPeeMuIBAKlURxqWJ4IS3p7QTsifnqMRmCc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2378},"main":"dr.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./dr.js","./audio":"./audio.js","./package.json":"./package.json"},"gitHead":"158a5506cc97179e6c26624e123eb3477ef0c4fc","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"DR value — TT/dr14 crest-factor dynamic range meter","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/loudness-dr_1.1.1_1783645082919_0.09411503759641326","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@audio/loudness-dr","version":"1.1.2","keywords":["audio","dsp","loudness","dr"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/loudness-dr@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":"1dcb992b17c64b66b1bd2fb1add8a6278c2d809f","tarball":"https://registry.npmjs.org/@audio/loudness-dr/-/loudness-dr-1.1.2.tgz","fileCount":4,"integrity":"sha512-FrnNWZ57Gm2inIEWcLy6wZ36ymgGWELBLeX/68z9wrW5J03CHvZSaeEgNkHLKMjNSAGLxafpvux+B6R0hFPCjw==","signatures":[{"sig":"MEQCIHMLpi/hdkmOsq5Zpqkde9dvuX2uuEj+jwfJkhUduMoWAiAeld5cdoWTbT4cX0KTyZyF6aWXgJwJOmOcxjbBFxwWuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3439},"main":"dr.js","type":"module","audio":"./audio.js","engines":{"node":">=18"},"exports":{".":"./dr.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"gitHead":"5e020a9f267b93903da1a1f8bf3060637e35ad95","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"_npmVersion":"11.12.1","description":"DR value — TT/dr14 crest-factor dynamic range meter","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/loudness-dr_1.1.2_1783701740655_0.4150704476286031","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@audio/loudness-dr","version":"1.1.3","keywords":["audio","dsp","loudness","dr"],"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","_id":"@audio/loudness-dr@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/loudness#readme","bugs":{"url":"https://github.com/audiojs/loudness/issues"},"dist":{"shasum":"ef7d255db50d97de889c97df7db03051f09b8b7c","tarball":"https://registry.npmjs.org/@audio/loudness-dr/-/loudness-dr-1.1.3.tgz","fileCount":6,"integrity":"sha512-el9ldC1BYnl3UnA72dSixlnQvwoNQeJQ7BrY1cbWAXqc3qZ1HZ/M/Rz9QzOh92KbcCRjNSSk+MeuVdhdHfTeag==","signatures":[{"sig":"MEYCIQDXK9iI94BqHc9bfvKVHAe5CkAn/wly0sq9PKQAbMHWzQIhAPJhFkpyUG/rGE9HVt61TR2DXn81hWMLinOOkIDSkFDa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6026},"main":"dr.js","type":"module","audio":"./audio.js","types":"index.d.ts","engines":{"node":">=18"},"exports":{".":"./dr.js","./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"funding":"https://github.com/sponsors/audiojs","gitHead":"54e53fc3ef0ffbcb2c428053a323bef99715a825","_npmUser":{"name":"dy","email":"df.creative@gmail.com"},"repository":{"url":"git+https://github.com/audiojs/loudness.git","type":"git","directory":"packages/loudness-dr"},"_npmVersion":"11.12.1","description":"DR value — TT/dr14 crest-factor dynamic range meter","directories":{},"sideEffects":false,"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/loudness-dr_1.1.3_1783731621928_0.717234516373684","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@audio/loudness-dr","version":"1.1.4","description":"DR value — TT/dr14 crest-factor dynamic range meter","type":"module","sideEffects":false,"main":"dr.js","exports":{".":{"types":"./index.d.ts","default":"./dr.js"},"./audio":{"types":"./audio.d.ts","default":"./audio.js"},"./package.json":"./package.json"},"types":"index.d.ts","keywords":["audio","dsp","loudness","dr"],"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/loudness.git","directory":"packages/loudness-dr"},"funding":"https://github.com/sponsors/audiojs","gitHead":"095c2c3d8c55523252e4ac64a90aa98ee3616bfe","_id":"@audio/loudness-dr@1.1.4","bugs":{"url":"https://github.com/audiojs/loudness/issues"},"homepage":"https://github.com/audiojs/loudness#readme","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-/7m0fLfmUEhJV3ndh9rFJMKv/v7GmL7KuvsrzHtA2PWd52ZZhIKy33ZvOaQWXyLWfNmop4RR9jXFch58FYoDnw==","shasum":"8b45f61a434500d71b686f09c5e8cbed16f719bf","tarball":"https://registry.npmjs.org/@audio/loudness-dr/-/loudness-dr-1.1.4.tgz","fileCount":6,"unpackedSize":6082,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCcSqfRfF7yjKVynaEkyVdxrdRzb1vZu4ogLYj1btjuBAIhAMeT7NYjGeF7kBV4Dmp5LJU3wMMB/f+dRcDgI91Z5vfD"}]},"_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/loudness-dr_1.1.4_1787019259400_0.8205182172288037"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-08T19:51:41.553Z","modified":"2026-08-18T02:14:19.685Z","1.0.0":"2026-07-08T19:51:41.849Z","1.1.0":"2026-07-09T22:13:27.556Z","1.1.1":"2026-07-10T00:58:03.062Z","1.1.2":"2026-07-10T16:42:20.829Z","1.1.3":"2026-07-11T01:00:22.059Z","1.1.4":"2026-08-18T02:14:19.533Z"},"bugs":{"url":"https://github.com/audiojs/loudness/issues"},"author":{"name":"Dmitry Iv.","email":"dfcreative@gmail.com"},"license":"MIT","homepage":"https://github.com/audiojs/loudness#readme","keywords":["audio","dsp","loudness","dr"],"repository":{"type":"git","url":"git+https://github.com/audiojs/loudness.git","directory":"packages/loudness-dr"},"description":"DR value — TT/dr14 crest-factor dynamic range meter","maintainers":[{"name":"jamen","email":"jamenmarz@gmail.com"},{"name":"dfcreative","email":"df.creative@gmail.com"},{"name":"dy","email":"df.creative@gmail.com"}],"readme":"# @audio/loudness-dr [![npm](https://img.shields.io/npm/v/@audio/loudness-dr)](https://www.npmjs.com/package/@audio/loudness-dr) [![MIT](https://img.shields.io/badge/MIT-%E0%A5%90-white)](https://github.com/krishnized/license)\n\nDR value — TT/dr14 crest-factor dynamic range meter\n\n```\nnpm install @audio/loudness-dr\n```\n\n```js\nimport dr from '@audio/loudness-dr'\n```\n\nDR value per the TT (\"Foobar2000 Dynamic Range Meter\") / DR14 method used by the Pleasurize Music Foundation — **not** an EBU/BS.1770 measure, despite living in this loudness family. Per channel: split into 3 s blocks, compute block RMS with the ×2 sine convention (a full-scale sine reads 0 dB) and block peak; `DR_ch = 20·log10(secondHighestPeak / rms-of-loudest-20%-blocks)`. The final value is the average across channels.\n\n```js\ndr(channels)                        // default 3 s blocks @ 48000 Hz\ndr(channels, { blockSeconds: 1 })   // shorter blocks for brief material\n```\n\n| Param | Default | |\n|---|---|---|\n| `fs` | `48000` | Sample rate, Hz |\n| `blockSeconds` | `3` | Analysis block length, seconds |\n\nAccepts `Float32Array` (mono) or `Float32Array[]` (multichannel — DR is computed per channel and averaged). Returns a `number` (DR value in dB), or `null` if no channel yields at least 2 blocks.\n\n**Use when:** mastering QC — flag over-compressed/over-limited masters (the \"loudness war\" DR14 badge popularized by the Pleasurize Music Foundation and the foobar2000/TT meter).\n\nPer the TT/DR14 dynamic range meter specification (Pleasurize Music Foundation), not EBU Tech 3342 — see `@audio/loudness-lra` for the EBU loudness-range measure.\n\n---\n\nPart of [@audio/loudness](https://github.com/audiojs/loudness) — the loudness family umbrella. Documented from the reference implementation.\n\nMIT © [audiojs](https://github.com/audiojs)\n","readmeFilename":"README.md"}