{"_id":"bpm-detective","_rev":"13-4008f83028e4ed67551d84f6ba7cf690","name":"bpm-detective","time":{"modified":"2022-06-13T05:03:16.487Z","created":"2015-08-29T18:40:07.280Z","1.0.0":"2015-08-29T18:40:07.280Z","1.0.1":"2015-08-29T18:48:13.737Z","2.0.0":"2016-05-19T22:05:03.158Z","2.0.1":"2016-05-19T22:18:41.831Z","2.0.2":"2017-09-05T07:47:19.760Z","2.0.3":"2017-09-06T13:07:15.918Z","2.0.4":"2021-01-25T12:15:24.556Z","2.0.5":"2021-07-26T10:51:07.286Z"},"maintainers":[{"name":"tornqvist","email":"carl@tornqv.ist"}],"dist-tags":{"latest":"2.0.5"},"description":"Detects the BPM of a song or audio sample","readme":"# bpm-detective\n\n> Detects the BPM of a song or audio sample\n\nThis module uses the [Web Audio API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API) to try and detect the BPM of a given sound. You can find more on the implementation and how it works by reading the blog post [Beat Detection Using JavaScript and the Web Audio API](http://joesul.li/van/beat-detection-using-web-audio/) which happens to be where I got most of the code.\n\n## Install\n\n```bash\n$ npm install --save bpm-detective\n```\n\n## Usage\n\nThe module exports one function. The function takes an [AudioBuffer](https://developer.mozilla.org/en-US/docs/Web/API/AudioBuffer) as its only argument. It *returns the detected BPM*. If the sample was too short or if, for any other reason, the detection failed, the method *throws an error*.\n\n```javascript\nimport detect from 'bpm-detective'\n\nconst AudioContext = window.AudioContext || window.webkitAudioContext\nconst context = new AudioContext()\n\n// Fetch some audio file\nfetch('some/audio/file.wav').then(async function (response) {\n  // Get response as ArrayBuffer\n  const buffer = await response.arrayBuffer()\n\n  // Decode audio into an AudioBuffer\n  const data = await new Promise(function (resolve, reject) {\n    context.decodeAudioData(buffer, resolve, reject)\n  });\n\n  // Run detection\n  const bpm = detect(data)\n  alert(`Detected BPM: ${bpm}`)\n}).catch(console.error)\n```\n\n### Disclaimer\n\nThe detection presumes you are working with dance(-ish) kind of music and as so looks only in the 90-180 BPM spectrum.\n\n## License\nMIT\n","versions":{"1.0.1":{"name":"bpm-detective","version":"1.0.1","description":"Detects the BPM of a song or audio sample","main":"index.js","config":{"port":3000,"reminder":"\u001b[41m\u001b[37mEnsure that the server is running => \"npm run serve\".\u001b[39m\u001b[49m"},"scripts":{"postinstall":"babel lib/detect.js -o index.js --source-maps --stage 0 --modules umdStrict","pretest":"echo ${npm_package_config_reminder} && npm run build:test","test":"open http://localhost:${npm_package_config_port}","posttest":"npm run lint","lint":"eslint ./","serve":"serve ./test -p ${npm_package_config_port}","watch:test":"nodemon -w lib -w test -i test/*.bundle.js -x 'npm run build:test'","build:test":"browserify -d -t [babelify --stage 0] -e test/program.js --o test/program.bundle.js"},"repository":{"type":"git","url":"git+https://github.com/tornqvist/bpm-detective.git"},"keywords":["detect","audio","bpm","sound","music"],"author":{"name":"Carl Törnqvist","email":"calle.tornqvist@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/tornqvist/bpm-detective/issues"},"homepage":"https://github.com/tornqvist/bpm-detective#readme","devDependencies":{"babel-eslint":"^4.0.7","babelify":"^6.2.0","browserify":"^11.0.1","eslint":"^1.0.0","nodemon":"^1.4.1","serve":"^1.4.0","tape":"^4.0.1"},"dependencies":{"babel":"^5.8.23"},"gitHead":"bd581f74b240257ddf1710634656aeadd1479126","_id":"bpm-detective@1.0.1","_shasum":"9375a87d30dad143592ea19a354684d288599e5e","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"tornqvist","email":"calle.tornqvist@gmail.com"},"dist":{"shasum":"9375a87d30dad143592ea19a354684d288599e5e","tarball":"https://registry.npmjs.org/bpm-detective/-/bpm-detective-1.0.1.tgz","integrity":"sha512-gvQ+NNeLONEvUO3gf+HW1L+IHAlbD5+L62rBDxAptCp/IaDR5l7oO6JUXD967gXF7PLRr9pIJO8U0xIGer47jQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEaiVcMSf3g3bC7r3l6qSatvdXZCUEFKxKgiZ9rbblHAIgU75+KoOb1xFMSMjmllrmiuyzzejS+S9rhrn9WDfpOrE="}]},"maintainers":[{"name":"tornqvist","email":"calle.tornqvist@gmail.com"}],"directories":{}},"2.0.0":{"name":"bpm-detective","version":"2.0.0","description":"Detects the BPM of a song or audio sample","main":"lib/index.js","scripts":{"prepublish":"npm run build -s && npm run minify -s","test":"browserify test/program.js -t [ babelify --presets es2015 ] -t brfs | tape-run -b chrome","posttest":"npm run lint","build":"babel src/ -d lib/ --presets es2015","minify":"browserify lib/index.js --standalone DetectBPM | uglifyjs > dist/bpm-detective.js","lint":"eslint ./"},"repository":{"type":"git","url":"git+https://github.com/tornqvist/bpm-detective.git"},"keywords":["detect","audio","bpm","sound","music"],"author":{"name":"Carl Törnqvist","email":"calle.tornqvist@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/tornqvist/bpm-detective/issues"},"homepage":"https://github.com/tornqvist/bpm-detective#readme","devDependencies":{"babel-cli":"^6.4.5","babel-preset-es2015":"^6.3.13","babelify":"^7.2.0","brfs":"^1.4.3","browserify":"^13.0.0","eslint":"^1.10.3","tape":"^4.0.1","tape-run":"^2.1.3","uglify-js":"^2.4.24"},"gitHead":"b4226132a6020975e7b878132ddf147ce41051c8","_id":"bpm-detective@2.0.0","_shasum":"eb5bdbbf564d34f0453150030aa28949a77af8b3","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.0","_npmUser":{"name":"tornqvist","email":"calle.tornqvist@gmail.com"},"dist":{"shasum":"eb5bdbbf564d34f0453150030aa28949a77af8b3","tarball":"https://registry.npmjs.org/bpm-detective/-/bpm-detective-2.0.0.tgz","integrity":"sha512-m8l14cJRel8HadQm2XfGHfRzSGTd8CH5D2SoHbldAH4S9hiE42g7CuW+Ow/6MWnwKNOywU11t6CvqYQ36njUSw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCj+JU3V38W6hEGr3qJnA8p4u3fBrZwiFBvz1/dZyub4QIhAPdO5nuNt678KtHNZ/1gl/ynKdkw7CK4QbYIpF9lQKxx"}]},"maintainers":[{"name":"tornqvist","email":"calle.tornqvist@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/bpm-detective-2.0.0.tgz_1463695499288_0.5220730449073017"},"directories":{}},"2.0.1":{"name":"bpm-detective","version":"2.0.1","description":"Detects the BPM of a song or audio sample","main":"lib/index.js","scripts":{"prepublish":"npm run build -s && npm run minify -s","test":"browserify test/program.js -t [ babelify --presets es2015 ] -t brfs | tape-run -b chrome","posttest":"npm run lint","build":"babel src/ -d lib/ --presets es2015","minify":"browserify lib/index.js --standalone DetectBPM | uglifyjs > dist/bpm-detective.js","lint":"eslint ./"},"repository":{"type":"git","url":"git+https://github.com/tornqvist/bpm-detective.git"},"keywords":["detect","audio","bpm","sound","music"],"author":{"name":"Carl Törnqvist","email":"calle.tornqvist@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/tornqvist/bpm-detective/issues"},"homepage":"https://github.com/tornqvist/bpm-detective#readme","devDependencies":{"babel-cli":"^6.4.5","babel-preset-es2015":"^6.3.13","babelify":"^7.2.0","brfs":"^1.4.3","browserify":"^13.0.0","eslint":"^1.10.3","tape":"^4.0.1","tape-run":"^2.1.3","uglify-js":"^2.4.24"},"gitHead":"e39eda510b1a1b7f4b460f97cbbb56b63fca228e","_id":"bpm-detective@2.0.1","_shasum":"e6302cc0d646b3be3ce8d193fc2d19d4378ea82e","_from":".","_npmVersion":"3.8.6","_nodeVersion":"5.11.0","_npmUser":{"name":"tornqvist","email":"calle.tornqvist@gmail.com"},"dist":{"shasum":"e6302cc0d646b3be3ce8d193fc2d19d4378ea82e","tarball":"https://registry.npmjs.org/bpm-detective/-/bpm-detective-2.0.1.tgz","integrity":"sha512-WkyYYCJZoRZKFKmJ3W5fdwAUsaWRdYOuwshuDw9NGHWH1Cz/kes36t4sLeietHZZpj+kRdtCRCfORU3i5zVQQA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB8wjxPCA97RirsWRGYDQpQK30uSFnkvXpERalgACIr+AiEAmNqCxdJOBO6iEiuf1GH9hIF2ZON+WR16VVj2xnGKYGI="}]},"maintainers":[{"name":"tornqvist","email":"calle.tornqvist@gmail.com"}],"_npmOperationalInternal":{"host":"packages-16-east.internal.npmjs.com","tmp":"tmp/bpm-detective-2.0.1.tgz_1463696317871_0.4248774820007384"},"directories":{}},"2.0.2":{"name":"bpm-detective","version":"2.0.2","description":"Detects the BPM of a song or audio sample","main":"lib/index.js","scripts":{"prepublish":"npm run build -s && npm run minify -s","test":"browserify test/program.js -t [ babelify --presets es2015 ] -t brfs | tape-run -b chrome","posttest":"npm run lint","build":"babel src/ -d lib/ --presets es2015","minify":"browserify lib/index.js --standalone DetectBPM | uglifyjs > dist/bpm-detective.js","lint":"eslint ./"},"repository":{"type":"git","url":"git+https://github.com/tornqvist/bpm-detective.git"},"keywords":["detect","audio","bpm","sound","music"],"author":{"name":"Carl Törnqvist","email":"calle.tornqvist@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/tornqvist/bpm-detective/issues"},"homepage":"https://github.com/tornqvist/bpm-detective#readme","devDependencies":{"babel-cli":"^6.4.5","babel-preset-es2015":"^6.3.13","babelify":"^7.2.0","brfs":"^1.4.3","browserify":"^13.0.0","eslint":"^1.10.3","tape":"^4.0.1","tape-run":"^2.1.3","uglify-js":"^2.4.24"},"gitHead":"08a85ebc8107c8f1e8c14ff33b5881d5579d9f44","_id":"bpm-detective@2.0.2","_npmVersion":"5.3.0","_nodeVersion":"8.4.0","_npmUser":{"name":"tornqvist","email":"calle.tornqvist@gmail.com"},"dist":{"integrity":"sha512-9qMuXzU0CMy9fHFORlybukCZKoj3XmvZScXu26I/fzZqibk1+Is0tOjqbBjExN9mLdHc6BKyCBEGtWA0mcyeBg==","shasum":"79ee2859f8a98f9ac49b52d59bc5030514bb1606","tarball":"https://registry.npmjs.org/bpm-detective/-/bpm-detective-2.0.2.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHJuhZOt7qDpCXgVNoXZT2ntopgFXK8u59EEdRWgW9BkAiEAuwI8oJAXRwWmXkQFlt3cvhNYDbAyHdGsqcMC8QFS9qM="}]},"maintainers":[{"name":"tornqvist","email":"calle.tornqvist@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bpm-detective-2.0.2.tgz_1504597638884_0.6875032209791243"},"directories":{}},"2.0.3":{"name":"bpm-detective","version":"2.0.3","description":"Detects the BPM of a song or audio sample","main":"lib/index.js","scripts":{"prepublish":"npm run build -s && npm run minify -s","test":"browserify test/program.js -t [ babelify --presets es2015 ] -t brfs | tape-run -b chrome","posttest":"npm run lint","build":"babel src/ -d lib/ --presets es2015","minify":"browserify lib/index.js --standalone DetectBPM | uglifyjs > dist/bpm-detective.js","lint":"eslint ./"},"repository":{"type":"git","url":"git+https://github.com/tornqvist/bpm-detective.git"},"keywords":["detect","audio","bpm","sound","music"],"author":{"name":"Carl Törnqvist","email":"calle.tornqvist@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/tornqvist/bpm-detective/issues"},"homepage":"https://github.com/tornqvist/bpm-detective#readme","devDependencies":{"babel-cli":"^6.4.5","babel-preset-es2015":"^6.3.13","babelify":"^7.2.0","brfs":"^1.4.3","browserify":"^13.0.0","eslint":"^1.10.3","tape":"^4.0.1","tape-run":"^2.1.3","uglify-js":"^2.4.24"},"gitHead":"0b0eb7d669adeed75c64bfde9d4533bed4effbcc","_id":"bpm-detective@2.0.3","_npmVersion":"5.3.0","_nodeVersion":"8.3.0","_npmUser":{"name":"tornqvist","email":"calle.tornqvist@gmail.com"},"dist":{"integrity":"sha512-w8yTC2ENo9UACbIVGxQtq0FSle2xF/otC8wHmn32ZAW4rkOYzHgHaMgIPvVSYle7IxYbuIddKlKXs+v1cI5VCQ==","shasum":"cb60a6d48de947e5dc6e573747938df259a3858b","tarball":"https://registry.npmjs.org/bpm-detective/-/bpm-detective-2.0.3.tgz","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDf7kEXHqseIT+6P+W9s8M02iwuPhxM/6qx5ND53KZVHQIgcwQZSYfDLDzLM3hTlDxwbK28r3yVplGTzfMYC91/M64="}]},"maintainers":[{"name":"tornqvist","email":"calle.tornqvist@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bpm-detective-2.0.3.tgz_1504703235010_0.7043981701135635"},"directories":{}},"2.0.4":{"name":"bpm-detective","version":"2.0.4","description":"Detects the BPM of a song or audio sample","main":"lib/index.js","scripts":{"prepublish":"npm run build -s && npm run minify -s","test":"browserify test/program.js -t [ babelify --presets es2015 ] -t brfs | tape-run -b chrome","posttest":"npm run lint","build":"babel src/ -d lib/ --presets es2015","minify":"browserify lib/index.js --standalone DetectBPM | uglifyjs > dist/bpm-detective.js","lint":"eslint ./"},"repository":{"type":"git","url":"git+https://github.com/tornqvist/bpm-detective.git"},"keywords":["detect","audio","bpm","sound","music"],"author":{"name":"Carl Törnqvist","email":"calle.tornqvist@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/tornqvist/bpm-detective/issues"},"homepage":"https://github.com/tornqvist/bpm-detective#readme","devDependencies":{"babel-cli":"^6.4.5","babel-preset-es2015":"^6.3.13","babelify":"^7.2.0","brfs":"^1.4.3","browserify":"^13.0.0","eslint":"^1.10.3","tape":"^4.0.1","tape-run":"^2.1.3","uglify-js":"^2.4.24"},"gitHead":"4fa4811e60ee0c92ef0dbeccc7c07340ad128c93","_id":"bpm-detective@2.0.4","_nodeVersion":"14.15.3","_npmVersion":"6.14.9","dist":{"integrity":"sha512-ifAz9qASe8V0Tn6UuoCrMFQvy+vslHHE5PVazfLmvhNblHHD/vkHi1aAn2jyiMOQlWiUgDu0s4uq+C2FP0N9UQ==","shasum":"f56b23df6ba97af6754da70ceb3264a0cbaab34d","tarball":"https://registry.npmjs.org/bpm-detective/-/bpm-detective-2.0.4.tgz","fileCount":6,"unpackedSize":17124,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDrZcCRA9TVsSAnZWagAASjoP/3kVfDqD5Jg7U8Ea9ZMx\nY+IPkDzCrFKCpkIL49g0Gyeq7YfeGI+LtyDt3KVKAxPboFIHit0mOVgyjDD2\nAoQEeS7UOxg/aZOUruVzklrKceqxKMybsRkkCk5fqPeWX8tH10zgRhKMP6aH\nsIZCyqkckpz2X/r55vVSd8u9of/a10pxZHWZCk+UWM5yvClTPeSAG3WXLoto\nVRvzMjzgnPZQKL3O8r2e1OVxMzpGABUy1De8M4RYqIZFQlu+q+5shGEam2gF\nlbdVTzqrWcqkPQ02yBH984U6pbUp0b8Jm5d/esYRuGSpwd7cR64kKP99vHlc\nzVSdbnStN89FUB3vs65K1op/YI2BnJ3kmuS6cCoJpPDw0gTqXeq9NVmTxh0q\njkR5TL0eRw+60rj9kaUf+ietyZCrku4D+irnWHnBVkhBNM//RGKa90nvKa2p\n3FTeeKzB99j2njZMsLqA5EMFlKWkmzx5QZyLCZ08VXZDTzElHsw10strV9xF\nJRzvbZCIL4q6X3emt0E1lGBK8QJ4AANLOGtzMUB4x3bIbKKAk58Nbcpd+Hnt\nAKW1Fh8jAEIFX86yQKsBll2dp9MjhUmsEOaxM5nqiUyUqlecXWUxDOiCI3dw\n0cUl4mRkj6KcnmBkh0vcdidzlJ1sotH+syfG5UV30JmMfS9Fv9QlN5BZKzGv\nkA9z\r\n=HRPD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCA1iO57dpWcy1I4z66jSKdUELVvqpB/WSNWHrMWBJAOwIhAITcKXir7O0s0GfxpS21CDxM3VTN4BTzBXW4SWRscgE1"}]},"_npmUser":{"name":"tornqvist","email":"carl@tornqv.ist"},"directories":{},"maintainers":[{"name":"tornqvist","email":"carl@tornqv.ist"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bpm-detective_2.0.4_1611576924432_0.4736966669661704"},"_hasShrinkwrap":false},"2.0.5":{"name":"bpm-detective","version":"2.0.5","description":"Detects the BPM of a song or audio sample","main":"lib/index.js","scripts":{"prepublish":"npm run build -s && npm run minify -s","test":"browserify test/program.js -t [ babelify --presets es2015 ] -t brfs | tape-run -b chrome","posttest":"npm run lint","build":"babel src/ -d lib/ --presets es2015","minify":"browserify lib/index.js --standalone DetectBPM | uglifyjs > dist/bpm-detective.js","lint":"eslint ./"},"repository":{"type":"git","url":"git+https://github.com/tornqvist/bpm-detective.git"},"keywords":["detect","audio","bpm","sound","music"],"author":{"name":"Carl Törnqvist","email":"calle.tornqvist@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/tornqvist/bpm-detective/issues"},"homepage":"https://github.com/tornqvist/bpm-detective#readme","devDependencies":{"babel-cli":"^6.4.5","babel-preset-es2015":"^6.3.13","babelify":"^7.2.0","brfs":"^1.4.3","browserify":"^13.0.0","eslint":"^1.10.3","tape":"^4.0.1","tape-run":"^2.1.3","uglify-js":"^2.4.24"},"gitHead":"0dea3dbbb4dfc6e4dbabf6f9afc0e4cc1bd9bf74","_id":"bpm-detective@2.0.5","_nodeVersion":"16.3.0","_npmVersion":"7.15.1","dist":{"integrity":"sha512-FaHFT5WDCR5zwtjVTqxk01o2MDaf22ORHityX1lxMamBcVNX6NWXB6hw7nx4fmlEseRMv0xfuSybINZylljLfA==","shasum":"0c969600b737c3d63aabf193e083c7ac45b36a24","tarball":"https://registry.npmjs.org/bpm-detective/-/bpm-detective-2.0.5.tgz","fileCount":6,"unpackedSize":17112,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg/pObCRA9TVsSAnZWagAAy98P/1VOu4/sWrmN4vMWUPBI\nn1RAGUub8tdTbhYyIbkkHRo/tBEbNM5z4YEkcmmqN3R2nfmZ1qbXGFqzpfqd\nXjnhZr6k/R0H2+cFtKXDD9N498CJYQqYes8E09+PqyAcCSGgi3yyufWN9V2k\nZeWeBh8pqMWuQl+dPuaHt5ova79PuxipfOo8c6fT2VgilOEukMO7PDJKzLyb\nuZSscuJvB/KKLztAlgM6dx/IJdsvV+Q7KclJ2+xuaLlOZt53jXOZDEhsdYda\n1Vw6v/STEOSUFW0Ad9+ZgT57k8z50yOMyDrJ9WJS/Box8zXjgtW1AzJTt9PX\nJ+7i3arnQk2JnyLKR1hWrIr9a8pNW4IDMOtZIXifE/RWznOovZ6pwXdTiIU/\nIsVqw0aX9gjyY8YgFn3x/F4bcFvt6RW6TPn7MoNfz0w+9yqyePwX577VmhsO\nKvYdHhJj//lByz0X805NiOsY9w/WKXpbz1Od/plxAIdLd4flGQMAc7sH/lJR\nC1ToT7Ws21rTd9mXsqXOvFijz6BjyLLAvmDV548nrf0aA/nY65aVUtHzqetW\nzhzX3C4hxTOVqUEipDhc/C5nydIuh1fy96GAlod3X1BJfOe8fYJ1+cFStjtY\ncNnH3MHO1p31hy5mwdnj4otvS9YrvTYmZAqcmnefKOnaIQ6zVS1U6YcxvWDC\nxJs1\r\n=UDdp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICWDRdxwsIvkP2rIMxTyN09373RGjXW+SI4YsQTCMLviAiEAi4pDV5WfCI0PeTHQgefNH5YFjZNN5t9mucu/ns3TLP8="}]},"_npmUser":{"name":"tornqvist","email":"carl@tornqv.ist"},"directories":{},"maintainers":[{"name":"tornqvist","email":"carl@tornqv.ist"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/bpm-detective_2.0.5_1627296667178_0.1591169075226071"},"_hasShrinkwrap":false}},"homepage":"https://github.com/tornqvist/bpm-detective#readme","keywords":["detect","audio","bpm","sound","music"],"repository":{"type":"git","url":"git+https://github.com/tornqvist/bpm-detective.git"},"author":{"name":"Carl Törnqvist","email":"calle.tornqvist@gmail.com"},"bugs":{"url":"https://github.com/tornqvist/bpm-detective/issues"},"license":"MIT","readmeFilename":"README.md","users":{"rchk":true}}