{"_id":"sfumato","_rev":"4-e61c0c562f59647e27ab41ee909fc3af","name":"sfumato","dist-tags":{"latest":"0.3.0"},"versions":{"0.1.0":{"name":"sfumato","version":"0.1.0","keywords":["Soundfonts","sf2","web","audio","api","music","javascript"],"author":{"name":"Felix Roos","email":"flix91@gmail.com"},"license":"ISC","_id":"sfumato@0.1.0","maintainers":[{"name":"felixroos","email":"flix91+npm@gmail.com"}],"homepage":"https://github.com/felixroos/sfumato#readme","bugs":{"url":"https://github.com/felixroos/sfumato/issues"},"dist":{"shasum":"58d00f920100f5fc0c6c9a7e0a3e611164f472af","tarball":"https://registry.npmjs.org/sfumato/-/sfumato-0.1.0.tgz","fileCount":4,"integrity":"sha512-E062gNlCZIrtYyefHvdhp5bKddbw5Vo2I3dQhXM/j3OVpraGbYE7aMquLxTsJIfLG0eI5Ic3cQVjRIpVdOXYBw==","signatures":[{"sig":"MEYCIQDpxEDlfclat/3QTOy9HAMSXSmKD455v89eCwkCe9ylsQIhAIO7ajL/nBpPNXt5FrT1G26FqD0hHFeiO981tn2IFWMB","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12688,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi5FI7ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoi5hAApLsqc4aWum+5lC3ZlspUvID55Embucl0ckPxRrfqAdORtfD6\r\nNzkbetXABw+iCPaF7VK2OpDcPJpX6ZPFBM8WM/Fp2ZEeUWOXg8IIjLGg7zMV\r\nkxzDmfgSh/4IsaX8ye6oOVNMfeszmWCnFTWkzdNNy+AawXK7Xg5ZqPmS6wZN\r\nyZ0SAfMBc5f9lDYJ+cJzveCprw7h4h1i3uK13pu0BwoY23UaACCl1kpMMT3X\r\n78nsec0gaTtjLl0/CsnjwflTCoQ48c/Jo1GNl0u+rGYufG4E6Iu5FKWxIQnN\r\nP2h94LFTyolc9DzHx/WFRHR3JquYOROrTJxYLinIp6l8Xcjw89tzfcNrdU/s\r\nMhhrneQBLeZW+7F9A2TrGLVegu2t8h/w3FUthENTfNQjevc2W5Lv8X1HYJLv\r\n0Wiw5MubYmZwhneUOl6fs2fmqAPhMcYO6tyFm4QITcsfkc/1DoODC8u+3OF8\r\nIdnUsmoiZRJ43XcZzDy7zPG9mVC3glmac03APPfeHY1JVA/abVwlBDekB1zq\r\nVN5QMNUcZR+NNFz2RmMjSCmt4zT/rmuKEhq15m00s+/BOss9qpKrHQY+U5Zu\r\nDViclY9p8r2HNhDyIIa+QvDsAeAxY3J+rA8xx+9ucBLQr1G/Gq+YQJw40o6c\r\n2xQ1D5g4Dtazft2hXxKfXXYxlS29GLgY3SI=\r\n=V7AJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/sfumato.js","type":"module","gitHead":"c229d4d5f9473a24854bc0e6a86f77ae78de5e84","scripts":{"test":"vitest","build":"vite build","publish":"npm test --mode run && npm run build && npm publish","coverage":"vitest run --coverage"},"_npmUser":{"name":"felixroos","email":"flix91+npm@gmail.com"},"repository":{"url":"git+https://github.com/felixroos/sfumato.git","type":"git"},"_npmVersion":"8.10.0","description":"This library is able to play soundfonts (sf2 files) with the Web Audio API.","directories":{},"_nodeVersion":"16.15.0","dependencies":{"soundfont2":"^0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.0.4","vitest":"^0.19.1"},"_npmOperationalInternal":{"tmp":"tmp/sfumato_0.1.0_1659130426914_0.8732304039466421","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"sfumato","version":"0.1.1","keywords":["Soundfonts","sf2","web","audio","api","music","javascript"],"author":{"name":"Felix Roos","email":"flix91@gmail.com"},"license":"ISC","_id":"sfumato@0.1.1","maintainers":[{"name":"felixroos","email":"flix91+npm@gmail.com"}],"homepage":"https://github.com/felixroos/sfumato#readme","bugs":{"url":"https://github.com/felixroos/sfumato/issues"},"dist":{"shasum":"4245a4d7647723bd6551875f5c17a691fdb05aa6","tarball":"https://registry.npmjs.org/sfumato/-/sfumato-0.1.1.tgz","fileCount":4,"integrity":"sha512-rMU+E5Tu545O0urBH7D6K9WkzDDG9OI76VwEgyib3PzPRDbMFc/ZIPNGjH3q9Kv0yTaXB/Rmq+MrLoFRYsO6bg==","signatures":[{"sig":"MEQCIFfnyCglymyfPw/yRuo8PqC5D+Dx8odMnWJsmR8QEXwfAiA3n09guMstwzxMRIyxcmK6KEH7GfSYAG3Syiq3YY6Emw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12676,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi5FLeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrrkRAAk2NTNmxRr0bFbKdVKEpR98SrMbJzNsJHTQFJi67GS0p1voYj\r\nKdUq33kNIZnwA7uD8hSOgSkBrVMdfN9tXvLlqVIasrQoHmlyllVCxd1+LxzZ\r\nlCSvE4wLfzOQQ/sv5lGLPIh074ggAjCMo6IHsO+C5Eu54DPlHpYYkcFA6gis\r\naIOoNvLUUO7HYSFIbIXanOoDHvVuj8Cs/9s+TX5RXzJ6BTpx8JLvvKo/SkZB\r\npcAJN/mjqK3pOUlbO0vyR2vvKq3G1DC+o5pfk5p7nbtUnK93ykw6hn5o6wjj\r\n+rUDOORxGr5edtrdffU+wW+NhKFuSK9NCN7VEr6QnR/ghuUo3wacDxs+GLq9\r\nCvZW4BawEcs5vx6ufzodWqcm1PAMRCPqSqFm/t1Tx4eeimPdhxvLMDJAQ4sQ\r\n5We9W1Ju9Ivc5dVUsx712FYcyyKsnsfdsrgUtbM3O8eTuxW5rldhsYnj8+ra\r\nSe3W3SzPqARoIqv6ZQr97PrMEaOtP0ptNpAbh/hBA5NKH+N9jg22lOEGxkIa\r\nSQbEp2A4T3W/AeB8Pehc+bwWsl6+n4upUb9ORMEUPtxVbjOLR4SR8kejlte9\r\n0mcQpjX2z5+X6VLnhzp6vJBLgkKZtsQqX1jytSCnsFOMc1JiDmsgpvPSNnNj\r\nBc3sRVaokkSsIYeoll0NrcvMs6Y8wcQhixc=\r\n=8kdn\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/sfumato.js","type":"module","gitHead":"0960b1b4d21f6421f8e43d57602d52954e983b56","scripts":{"test":"vitest","build":"vite build","coverage":"vitest run --coverage","prepublish":"npm test --mode run && npm run build"},"_npmUser":{"name":"felixroos","email":"flix91+npm@gmail.com"},"repository":{"url":"git+https://github.com/felixroos/sfumato.git","type":"git"},"_npmVersion":"8.10.0","description":"This library is able to play soundfonts (sf2 files) with the Web Audio API.","directories":{},"_nodeVersion":"16.15.0","dependencies":{"soundfont2":"^0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.0.4","vitest":"^0.19.1"},"_npmOperationalInternal":{"tmp":"tmp/sfumato_0.1.1_1659130589816_0.8857699054820396","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"sfumato","version":"0.1.2","keywords":["Soundfonts","sf2","web","audio","api","music","javascript"],"author":{"name":"Felix Roos","email":"flix91@gmail.com"},"license":"ISC","_id":"sfumato@0.1.2","maintainers":[{"name":"felixroos","email":"flix91+npm@gmail.com"}],"homepage":"https://github.com/felixroos/sfumato#readme","bugs":{"url":"https://github.com/felixroos/sfumato/issues"},"dist":{"shasum":"d24cd491456dc3b3e4a3237a457b800b681b4387","tarball":"https://registry.npmjs.org/sfumato/-/sfumato-0.1.2.tgz","fileCount":4,"integrity":"sha512-j2s5BLUS5VUNtaK1l+v+yal3XjjV7JXCQIwE5Xs4yiQ3HJ+2Fc/dd3IkkrVHn0AJO2epShSWVoP3GnE0TvPdMg==","signatures":[{"sig":"MEUCIQDog6J4FUE0tgtUsQ3EsowFs94IjRIdFXk5yjvkML/MTgIgMWaUEoA8UlyymQ29CmNQnPmbSjroydk97dK4ZqNWDEM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":14735,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi8AzJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmprpQ//Xo+TEtV1LXZbRLi3QkdQDcGVcgrLzF0fXNX/AF1K3C0XDDhO\r\nr3niVaGXdT6Jeif7BlmG3V7zWtt2OaoEqOPwBLvOExtL526rh84Vex5kDxJK\r\n0bbBqmOAjQlz+nN8D9k33+L2GyWNrMhOuPEhDshx7f0Tlx7c9QVhoU04aS5Z\r\n5+r+ELlYX3SPZ22cauK+in/kYgx7wxXXoZQkAaEw5wtYnG9k5s34gDaOegQ2\r\nvTa14yWi04EPbIV/Fsj9a8sQj88VgbNC58mrZ0vuVaBVCSTCjiJ1zHjEZLFY\r\nCUAHzydr8qvV+/t7vOnuaAuUymtNeAlXtXml5TIQEBYIS5dbaaMXfvRGGizX\r\n5NbpTLWQXYbP97MIjwZpgnDz0qRnIsRm01ymJGu98TjrP7n8XIx6TCm4i9I8\r\nRVPpUSSukWw9P3QSprQANOGoYXjLPAx2OMik8CH3uxY+uNQDkcYEw7N8L4qY\r\ndtY/ipDvy8BZMZVlpXsX6MfHnmMkS2zvT7L0cLQlZNTse5meAq4n1KnaF5aD\r\nd6iNfx/fiOVnBUlaGVOvOaEQNuGNMFIykRMWXvd+xAh73RQ7VomqRIbkVS4l\r\nxM5i+JJrDa5Jord9Jhglel7J/g4Z8g7AJfCaDvscAV5kZicNHhzJBpfD8OS5\r\ndoOtedXO6X6p39h+Y/M5+Xgsygie7crEwQU=\r\n=DmHi\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/sfumato.js","type":"module","gitHead":"b5100e4b39345dbee1ed8c2ac13200ff73604585","scripts":{"demo":"cd demo && npm run dev","test":"vitest","build":"vite build","coverage":"vitest run --coverage","prepublishOnly":"npm test --mode run && npm run build"},"_npmUser":{"name":"felixroos","email":"flix91+npm@gmail.com"},"repository":{"url":"git+https://github.com/felixroos/sfumato.git","type":"git"},"_npmVersion":"8.10.0","description":"This library is able to play soundfonts (sf2 files) with the Web Audio API.","directories":{},"_nodeVersion":"16.15.0","dependencies":{"soundfont2":"^0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^3.0.4","vitest":"^0.19.1"},"_npmOperationalInternal":{"tmp":"tmp/sfumato_0.1.2_1659899081433_0.10237345019313815","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"sfumato","version":"0.3.0","description":"This library is able to play soundfonts (sf2 files) with the Web Audio API.","main":"dist/sfumato.umd.cjs","module":"dist/sfumato.js","type":"module","exports":{".":{"import":"./dist/sfumato.js","require":"./dist/sfumato.umd.cjs"}},"scripts":{"test":"vitest","coverage":"vitest run --coverage","build":"vite build","prepublishOnly":"npm test --mode run && npm run build","demo":"cd demo && npm run dev"},"repository":{"type":"git","url":"git+https://codeberg.org/froos/sfumato.git"},"keywords":["Soundfonts","sf2","web","audio","api","music","javascript"],"author":{"name":"Felix Roos","email":"flix91@gmail.com"},"license":"ISC","bugs":{"url":"https://codeberg.org/froos/sfumato/issues"},"homepage":"https://codeberg.org/froos/sfumato","dependencies":{"soundfont2-esm":"^0.6.0"},"devDependencies":{"vite":"^8.0.8","vitest":"^4.1.4"},"_id":"sfumato@0.3.0","gitHead":"6fa62dfa1dbcc52caec8c2d1e9c9138a926e383c","_nodeVersion":"24.7.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-q4dhk6f0L6Z2DHSPc98xdGK9hwdEY1sUNxOFdjWFrUdg2rMZnwOE19/iYNdw/hXrbhCvvuFUCK760C0N0+loRA==","shasum":"600fbb3f62a4753db184ee5ae0441dfc268d8178","tarball":"https://registry.npmjs.org/sfumato/-/sfumato-0.3.0.tgz","fileCount":5,"unpackedSize":14795,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDZ2o4ghj73dJI2ylzusItAfLdIb1FeY+v/GnyxVwdrpwIhAI13vhjXXJXull9JHh7ezVOjdZUVNdmy5tnfp0dNr3yg"}]},"_npmUser":{"name":"felixroos","email":"flix91+npm@gmail.com"},"directories":{},"maintainers":[{"name":"felixroos","email":"flix91+npm@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sfumato_0.3.0_1776022927293_0.9409863256455104"},"_hasShrinkwrap":false}},"time":{"created":"2022-07-29T21:33:46.914Z","modified":"2026-04-12T19:42:07.581Z","0.1.0":"2022-07-29T21:33:47.094Z","0.1.1":"2022-07-29T21:36:30.082Z","0.1.2":"2022-08-07T19:04:41.698Z","0.3.0":"2026-04-12T19:42:07.438Z"},"bugs":{"url":"https://codeberg.org/froos/sfumato/issues"},"author":{"name":"Felix Roos","email":"flix91@gmail.com"},"license":"ISC","homepage":"https://codeberg.org/froos/sfumato","keywords":["Soundfonts","sf2","web","audio","api","music","javascript"],"repository":{"type":"git","url":"git+https://codeberg.org/froos/sfumato.git"},"description":"This library is able to play soundfonts (sf2 files) with the Web Audio API.","maintainers":[{"name":"felixroos","email":"flix91+npm@gmail.com"}],"readme":"# sfumato\n\n> The blurring or softening of sharp outlines in painting by subtle and gradual blending of one tone into another.\n\nThis library is able to play soundfonts (sf2 files) with the Web Audio API.\n\n## Status\n\nIt's still a work in progress! There might be a roadmap at some point in the future\n\n## Installation\n\n```sh\nnpm i sfumato --save\n```\n\n## Import\n\n```js\nimport { loadSoundfont, startPresetNote } from 'sfumato';\n```\n\n## API\n\n- `loadSoundfount(url)` loads a soundfont from a url. returns [Soundfont2](https://codeberg.org/froos/soundfont2-esm)\n- `startPresetNote(ctx, preset, midi, time)` plays a note, returns `stopHandle`\n  - `ctx` the audio context to use\n  - `preset` the preset to use (use one of [Soundfont2.presets](https://codeberg.org/froos/soundfont2-esm#soundfont2presets))\n  - `midi` midi number to play\n  - `time` audio context time to start playing (defaults to currentTime)\n- `stopHandle(time)` stops the note at the given time\n\n## Links\n\n- DEMO (coming soon)\n- [Codeberg](https://codeberg.org/froos/sfumato)\n- [Blog Post](https://loophole-letters.salat.dev/soundfonts) (draft)\n- [Usage with Strudel](https://strudel.tidalcycles.org/?u7qAdlwp3Qig)\n- [Minimal vanilla JS app example](https://github.com/urswilke/sf2_minimal)\n","readmeFilename":"README.md"}