{"_id":"@ben-hayes/magenta-music","_rev":"6-d6222ec94ff7d855676a93edd8b1ebb6","name":"@ben-hayes/magenta-music","dist-tags":{"latest":"1.12.6"},"versions":{"1.12.0":{"name":"@ben-hayes/magenta-music","version":"1.12.0","description":"Make music with machine learning, in the browser.","main":"es5/index.js","module":"es6/index.js","types":"es5/index.d.ts","jsdelivr":"dist/magentamusic.js","unpkg":"dist/magentamusic.js","dependencies":{"@tensorflow/tfjs":"^1.1.2","fft.js":"^4.0.3","midiconvert":"^0.4.7","ndarray-resample":"^1.0.1","protobufjs":"^6.8.6","staffrender":"^0.2.1","tonal":"^2.0.0","tone":"^13.8.21"},"devDependencies":{"@types/clone":"^0.1.30","@types/d3":"^5.7.0","@types/file-saver":"^1.3.0","@types/ndarray":"^1.0.6","@types/tape":"^4.2.32","@types/webmidi":"^2.0.2","audio-recorder-polyfill":"^0.1.2","browserify":"^14.4.0","clang-format":"^1.2.3","clone":"^1.0.4","d3":"^5.8.0","file-saver":"^1.3.8","file-saver-typescript":"^1.0.1","http-server":"^0.11.1","in-publish":"^2.0.0","minimist":"^1.2.0","node-fetch":"^2.6.0","tape":"^4.9.0","terser-webpack-plugin":"^1.4.1","ts-loader":"^5.3.0","ts-node":"^5.0.1","tsify":"^3.0.4","tslint":"^5.9.1","typedoc":"^0.14.2","typedoc-plugin-sourcefile-url":"^1.0.3","typescript":"^3.3.3333","webpack":"^4.24.0","webpack-cli":"^3.1.2","webpack-dev-server":"^3.1.14","webpack-node-externals":"^1.7.2"},"scripts":{"prepublish":"in-publish && yarn lint && yarn test && yarn build && yarn test-node-build || not-in-publish","build:es5":"webpack --config ./webpack/es5.lib.config.ts","build:es6":"webpack --config webpack/es6.config.ts && cp src/protobuf/proto.* es6/protobuf","build:node":"webpack --config webpack/node.config.ts && cp src/protobuf/proto.* node/protobuf","build:clean":"rm -rf ./es5 && rm -rf ./es6 && rm -rf ./node && rm -rf ./dist","build":"npm run build:clean && npm run build:es5 && npm run build:node && npm run build:es6","lint":"tslint -c ../tslint.json -p ./tsconfig.es5.json -t verbose","test":"ts-node node_modules/tape/bin/tape src/**/*_test.ts","test-node-build":"ts-node node_modules/tape/bin/tape build_tests/node.ts","build-demos":"webpack --config ./webpack/es5.demo.config.ts","run-demos":"webpack-dev-server --config ./webpack/es5.demo.config.ts","serve-demos":"http-server demos/","serve-dist":"http-server dist/","proto":"sh ./scripts/compile-proto.sh","docs":"sh ../scripts/generate-docs.sh 'music'"},"author":{"name":"Magenta"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/tensorflow/magenta-js.git"},"bugs":{"url":"https://github.com/tensorflow/magenta-js/issues"},"homepage":"https://github.com/tensorflow/magenta-js#readme","_id":"@ben-hayes/magenta-music@1.12.0","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-CaoBNy02ihQgdphhCeFv2KyqJU+F/mcJoRkgK8a6XupjDzDh4u54XNkYsRLPabFXJDCgdws/Y5y/NmJ4M26Svw==","shasum":"63198752839e6f533975558bbe8aae5e2a536cc0","tarball":"https://registry.npmjs.org/@ben-hayes/magenta-music/-/magenta-music-1.12.0.tgz","fileCount":204,"unpackedSize":7534391,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeEOUcCRA9TVsSAnZWagAAAZ0P/1AZJvC0PlTzsDBp/Gw2\nXn/nAVa+1QZ1mCzC8P4QLoOBebS97ItipSHMPhGaUZMPjUGQ6bhqYPFkvb5x\nnscn9I0jmKjuDP6k8thwgZRN+88qd2IVQy00S2V4/6oV1DBf8WU2z82lcTIz\nRQMhh1gxPA7NBmOymx6UHv6bPMmQVvRWEC0XHzTpCbD+OnQMCdaqYhCfOCBm\nfR671H7n8RIgadAQXm5hEnCl3mJNKBj1Wi63XDT1h1fCPVFvMr/S1zikpmXv\nwGHw1hyUecrkCG2SYtTDCjckAlbKZtT12rOpCTR+s/uWD52vu6+4BCCJVyFX\nl7kXGWzt1LnzhS9/G5i+sFCcXbrACD21Ztux9HmArjH+LqhjUaE0YgAWBAa9\nSN317vrmpQVK7y2spF3lheex1Ieo/5JQ+kNr150c+xM+efUL3Z4GVdMST6kA\nO8BoejuasdSyzFrNpKyxWSUEE3bxPunm1Mc6YZWwsh4TjMLEYO+6QVNLi1zh\nyXuKmNEH66HYRE94NVW9Tf6GDlFpBmD11LrTPcASlXFc+6wQrH7rJuY+nrWg\nlkstAUwxEUTNBI10sOqNw85oNNx6mAIxrVqwZlIAU8Ftu9debC6sNJauddgD\nYZGHRDdHQQzPFwix+mkqB3ZKPSrfTHjhXLvihOPFVNzXldXIxN+vpp6sGYaW\nG2rr\r\n=Agvi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCr2p4Tq5cYqmceB4dsKOrtMqD3TlvFgskHdwyA+wnLaAIgNjJ/Y+dyQr3zBJk8ACcJJSCzPbDw4lx+1zTL33jbxhg="}]},"maintainers":[{"name":"ben-hayes","email":"ben@benhayes.net"}],"_npmUser":{"name":"ben-hayes","email":"ben@benhayes.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/magenta-music_1.12.0_1578165532026_0.23157014834258893"},"_hasShrinkwrap":false},"1.12.1":{"name":"@ben-hayes/magenta-music","version":"1.12.1","description":"Make music with machine learning, in the browser.","main":"es5/index.js","module":"es6/index.js","types":"es5/index.d.ts","jsdelivr":"dist/magentamusic.js","unpkg":"dist/magentamusic.js","dependencies":{"@tensorflow/tfjs":"^1.1.2","fft.js":"^4.0.3","midiconvert":"^0.4.7","ndarray-resample":"^1.0.1","protobufjs":"^6.8.6","staffrender":"^0.2.1","tonal":"^2.0.0","tone":"^13.8.21"},"devDependencies":{"@types/clone":"^0.1.30","@types/d3":"^5.7.0","@types/file-saver":"^1.3.0","@types/ndarray":"^1.0.6","@types/tape":"^4.2.32","@types/webmidi":"^2.0.2","audio-recorder-polyfill":"^0.1.2","browserify":"^14.4.0","clang-format":"^1.2.3","clone":"^1.0.4","d3":"^5.8.0","file-saver":"^1.3.8","file-saver-typescript":"^1.0.1","http-server":"^0.11.1","in-publish":"^2.0.0","minimist":"^1.2.0","node-fetch":"^2.6.0","tape":"^4.9.0","terser-webpack-plugin":"^1.4.1","ts-loader":"^5.3.0","ts-node":"^5.0.1","tsify":"^3.0.4","tslint":"^5.9.1","typedoc":"^0.14.2","typedoc-plugin-sourcefile-url":"^1.0.3","typescript":"^3.3.3333","webpack":"^4.24.0","webpack-cli":"^3.1.2","webpack-dev-server":"^3.1.14","webpack-node-externals":"^1.7.2"},"scripts":{"prepublish":"in-publish && yarn lint && yarn test && yarn build && yarn test-node-build || not-in-publish","build:es5":"webpack --config ./webpack/es5.lib.config.ts","build:es6":"webpack --config webpack/es6.config.ts && cp src/protobuf/proto.* es6/protobuf","build:node":"webpack --config webpack/node.config.ts && cp src/protobuf/proto.* node/protobuf","build:clean":"rm -rf ./es5 && rm -rf ./es6 && rm -rf ./node && rm -rf ./dist","build":"npm run build:clean && npm run build:es5 && npm run build:node && npm run build:es6","lint":"tslint -c ../tslint.json -p ./tsconfig.es5.json -t verbose","test":"ts-node node_modules/tape/bin/tape src/**/*_test.ts","test-node-build":"ts-node node_modules/tape/bin/tape build_tests/node.ts","build-demos":"webpack --config ./webpack/es5.demo.config.ts","run-demos":"webpack-dev-server --config ./webpack/es5.demo.config.ts","serve-demos":"http-server demos/","serve-dist":"http-server dist/","proto":"sh ./scripts/compile-proto.sh","docs":"sh ../scripts/generate-docs.sh 'music'"},"author":{"name":"Magenta"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/tensorflow/magenta-js.git"},"bugs":{"url":"https://github.com/tensorflow/magenta-js/issues"},"homepage":"https://github.com/tensorflow/magenta-js#readme","_id":"@ben-hayes/magenta-music@1.12.1","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-5JENlWAGwEBjrXeKLywgQJT7DJN1x2jG0iAUc4ag59zqheLK2I1eiN7bKPnfGBiYVgTScn9PFhWYsoFqZhxIzA==","shasum":"06c6983ec0b8dd00cc02e708c6699801201df399","tarball":"https://registry.npmjs.org/@ben-hayes/magenta-music/-/magenta-music-1.12.1.tgz","fileCount":204,"unpackedSize":7534822,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeEOkFCRA9TVsSAnZWagAArokP/jInC8fecd5e52difTNs\niiWnaFLlGYUWxcAP0bsKRfAm1d1VQSbwExDcFN8mvKzbZkH1g4oEcAR+p8iN\nkAEvjohdnz5BkbaE8kf5paNwnW/GvnKk+SHTULyXPGiyzamDITp9MJXIfZ1k\neCmfVzaVnVUfTbu6GxCj/eFDKw+KbuEgccpc4O1OzmADoNsjsMM1Jy7rYcbT\nKO1wnsPsjIAbqk8UB9V8r3rCiiJuWE5ekWzNKZtV+hX1emLaANc7mO3wVFTZ\nwJjruktcmMo0hcc1+PInd8tqXZkc9CapAGLVRCO9iC3T2gczHwuV5l3SO/hr\nvOIYN+tUqTbdq6D2hSXNJiZJD4EzbLXqXxmcUchKS9g8MF9RnK3Fa0AKu8/q\n3KE3gwfmJWZrHoq3QarxiyIHR+7zLgHlAyoDjDIVWKbwntijWufqkTCoI/fG\n9eWDSlInKG7iJxuMBhRBQR3GUDFVy83JXBgEmTCI/cVZ4yPmx/0o5R0ZDy5p\nmPlaU2+4A707ucxA8uknRqw1EDe9qsv7nxGQWQrdMa59Vx+nRA1Q6A6kkzwo\nHCsKkO4Clh1z0VQBIHHEzZiBeXtoLvQ6egD6yregZ9g5bcUJdNwxtZSWSi/B\n5mvDZ0zyp6veayNY5MgC13pIJ8W1ZqAYfrgguSvMGT/mjmmfCYEGaxKZAfhT\nAmgr\r\n=BN0W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCY8oAdipmJTYOvE6efUz4dsk0Mt20MCNKxHBKxwcuTdgIhAOwc97Bpt2P6uoth3UAXbsUwwxVGbyPRqitI+NLYSB4q"}]},"maintainers":[{"name":"ben-hayes","email":"ben@benhayes.net"}],"_npmUser":{"name":"ben-hayes","email":"ben@benhayes.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/magenta-music_1.12.1_1578166532519_0.07934293175648555"},"_hasShrinkwrap":false},"1.12.2":{"name":"@ben-hayes/magenta-music","version":"1.12.2","description":"Make music with machine learning, in the browser.","main":"es5/index.js","module":"es6/index.js","types":"es5/index.d.ts","jsdelivr":"dist/magentamusic.js","unpkg":"dist/magentamusic.js","dependencies":{"@tensorflow/tfjs":"^1.1.2","fft.js":"^4.0.3","midiconvert":"^0.4.7","ndarray-resample":"^1.0.1","protobufjs":"^6.8.6","staffrender":"^0.2.1","tonal":"^2.0.0","tone":"^13.8.21"},"devDependencies":{"@types/clone":"^0.1.30","@types/d3":"^5.7.0","@types/file-saver":"^1.3.0","@types/ndarray":"^1.0.6","@types/tape":"^4.2.32","@types/webmidi":"^2.0.2","audio-recorder-polyfill":"^0.1.2","browserify":"^14.4.0","clang-format":"^1.2.3","clone":"^1.0.4","d3":"^5.8.0","file-saver":"^1.3.8","file-saver-typescript":"^1.0.1","http-server":"^0.11.1","in-publish":"^2.0.0","minimist":"^1.2.0","node-fetch":"^2.6.0","tape":"^4.9.0","terser-webpack-plugin":"^1.4.1","ts-loader":"^5.3.0","ts-node":"^5.0.1","tsify":"^3.0.4","tslint":"^5.9.1","typedoc":"^0.14.2","typedoc-plugin-sourcefile-url":"^1.0.3","typescript":"^3.3.3333","webpack":"^4.24.0","webpack-cli":"^3.1.2","webpack-dev-server":"^3.1.14","webpack-node-externals":"^1.7.2"},"scripts":{"prepublish":"in-publish && yarn lint && yarn test && yarn build && yarn test-node-build || not-in-publish","build:es5":"webpack --config ./webpack/es5.lib.config.ts","build:es6":"webpack --config webpack/es6.config.ts && cp src/protobuf/proto.* es6/protobuf","build:node":"webpack --config webpack/node.config.ts && cp src/protobuf/proto.* node/protobuf","build:clean":"rm -rf ./es5 && rm -rf ./es6 && rm -rf ./node && rm -rf ./dist","build":"npm run build:clean && npm run build:es5 && npm run build:node && npm run build:es6","lint":"tslint -c ../tslint.json -p ./tsconfig.es5.json -t verbose","test":"ts-node node_modules/tape/bin/tape src/**/*_test.ts","test-node-build":"ts-node node_modules/tape/bin/tape build_tests/node.ts","build-demos":"webpack --config ./webpack/es5.demo.config.ts","run-demos":"webpack-dev-server --config ./webpack/es5.demo.config.ts","serve-demos":"http-server demos/","serve-dist":"http-server dist/","proto":"sh ./scripts/compile-proto.sh","docs":"sh ../scripts/generate-docs.sh 'music'"},"author":{"name":"Magenta"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/tensorflow/magenta-js.git"},"bugs":{"url":"https://github.com/tensorflow/magenta-js/issues"},"homepage":"https://github.com/tensorflow/magenta-js#readme","_id":"@ben-hayes/magenta-music@1.12.2","_nodeVersion":"13.5.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-yfbPe7rPAGe3UX4VLfWXzGf9k++VNsTH2+7mYvSPvpxrcsKkRRhyKZt3TzIdkyXU6LreLZuCgkyMF0wrSyrniQ==","shasum":"0523dad61738d290639e4d4dafa7ca845e5f1380","tarball":"https://registry.npmjs.org/@ben-hayes/magenta-music/-/magenta-music-1.12.2.tgz","fileCount":204,"unpackedSize":7535091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeE3G0CRA9TVsSAnZWagAAfHEP+gJCDQ9PrVKDYoNF1Vlj\nmcG2d3fGMQVvlSR9LHSY+XXMLm+6yvDHNhpJwtJ+7oJaox/yB0INPBxaKyfU\nFBWxwKlTipK5DaBzeCE2imQTnvFoS8nhCNfUUKHPUptquDn26A7VmrOo/maJ\nX+FiMDajrqevAvn/lgA2yeLuipq2+sfEDSqKbUQlT0dm5L8GPdy3RLeStU5Q\nNhfWmwwtEzSIqixFOnTkCYsuffKqhNK0m3fSYhEph5e8+cmT1xXU9/1WRDvj\ngCNmgev/QUo4nbTaLPmq1FfNFeK0vDavR7VtRUOCE0iCPtrYmFEFTU+jQhL3\nlpYhtCE6VvxZ9vjexY3OjGcIpZ8Q9L5ObZYMuq13ci44lvtWXEknhI6Lnqlf\nE5WJJcnw7Ppd5zin9A07QbtQ2W+NMV70v1uce1JW/Gpz5Ud1w2spPEOWMCbb\ngbtHKtP/WxhUMJ6j7H0K4dBA2xgw9BXY6eA7mLvshvB7BKJNGXCQYIeY5qzO\nWzSd0OmLpW9qvHtVS7/io9LNZRTHQukxnSt0q/eoHpUCAWJ1wz8wuM65UovD\nVLk/zVI+ftqmReY+vXdvN9wMdAISYP602DxJXk9baiiSHPh+5Unh/Wq9R3Hv\noLXva+VkB3NZJUA68Bax92qjvmPhSbnaHrTFEJ9artQjU1o+R70PqCuLnPvV\nC2Ts\r\n=ZrT7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDmXBycma2PYpyLagDSBxjXLOhsJhTqAHwp3Q1AtO1XEgIhAJfsq8kOEImVwVje/dIC2mdw/iOaDg80NMJO8bKhPGOA"}]},"maintainers":[{"name":"ben-hayes","email":"ben@benhayes.net"}],"_npmUser":{"name":"ben-hayes","email":"ben@benhayes.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/magenta-music_1.12.2_1578332596049_0.17035627524256314"},"_hasShrinkwrap":false},"1.12.4":{"name":"@ben-hayes/magenta-music","version":"1.12.4","description":"Make music with machine learning, in the browser.","main":"es5/index.js","module":"es6/index.js","types":"es5/index.d.ts","jsdelivr":"dist/magentamusic.js","unpkg":"dist/magentamusic.js","dependencies":{"@tensorflow/tfjs":"^1.1.2","fft.js":"^4.0.3","midiconvert":"^0.4.7","ndarray-resample":"^1.0.1","protobufjs":"^6.8.6","staffrender":"^0.2.1","tonal":"^2.0.0","tone":"^13.8.21"},"devDependencies":{"@types/clone":"^0.1.30","@types/d3":"^5.7.0","@types/file-saver":"^1.3.0","@types/ndarray":"^1.0.6","@types/tape":"^4.2.32","@types/webmidi":"^2.0.2","audio-recorder-polyfill":"^0.1.2","browserify":"^14.4.0","clang-format":"^1.2.3","clone":"^1.0.4","d3":"^5.8.0","file-saver":"^1.3.8","file-saver-typescript":"^1.0.1","http-server":"^0.11.1","in-publish":"^2.0.0","minimist":"^1.2.0","node-fetch":"^2.6.0","tape":"^4.9.0","terser-webpack-plugin":"^1.4.1","ts-loader":"^5.3.0","ts-node":"^5.0.1","tsify":"^3.0.4","tslint":"^5.9.1","typedoc":"^0.14.2","typedoc-plugin-sourcefile-url":"^1.0.3","typescript":"^3.3.3333","webpack":"^4.24.0","webpack-cli":"^3.1.2","webpack-dev-server":"^3.1.14","webpack-node-externals":"^1.7.2"},"scripts":{"prepublish":"in-publish && yarn lint && yarn test && yarn build && yarn test-node-build || not-in-publish","build:es5":"webpack --config ./webpack/es5.lib.config.ts","build:es6":"webpack --config webpack/es6.config.ts && cp src/protobuf/proto.* es6/protobuf","build:node":"webpack --config webpack/node.config.ts && cp src/protobuf/proto.* node/protobuf","build:clean":"rm -rf ./es5 && rm -rf ./es6 && rm -rf ./node && rm -rf ./dist","build":"npm run build:clean && npm run build:es5 && npm run build:node && npm run build:es6","lint":"tslint -c ../tslint.json -p ./tsconfig.es5.json -t verbose","test":"ts-node node_modules/tape/bin/tape src/**/*_test.ts","test-node-build":"ts-node node_modules/tape/bin/tape build_tests/node.ts","build-demos":"webpack --config ./webpack/es5.demo.config.ts","run-demos":"webpack-dev-server --config ./webpack/es5.demo.config.ts","serve-demos":"http-server demos/","serve-dist":"http-server dist/","proto":"sh ./scripts/compile-proto.sh","docs":"sh ../scripts/generate-docs.sh 'music'"},"author":{"name":"Magenta"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/tensorflow/magenta-js.git"},"bugs":{"url":"https://github.com/tensorflow/magenta-js/issues"},"homepage":"https://github.com/tensorflow/magenta-js#readme","_id":"@ben-hayes/magenta-music@1.12.4","_nodeVersion":"13.6.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-VCxFZVO0UpPDY5FIGSkbbixxtKdjTURM8UnZfKsE5ZO9qv7TzVAsK/+w8VLkOGpNhWqC2C2SZsClYLMRoHRUUQ==","shasum":"e5688a3cedad1c7cdfa7f4db5e42473e5fc823c9","tarball":"https://registry.npmjs.org/@ben-hayes/magenta-music/-/magenta-music-1.12.4.tgz","fileCount":204,"unpackedSize":7538429,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJEsHCRA9TVsSAnZWagAA+SwQAKUggepjgvpiUZE9Rtg/\nI+4VAiEWhxpwQ/lbHdebfNs0yhjtV78VgL+5wQUfZRpqPQGsiTSBv9bcieYE\n6JRSpP3zGoPP7otTl1VoiUbRvtDwuHo2Lsm67Bt432AoP1sbvGqza06hvQE7\nv2Tkbk3629WMbuiJ7IggTjNnlbL23g3/3N1Giq7rEyPAol/5Gvj+nSVfnoYu\nhjRz4FC8uqDIhlqiySwQW3HTNi+67aRz4ixvXxyyrcdq4dkT8bdN4nH2BbTD\nSvPndv0B6zXtFMXXDcf+X7/01w0p5WNQsaYObDejgLIQIvK6p8lYlRShGKJU\nIcX2ifO2zTr+FWxPZqkqSe32O72nrzr9m3uyE6QVoCSGN4FgchC4mCtUN36N\nDEVn/UAmHtTP1+BGPmxDHSDPniP2mjxUwUdTUEWQYmMs+09QLjfzNsb0QpRF\neu6sIOdhMz7KeKhv3IXrOYbWw15s/U3czeYrs9Teo4q1QoRuruAJ4fc81ugd\naykCkJqOLOe70ZnKOJM/ZtRxSGex/5jVDR4uvJh2eF/BnuECe7MRmOy96kM9\niHaKhQgds+bAratbz6a7JDO7Hq6ZENsTdMkSGPVIiPWWGdaYhK9i/wEiirPX\nZIhtvUNAdCMCjaJdjbNC5i8pxcRqi4NmeqWyUHbws5qvCMm3AVx7ChCJNyIy\ngfSl\r\n=Zq1F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHbeY00JP+UQGULitgZxmySE82SeHcf3FKL8+Efm3u5eAiAg0sUp8DA1Wdyr+rkTLjUAjaXPcFD+t9+7gWj5+XWizA=="}]},"maintainers":[{"name":"ben-hayes","email":"ben@benhayes.net"}],"_npmUser":{"name":"ben-hayes","email":"ben@benhayes.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/magenta-music_1.12.4_1579436806557_0.22835000641196523"},"_hasShrinkwrap":false},"1.12.5":{"name":"@ben-hayes/magenta-music","version":"1.12.5","description":"Make music with machine learning, in the browser.","main":"es5/index.js","module":"es6/index.js","types":"es5/index.d.ts","jsdelivr":"dist/magentamusic.js","unpkg":"dist/magentamusic.js","dependencies":{"@tensorflow/tfjs":"^1.1.2","fft.js":"^4.0.3","midiconvert":"^0.4.7","ndarray-resample":"^1.0.1","protobufjs":"^6.8.6","staffrender":"^0.2.1","tonal":"^2.0.0","tone":"^13.8.21"},"devDependencies":{"@types/clone":"^0.1.30","@types/d3":"^5.7.0","@types/file-saver":"^1.3.0","@types/ndarray":"^1.0.6","@types/tape":"^4.2.32","@types/webmidi":"^2.0.2","audio-recorder-polyfill":"^0.1.2","browserify":"^14.4.0","clang-format":"^1.2.3","clone":"^1.0.4","d3":"^5.8.0","file-saver":"^1.3.8","file-saver-typescript":"^1.0.1","http-server":"^0.11.1","in-publish":"^2.0.0","minimist":"^1.2.0","node-fetch":"^2.6.0","tape":"^4.9.0","terser-webpack-plugin":"^1.4.1","ts-loader":"^5.3.0","ts-node":"^5.0.1","tsify":"^3.0.4","tslint":"^5.9.1","typedoc":"^0.14.2","typedoc-plugin-sourcefile-url":"^1.0.3","typescript":"^3.3.3333","webpack":"^4.24.0","webpack-cli":"^3.1.2","webpack-dev-server":"^3.1.14","webpack-node-externals":"^1.7.2"},"scripts":{"prepublish":"in-publish && yarn lint && yarn test && yarn build && yarn test-node-build || not-in-publish","build:es5":"webpack --config ./webpack/es5.lib.config.ts","build:es6":"webpack --config webpack/es6.config.ts && cp src/protobuf/proto.* es6/protobuf","build:node":"webpack --config webpack/node.config.ts && cp src/protobuf/proto.* node/protobuf","build:clean":"rm -rf ./es5 && rm -rf ./es6 && rm -rf ./node && rm -rf ./dist","build":"npm run build:clean && npm run build:es5 && npm run build:node && npm run build:es6","lint":"tslint -c ../tslint.json -p ./tsconfig.es5.json -t verbose","test":"ts-node node_modules/tape/bin/tape src/**/*_test.ts","test-node-build":"ts-node node_modules/tape/bin/tape build_tests/node.ts","build-demos":"webpack --config ./webpack/es5.demo.config.ts","run-demos":"webpack-dev-server --config ./webpack/es5.demo.config.ts","serve-demos":"http-server demos/","serve-dist":"http-server dist/","proto":"sh ./scripts/compile-proto.sh","docs":"sh ../scripts/generate-docs.sh 'music'"},"author":{"name":"Magenta"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/tensorflow/magenta-js.git"},"bugs":{"url":"https://github.com/tensorflow/magenta-js/issues"},"homepage":"https://github.com/tensorflow/magenta-js#readme","_id":"@ben-hayes/magenta-music@1.12.5","_nodeVersion":"13.6.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-mj0c3pvWgV4yEDfz+HGA38PrPkjbcehGzF9bZZH8XG5JyCOtA6f65wAzCaW7w4IuYdsOZemypsXHuxpGlyy6tA==","shasum":"cf5678e6949e8d18b9ef7db45768c9ef985393a1","tarball":"https://registry.npmjs.org/@ben-hayes/magenta-music/-/magenta-music-1.12.5.tgz","fileCount":204,"unpackedSize":7539563,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLYguCRA9TVsSAnZWagAAxQMQAJG4Ps4JmNvvJ2bVJ+jk\nRcrwFYIRRQgl8oCxAMdk5BgnPbhz3wa/FhfmZZqdf2Tls8HaYmi2e4DqwlFK\nwocIgG3zTlETmRr9c7luzXu4h7+4SuO9msdaCG3y5Ef6rHfcF4UgwQMevKQz\nhAWWJ5/CRNXEmuCNnQgeYpzQ2me40sPzRs+Xc5zLEDIKIEvXRQJI+eWsIq2B\nAA7rjTaY0FtKPSXZW+fJT/6eqs7R76Pflc1IuE0TeK3Ns98+1a6Xwhl+BY9b\n98de2+N9kzuroNcnhyXk3sOaEWp7Tf+ti+3glgL8WIh6lcm6kAhHfOx1C5RM\nX7BIMy5Fp2lBV0+IapFKBj1p4iNFQs/etnKwvVoUcmUT8XOzPmPtH1WQ1htO\n6GcRxqGeCBetrmdUUhttCBUtu+bQ9Z4EQI/Vkv66hjAK0AG4ViGRBqbUNQzY\nOsoNAECGFHqIZ92+bea1EjSr47QdkxsC+tg4IkHadVff+tOw9S2zc5gJ8b56\n7ddY1ZpdLn5GhBzzE4sD/+Q1NlkW39dQNKecCBi3uuEheUUEUdxAIvrG87+Y\nZubxaPMLbKK5ip2PkYgkO2iCfeXvUmlOPWMlyOeSXd4Or9So1QdcraXqaZEl\nQl6G1JPIUeeqZ5vRqMeZM1OrbLP6sUZ/92JCa7Msh35lCI4dpv1AHqF7bxz9\nAlzF\r\n=KdpX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDeaOGkns1GFb9bswH052O62eqv54Ss/CbYDL2Sl++kmgIhAJMaTXmRMheEr1OF98X7W6w2BXUzx5VRJe8JnMI1RqcN"}]},"maintainers":[{"name":"ben-hayes","email":"ben@benhayes.net"}],"_npmUser":{"name":"ben-hayes","email":"ben@benhayes.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/magenta-music_1.12.5_1580042285704_0.06461388568035464"},"_hasShrinkwrap":false},"1.12.6":{"name":"@ben-hayes/magenta-music","version":"1.12.6","description":"Make music with machine learning, in the browser.","main":"es5/index.js","module":"es6/index.js","types":"es5/index.d.ts","jsdelivr":"dist/magentamusic.js","unpkg":"dist/magentamusic.js","dependencies":{"@tensorflow/tfjs":"^1.1.2","fft.js":"^4.0.3","midiconvert":"^0.4.7","ndarray-resample":"^1.0.1","protobufjs":"^6.8.6","staffrender":"^0.2.1","tonal":"^2.0.0","tone":"^13.8.21"},"devDependencies":{"@types/clone":"^0.1.30","@types/d3":"^5.7.0","@types/file-saver":"^1.3.0","@types/ndarray":"^1.0.6","@types/tape":"^4.2.32","@types/webmidi":"^2.0.2","audio-recorder-polyfill":"^0.1.2","browserify":"^14.4.0","clang-format":"^1.2.3","clone":"^1.0.4","d3":"^5.8.0","file-saver":"^1.3.8","file-saver-typescript":"^1.0.1","http-server":"^0.11.1","in-publish":"^2.0.0","minimist":"^1.2.0","node-fetch":"^2.6.0","tape":"^4.9.0","terser-webpack-plugin":"^1.4.1","ts-loader":"^5.3.0","ts-node":"^5.0.1","tsify":"^3.0.4","tslint":"^5.9.1","typedoc":"^0.14.2","typedoc-plugin-sourcefile-url":"^1.0.3","typescript":"^3.3.3333","webpack":"^4.24.0","webpack-cli":"^3.1.2","webpack-dev-server":"^3.1.14","webpack-node-externals":"^1.7.2"},"scripts":{"prepublish":"in-publish && yarn lint && yarn test && yarn build && yarn test-node-build || not-in-publish","build:es5":"webpack --config ./webpack/es5.lib.config.ts","build:es6":"webpack --config webpack/es6.config.ts && cp src/protobuf/proto.* es6/protobuf","build:node":"webpack --config webpack/node.config.ts && cp src/protobuf/proto.* node/protobuf","build:clean":"rm -rf ./es5 && rm -rf ./es6 && rm -rf ./node && rm -rf ./dist","build":"npm run build:clean && npm run build:es5 && npm run build:node && npm run build:es6","lint":"tslint -c ../tslint.json -p ./tsconfig.es5.json -t verbose","test":"ts-node node_modules/tape/bin/tape src/**/*_test.ts","test-node-build":"ts-node node_modules/tape/bin/tape build_tests/node.ts","build-demos":"webpack --config ./webpack/es5.demo.config.ts","run-demos":"webpack-dev-server --config ./webpack/es5.demo.config.ts","serve-demos":"http-server demos/","serve-dist":"http-server dist/","proto":"sh ./scripts/compile-proto.sh","docs":"sh ../scripts/generate-docs.sh 'music'"},"author":{"name":"Magenta"},"license":"Apache-2.0","repository":{"type":"git","url":"git+https://github.com/tensorflow/magenta-js.git"},"bugs":{"url":"https://github.com/tensorflow/magenta-js/issues"},"homepage":"https://github.com/tensorflow/magenta-js#readme","_id":"@ben-hayes/magenta-music@1.12.6","_nodeVersion":"13.6.0","_npmVersion":"6.13.4","dist":{"integrity":"sha512-yixzHgQZ+05H/leMBR2ARLydX5sCe9yX36DUeLfu214EKsd4H3b3z0hm48W98qQnEHIboacYb3KDfmw2mzI2eg==","shasum":"70819129aba73e3cfe5a9f88489df1eb5987a83d","tarball":"https://registry.npmjs.org/@ben-hayes/magenta-music/-/magenta-music-1.12.6.tgz","fileCount":204,"unpackedSize":7544791,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeMfzWCRA9TVsSAnZWagAA1zsP/jSfcYVZzZFChtCrMvsT\nqaedoWvPzpowkuwAwE+FW3UO6myBa2xeoCeS+ym6QO4/rvEfLbhvIB8f2uuu\n9tvQTU3Ghl2aY9RK5EtDi+0advgJJ8VCcHvyeRPXAKpmBkEyV+RDKuFZVyUJ\nUGT6y82rXdniro7DD9YT3USrXW/c+4vPEFW9oJ371SEUMGVs760C9arYPior\nankN3QcSKDlCb3aAKncdrPnUQ2esVnSnJDw3riIWlTpzBh2eup8C8NOmHuAs\nwRNgdDNie8ocOKHZ9C04/NMyR1vF2danL0Y9tF8f+lhj6DmBLDxoHUDISJBi\npgF0u2WorwJsY2hNK5jNRheiNhHQY54uP8TDW8uWEMeFfPbVdFoLMRg1YLqf\nBsn1gX8dJU2fFp3Wp/12aSMF0ErxgdZM7UyY4P4K8CdL3oaYpqmoKxsvpqDi\n50fqCueeZPu7vtgzYoceURkWr+djaoVoM+AB9gOAYjPWkSxgspbgJRhmg0Qy\nog4a/Qt3mSeTphSD7gfrppqnf7Pp4IykkNKd+AKKBA256IlYuMg9dO6OqJDG\nxGr4s2pKWoLRE5hEcJfI4iyV5KsOOSggBG8EA/er63POstoZ4lNvg6qayxZQ\nVA949pZ5AsMNhOsKST/e77hAWHI/zJJRCT1gD6uM4w8D6lY9B2CYSxgHJC36\nwMOZ\r\n=YJiy\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC+zCHkz73RKCRRW6aPlmcrpHA7HOgG3TYlSxckXbKe4AIgLk5WQk082FmubIfhJJAndrdYgis33I7trblQpwwxLAo="}]},"maintainers":[{"name":"ben-hayes","email":"ben@benhayes.net"}],"_npmUser":{"name":"ben-hayes","email":"ben@benhayes.net"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/magenta-music_1.12.6_1580334293572_0.48358895939204927"},"_hasShrinkwrap":false}},"time":{"created":"2020-01-04T19:18:51.984Z","1.12.0":"2020-01-04T19:18:52.368Z","modified":"2022-04-04T18:21:34.023Z","1.12.1":"2020-01-04T19:35:32.713Z","1.12.2":"2020-01-06T17:43:16.267Z","1.12.4":"2020-01-19T12:26:46.746Z","1.12.5":"2020-01-26T12:38:05.912Z","1.12.6":"2020-01-29T21:44:53.803Z"},"maintainers":[{"name":"ben-hayes","email":"ben@benhayes.net"}],"description":"Make music with machine learning, in the browser.","homepage":"https://github.com/tensorflow/magenta-js#readme","repository":{"type":"git","url":"git+https://github.com/tensorflow/magenta-js.git"},"author":{"name":"Magenta"},"bugs":{"url":"https://github.com/tensorflow/magenta-js/issues"},"license":"Apache-2.0","readme":"# @magenta/music\n\n[![npm version](https://badge.fury.io/js/%40magenta%2Fmusic.svg)](https://badge.fury.io/js/%40magenta%2Fmusic) [![](https://data.jsdelivr.com/v1/package/npm/@magenta/music/badge?style=rounded)](https://www.jsdelivr.com/package/npm/@magenta/music)\n\n\nThis JavaScript implementation of Magenta's musical note-based models uses [TensorFlow.js](https://js.tensorflow.org) for GPU-accelerated inference.\n\nComplete documentation is available at https://tensorflow.github.io/magenta-js/music.\n\nFor the Python TensorFlow implementations, see the [main Magenta repo](https://github.com/tensorflow/magenta).\n\n## Contents\n\n- [Example Applications](#example-applications)\n- [Supported Models](#supported-models)\n- [Getting Started](#getting-started)\n- [Model Checkpoints](#model-checkpoints)\n\n## Example Applications\n\nHere are a few applications built with `@magenta/music`:\n\n- [Piano Scribe](https://piano-scribe.glitch.me) by [Monica Dinculescu](https://github.com/notwaldorf) and [Adam Roberts](https://github.com/adarob)\n- [Beat Blender](https://g.co/beatblender) by [Google Creative Lab](https://github.com/googlecreativelab)\n- [Melody Mixer](https://g.co/melodymixer) by [Google Creative Lab](https://github.com/googlecreativelab)\n- [Latent Loops](https://goo.gl/magenta/latent-loops) by [Google Pie Shop](https://github.com/teampieshop)\n- [Neural Drum Machine](https://goo.gl/magenta/neuraldrum) by [Tero Parviainen](https://github.com/teropa)\n- [Tenori-Off](https://tenori-off.glitch.me) by [Monica Dinculescu](https://github.com/notwaldorf)\n\nYou can also try our [hosted demos](https://tensorflow.github.io/magenta-js/music/demos) for each model and have a look at the [demo code](./demos).\n\n## Supported Models\n\nWe have made an effort to port our most useful models, but please file an issue if you think something is\nmissing, or feel free to submit a Pull Request!\n\n### Piano Transcription w/ Onsets and Frames\n\n[OnsetsAndFrames](https://tensorflow.github.io/magenta-js/music/classes/_transcription_model_.onsetsandframes.html) implements Magenta's [piano transcription model](g.co/magenta/onsets-frames) for converting raw audio to MIDI in the browser. While it is somewhat flexible, it works best on solo piano recordings. The algorithm takes half the duration of audio to run on most browsers, but due to a [Webkit bug](https://github.com/WebKit/webkit/blob/4a4870b75b95a836b516163d45a5cbd6f5222562/Source/WebCore/Modules/webaudio/AudioContext.cpp#L109), audio resampling will make this it significantly slower on Safari.\n\n**Demo Application:** [Piano Scribe](https://piano-scribe.glitch.me)\n\n### MusicRNN\n\n[MusicRNN](https://tensorflow.github.io/magenta-js/music/classes/_music_rnn_model_.musicrnn.html) implements Magenta's LSTM-based language models. These include [MelodyRNN][melody-rnn], [DrumsRNN][drums-rnn], [ImprovRNN][improv-rnn], and [PerformanceRNN][performance-rnn].\n\n**Demo Application:** [Neural Drum Machine](https://goo.gl/magenta/neuraldrum)\n\n### MusicVAE\n\n[MusicVAE](https://tensorflow.github.io/magenta-js/music/classes/_music_vae_model_.musicvae.html) implements several configurations of Magenta's variational autoencoder model called [MusicVAE][music-vae] including melody and drum \"loop\" models, 4- and 16-bar \"trio\" models, chord-conditioned [multi-track](https://g.co/magenta/multitrack) models, and drum performance \"humanizations\" with [GrooVAE][https://g.co/magenta/groovae].\n\n**Demo Application:** [Endless Trios](https://goo.gl/magenta/endless-trios)\n\n### Piano Genie\n[Piano Genie](https://g.co/magenta/pianogenie) is a VQ-VAE model that that maps 8-button input to a full 88-key piano in real time.\n\n**Demo Application:** [Piano Genie](https://goo.gl/magenta/piano-genie)\n\n## Getting started\n\nThere are several ways to get `magentamusic.js` in your JavaScript project,\neither in the browser, or in Node:\n\n### Including an ES5 bundle in a [`<script>` tag](https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_JavaScript_within_a_webpage)\n\nThis has all the models and all the core library helpers all bundled into\none file. This is the simplest way to use Magenta.js.\n\nTo use this bundle, add the following code to an HTML file:\n\n```html\n<html>\n  <head>\n    <!-- Load @magenta/music -->\n    <script src=\"https://cdn.jsdelivr.net/npm/@magenta/music@^1.0.0\"></script>\n    <script>\n      // Instantiate model by loading desired config.\n      const model = new mm.MusicVAE(\n        'https://storage.googleapis.com/magentadata/js/checkpoints/music_vae/trio_4bar');\n      const player = new mm.Player();\n\n      function play() {\n        player.resumeContext(); // enable audio\n        model.sample(1)\n          .then((samples) => player.start(samples[0], 80));\n      }\n    </script>\n  </head>\n  <body><button onclick=\"play()\"><h1>Play Trio</h1></button></body>\n</html>\n```\n\nOpen up that html file in your browser (or [click here](https://goo.gl/magenta/simpletrio) for a hosted version)\nand the code will run. Click the \"Play Trio\" button to hear 4-bar trios that are randomly generated by MusicVAE.\n\nIt's also easy to add the ability to download MIDI for generated outputs, which is demonstrated in [this example](https://goo.gl/magenta/simpletriodl).\n\nSee our [demos](./demos) for example usage.\n\n### Using a smaller ES6 bundle for just the code you need\nWe have also split all the models and the core library into smaller ES6 bundles (not ESModules, unfortunately 😢), so that you can use a model independent of the rest of the\nlibrary. These bundles don't package `Tone.js` or `TensorFlow.js` (since\nthere would be a risk of downloading multiple copies on the same page). Here is an example:\n```html\n<html>\n<head>\n  ...\n  <!-- You need to bring your own Tone.js for the player, and tfjs for the model -->\n  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/tone/13.8.21/Tone.js\"></script>\n  <script src=\"https://cdnjs.cloudflare.com/ajax/libs/tensorflow/1.2.8/tf.min.js\"></script>\n  <!-- Core library, since we're going to use a player -->\n  <script src=\"https://cdn.jsdelivr.net/npm/@magenta/music@^1.0.0/es6/core.js\"></script>\n  <!--Model we want to use -->\n  <script src=\"https://cdn.jsdelivr.net/npm/@magenta/music@^1.0.0/es6/music_vae.js\"></script>\n</head>\n<script>\n  // Each bundle exports a global object with the name of the bundle.\n  const player = new core.Player();\n  //...\n  const mvae = new music_vae.MusicVAE('https://storage.googleapis.com/magentadata/js/checkpoints/music_vae/mel_2bar_small');\n  mvae.initialize().then(() => {\n    //...\n  });\n</script>\n</html>\n```\n\n### In Node\nYou can use [MagentaMusic.js][mm-npm] in your project using [yarn](https://yarnpkg.com/en/)\n(by calling `yarn add @magenta/music`) **or** [npm](https://docs.npmjs.com/cli/npm)\n(by calling `npn install --save @magenta/music`).\n\nThe node-specific bundles (that don't transpile the CommonJS modules) are under\n`@magenta/music/node`. For example:\n\n```js\nconst model = require('@magenta/music/node/music_vae');\nconst core = require('@magenta/music/node/core');\n\n// These hacks below are needed because the library uses performance and fetch which\n// exist in browsers but not in node. We are working on simplifying this!\nconst globalAny: any = global;\nglobalAny.performance = Date;\nglobalAny.fetch = require('node-fetch');\n\n// Your code:\nconst model = new mode.MusicVAE('/path/to/checkpoint');\nconst player = new core.Player();\nmodel\n  .initialize()\n  .then(() => model.sample(1))\n  .then(samples => {\n    player.resumeContext();\n    player.start(samples[0])\n  });\n```\n\n#### Example Commands\n\n`yarn install` to install dependencies.\n\n`yarn test` to run tests.\n\n`yarn build` to produce the different bundled versions.\n\n`yarn run-demos` to build and serve the demos, with live reload.\n\n*(Note: the default behavior is to build/watch all demos - specific demos can be built by passing a comma-separated list of specific demo names as follows: `yarn run-demos --demos=transcription,visualizer`)*\n\n## Model Checkpoints\n\nSince MagentaMusic.js does not support training models, you must use weights from a model trained with the Python-based [Magenta models][magenta-models]. We are also making available our own hosted pre-trained checkpoints.\n\n### Magenta-Hosted Checkpoints\n\nSeveral pre-trained MusicRNN and MusicVAE checkpoints are hosted on GCS. The full list can is available in [this table](https://github.com/tensorflow/magenta-js/blob/master/music/checkpoints/README.md#table) and can be accessed programmatically via a JSON index at https://goo.gl/magenta/js-checkpoints-json.\n\nMore information is available at https://goo.gl/magenta/js-checkpoints.\n\n### Your Own Checkpoints\n\n#### Dumping Your Weights\n\nTo use your own checkpoints with one of our models, you must first convert the weights to the appropriate format using the provided [checkpoint_converter](https://github.com/tensorflow/magenta-js/blob/master/scripts/checkpoint_converter.py) script.\n\nThis tool is dependent on [tfjs-converter](https://github.com/tensorflow/tfjs-converter), which you must first install using `pip install tensorflowjs`. Once installed, you can execute the script as follows:\n\n```bash\n../scripts/checkpoint_converter.py /path/to/model.ckpt /path/to/output_dir\n```\n\nThere are additional flags available to reduce the size of the output by removing unused (training) variables or using weight quantization. Call `../scripts/checkpoint_converter.py -h` to list the available options.\n\n#### Specifying the Model Configuration\n\nThe model configuration should be placed in a JSON file named `config.json` in the same directory as your checkpoint. This configuration file contains all the information needed (besides the weights) to instantiate and run your model: the model type and data converter specification plus optional chord encoding, auxiliary inputs, and attention length. An example `config.json` file might look like:\n\n```json\n{\n  \"type\": \"MusicRNN\",\n  \"dataConverter\": {\n    \"type\": \"MelodyConverter\",\n    \"args\": {\n      \"minPitch\": 48,\n      \"maxPitch\": 83\n    }\n  },\n  \"chordEncoder\": \"PitchChordEncoder\"\n}\n```\n\nThis configuration corresponds to a chord-conditioned melody MusicRNN model.\n\n## SoundFonts\nThere are several SoundFonts that you can use with the `mm.SoundFontPlayer`,\nfor more realistic sounding instruments:\n\n| Instrument  | URL | License  |\n|---|---|---|\n| Piano | [salamander](https://storage.googleapis.com/magentadata/js/soundfonts/salamander) |Audio samples from [Salamander Grand Piano](https://archive.org/details/SalamanderGrandPianoV3)|\n| Multi | [sgm_plus](https://storage.googleapis.com/magentadata/js/soundfonts/sgm_plus) | Audio samples based on [SGM](https://www.polyphone-soundfonts.com/en/files/27-instrument-sets/256-sgm-v2-01) with modifications by [John Nebauer](https://sites.google.com/site/soundfonts4u/)|\n| Percussion | [jazz_kit](https://storage.googleapis.com/magentadata/js/soundfonts/jazz_kit) | Audio samples from [Jazz Kit (EXS)](https://musical-artifacts.com/artifacts/686) by Lithalean |\n\nYou can explore what each of them sounds like on this [demo page](https://tensorflow.github.io/magenta-js/music/demos/player.html#soundfonts).\n\n<!-- links -->\n\n[melody-rnn]: https://github.com/tensorflow/magenta/tree/master/magenta/models/melody_rnn\n[drums-rnn]: https://github.com/tensorflow/magenta/tree/master/magenta/models/drums_rnn\n[improv-rnn]: https://github.com/tensorflow/magenta/tree/master/magenta/models/improv_rnn\n[performance-rnn]: https://github.com/tensorflow/magenta/tree/master/magenta/models/performance_rnn\n[magenta-models]: https://github.com/tensorflow/magenta/tree/master/magenta/models\n[music-vae]: https://g.co/magenta/musicvae\n[mm-npm]: https://www.npmjs.com/package/@magenta/music\n","readmeFilename":"README.md"}