{"_id":"p5.sound","_rev":"10-9a1b462900f8406703cd2c8e05db5c01","name":"p5.sound","dist-tags":{"rc":"0.3.0-rc.0","latest":"0.4.1"},"versions":{"0.1.0-beta":{"name":"p5.sound","version":"0.1.0-beta","keywords":["p5.js","sound"],"author":{"name":"tommy"},"license":"LGPL-2.1","_id":"p5.sound@0.1.0-beta","maintainers":[{"name":"p5.js","email":"hello@p5js.org"}],"dist":{"shasum":"8f3233ea10be197d0dcd60215a4a9a1aa0e2a219","tarball":"https://registry.npmjs.org/p5.sound/-/p5.sound-0.1.0-beta.tgz","fileCount":5,"integrity":"sha512-B6phS7b4ohROLkOiVAwGkugx2DauwmsFTFl9CNtC9x3cOSqvgUmH52sERBPZQm1Hbt/yPiBIpezpb1XUb2JX/w==","signatures":[{"sig":"MEQCIAdqyiZlaWzbXdnDE3HeQSooeEaihBLnTijhtrN+he7tAiBaSucvJHU1DbzCc9dgd7bLykNIVcmdwV+SpvP0S76VXA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":980664},"main":"./dist/p5.sound.js","gitHead":"4300587ab799eda2f056cbc755be86d5631e4c7b","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c"},"_npmUser":{"name":"p5.js","email":"hello@p5js.org"},"_npmVersion":"10.5.0","description":"a light p5.js wrapper for tone.js ","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","dependencies":{"tone":"^15.0.2","lodash":"^4.17.21","yuidocjs":"^0.10.2"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^2.79.1","webpack":"^5.91.0","@babel/core":"^7.24.5","webpack-cli":"^5.1.4","babel-loader":"^9.1.3","@babel/preset-env":"^7.24.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-babel":"^6.0.4","rollup-plugin-ignore":"^1.0.10","rollup-plugin-terser":"^7.0.2","terser-webpack-plugin":"^5.3.10","@rollup/plugin-commonjs":"^26.0.1","rollup-plugin-visualizer":"^5.12.0","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/p5.sound_0.1.0-beta_1726688308511_0.9814404006591539","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"p5.sound","version":"0.1.0","keywords":["p5.js","sound"],"author":"","license":"LGPL-2.1","_id":"p5.sound@0.1.0","maintainers":[{"name":"p5.js","email":"hello@p5js.org"}],"dist":{"shasum":"87a71d01b61e75b8de0f729829c1af58a2766a67","tarball":"https://registry.npmjs.org/p5.sound/-/p5.sound-0.1.0.tgz","fileCount":5,"integrity":"sha512-Yy2z9GxT1Jeah/KXynEe3442SchuPt7HSrLJ07r4E/o7CMEvW9Fcud4c0Uus7B0oD2ZYhz4R6GpmhqYiVoNv0Q==","signatures":[{"sig":"MEQCIDK9iG/d9HtbSZjyPRA6q4z2SDn0wO7tqYhmp6+1HAPPAiATpfYOFIpNyHKguoSkKeyJOzotEyzpOqBr9pmM+4q1Gw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":982665},"main":"./dist/p5.sound.js","gitHead":"337af41bbe474192d7974a7f5a97fd1e833db291","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c"},"_npmUser":{"name":"p5.js","email":"hello@p5js.org"},"_npmVersion":"10.5.0","description":"p5.sound is a minimal wrapper for Tone.js designed to extend the musical and audio capabilities of the p5.js core library.","directories":{},"sideEffects":false,"_nodeVersion":"21.7.1","dependencies":{"tone":"^15.0.2","lodash":"^4.17.21","yuidocjs":"^0.10.2"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^2.79.1","webpack":"^5.91.0","@babel/core":"^7.24.5","webpack-cli":"^5.1.4","babel-loader":"^9.1.3","@babel/preset-env":"^7.24.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-babel":"^6.0.4","rollup-plugin-ignore":"^1.0.10","rollup-plugin-terser":"^7.0.2","terser-webpack-plugin":"^5.3.10","@rollup/plugin-commonjs":"^26.0.1","rollup-plugin-visualizer":"^5.12.0","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/p5.sound_0.1.0_1727897034039_0.7060709107708212","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"p5.sound","version":"0.2.0","keywords":["p5.js","sound"],"author":"","license":"LGPL-2.1","_id":"p5.sound@0.2.0","maintainers":[{"name":"p5.js","email":"p5@processingfoundation.org"},{"name":"stalgiag","email":"stalgia.grigg@gmail.com"},{"name":"outofambit","email":"coding@outofambit.com"},{"name":"limzykenneth","email":"limzy.kenneth@gmail.com"},{"name":"ksen0","email":"kit@processingfoundation.org"}],"dist":{"shasum":"c3acd935af549d9bebeedce4d681492963215308","tarball":"https://registry.npmjs.org/p5.sound/-/p5.sound-0.2.0.tgz","fileCount":5,"integrity":"sha512-0NDimegAS97BRC/1Hib5btwzZs0GZuC+TGpj5WYzIkjJY2wLmqqvye/jQOkckELIyDwiZa9ywPbl9qenhtrmBg==","signatures":[{"sig":"MEYCIQD3Q9cKQioGHs9xVB6coWd9gqmECuEWAjWPwEsjskPKJAIhAPhOJiJgcg52mPN2QRJz86MgzwM7Y2Szkvjj5m4SSVOW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":992049},"main":"./dist/p5.sound.js","gitHead":"6e8235756fd8e414941fd9ba37428ee16bb4ab3c","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c"},"_npmUser":{"name":"ksen0","email":"kit@processingfoundation.org"},"_npmVersion":"10.9.1","description":"p5.sound is a minimal wrapper for Tone.js designed to extend the musical and audio capabilities of the p5.js core library.","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"tone":"^15.0.2","lodash":"^4.17.21","yuidocjs":"^0.10.2"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^2.79.1","webpack":"^5.91.0","@babel/core":"^7.24.5","webpack-cli":"^5.1.4","babel-loader":"^9.1.3","@babel/preset-env":"^7.24.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-babel":"^6.0.4","rollup-plugin-ignore":"^1.0.10","rollup-plugin-terser":"^7.0.2","terser-webpack-plugin":"^5.3.10","@rollup/plugin-commonjs":"^26.0.1","rollup-plugin-visualizer":"^5.12.0","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/p5.sound_0.2.0_1742405303736_0.6692577363970433","host":"s3://npm-registry-packages-npm-production"}},"0.3.0-rc.0":{"name":"p5.sound","version":"0.3.0-rc.0","keywords":["p5.js","sound"],"author":"","license":"LGPL-2.1","_id":"p5.sound@0.3.0-rc.0","maintainers":[{"name":"p5.js","email":"p5@processingfoundation.org"},{"name":"stalgiag","email":"stalgia.grigg@gmail.com"},{"name":"outofambit","email":"coding@outofambit.com"},{"name":"limzykenneth","email":"limzy.kenneth@gmail.com"},{"name":"ksen0","email":"kit@processingfoundation.org"}],"dist":{"shasum":"e30af6f92657456a31545c8deadb566eb0a510f1","tarball":"https://registry.npmjs.org/p5.sound/-/p5.sound-0.3.0-rc.0.tgz","fileCount":5,"integrity":"sha512-kowt+iYq1FN4y5ShbFPQH8RTVE8ShmgnellfjoWjlCCktXeO9gahlXclf2R4QveoRF4pXgdKQOrlecUm1IMkzg==","signatures":[{"sig":"MEQCIGgv2GjqUOeyq+kpFiC3+ty7WEscUwihsALsrN8lOWRRAiBPAuHGQYhrAKnrjACtWzhwr+M+Z8Caa+D6WiCqfjPyYA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":985942},"main":"./dist/p5.sound.js","gitHead":"314559c4069f4f5a1412969df82e32a5b7afdbc6","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c"},"_npmUser":{"name":"ksen0","email":"kit@processingfoundation.org"},"_npmVersion":"11.2.0","description":"p5.sound is a minimal wrapper for Tone.js designed to extend the musical and audio capabilities of the p5.js core library.","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"tone":"^15.0.2","lodash":"^4.17.21","yuidocjs":"^0.10.2"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"rollup":"^2.79.1","webpack":"^5.91.0","@babel/core":"^7.24.5","webpack-cli":"^5.1.4","babel-loader":"^9.1.3","@babel/preset-env":"^7.24.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-babel":"^6.0.4","rollup-plugin-ignore":"^1.0.10","rollup-plugin-terser":"^7.0.2","terser-webpack-plugin":"^5.3.10","@rollup/plugin-commonjs":"^26.0.1","rollup-plugin-visualizer":"^5.12.0","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/p5.sound_0.3.0-rc.0_1762471475343_0.3580843127041926","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"p5.sound","version":"0.3.0","keywords":["p5.js","sound"],"author":"","license":"LGPL-2.1","_id":"p5.sound@0.3.0","maintainers":[{"name":"p5.js","email":"p5@processingfoundation.org"},{"name":"stalgiag","email":"stalgia.grigg@gmail.com"},{"name":"outofambit","email":"coding@outofambit.com"},{"name":"limzykenneth","email":"limzy.kenneth@gmail.com"},{"name":"ksen0","email":"kit@processingfoundation.org"}],"dist":{"shasum":"db8be2ec97524aec808ed49cbe6396972a395264","tarball":"https://registry.npmjs.org/p5.sound/-/p5.sound-0.3.0.tgz","fileCount":5,"integrity":"sha512-bdfsPNAe838HX/bEOJlp76XS1HRIPbhbSoMvDuYZIj9nkLuRs9A0zVisl7lWVcVDJs37FZQjJbpfXFJQUEDEig==","signatures":[{"sig":"MEYCIQD4eGbfll14QmBm/b9MMfhwN60X8MvFt6+pKzcF+lzdMwIhAMsFyPVs81qkU2+4O8dP0Nes3atndUBAEFGg4ltSNJM+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1001722},"main":"./dist/p5.sound.js","gitHead":"ad04d82a82f6f5207c01b186ef86a177632470a0","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"rollup -c"},"_npmUser":{"name":"ksen0","email":"kit@processingfoundation.org"},"_npmVersion":"11.2.0","description":"p5.sound is a minimal wrapper for Tone.js designed to extend the musical and audio capabilities of the p5.js core library.","directories":{},"sideEffects":false,"_nodeVersion":"20.17.0","dependencies":{"tone":"^15.0.2","lodash":"^4.17.21","yuidocjs":"^0.10.2"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^2.79.1","webpack":"^5.91.0","@babel/core":"^7.24.5","webpack-cli":"^5.1.4","babel-loader":"^9.1.3","@babel/preset-env":"^7.24.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-babel":"^6.0.4","rollup-plugin-ignore":"^1.0.10","rollup-plugin-terser":"^7.0.2","terser-webpack-plugin":"^5.3.10","@rollup/plugin-commonjs":"^26.0.1","rollup-plugin-visualizer":"^5.12.0","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/p5.sound_0.3.0_1774984585430_0.6985878394717149","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"p5.sound","version":"0.4.0","keywords":["p5.js","sound"],"author":"","license":"LGPL-2.1","_id":"p5.sound@0.4.0","maintainers":[{"name":"p5.js","email":"p5@processingfoundation.org"},{"name":"stalgiag","email":"stalgia.grigg@gmail.com"},{"name":"outofambit","email":"coding@outofambit.com"},{"name":"limzykenneth","email":"limzy.kenneth@gmail.com"},{"name":"ksen0","email":"kit@processingfoundation.org"}],"dist":{"shasum":"e22aa7e762e81eb3cb0f7570ff02ef68ac99460e","tarball":"https://registry.npmjs.org/p5.sound/-/p5.sound-0.4.0.tgz","fileCount":5,"integrity":"sha512-nnBZeUr4qU1sHtt//DDDCHfweZRk9slujjYbqrWf/T18gMXQegwgk+enPil/wc6ezliiwusDlhVU010cjBiNxg==","signatures":[{"sig":"MEUCIQCqIB7ckorxXFpGuWN6/JPANTOJHFUpAy/AzyLA966F1wIgQuJdpWTS/U96+qELIYx/0QPYXm1AvMTbGMPG3bBLTyU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1004066},"main":"./dist/p5.sound.js","gitHead":"b9a83b7450b1bd8be73332ed357b76c80c74d17c","scripts":{"build":"rollup -c","test:integration":"npm run build && npx playwright test","test:integration:ui":"npm run build && npx playwright test --ui","test:integration:web":"npx playwright test test-examples-on-web-editor","test:integration:local":"npm run build && npx playwright test test-examples-local","test:integration:web:chromium":"npx playwright test test-examples-on-web-editor --project=web-chromium","test:integration:local:chromium":"npm run build && npx playwright test test-examples-local --project=local-chromium"},"_npmUser":{"name":"ksen0","email":"kit@processingfoundation.org"},"_npmVersion":"10.9.7","description":"p5.sound is a minimal wrapper for Tone.js designed to extend the musical and audio capabilities of the p5.js core library.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"tone":"^15.0.2","lodash":"^4.17.21","yuidocjs":"^0.10.2"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^2.79.1","webpack":"^5.91.0","@babel/core":"^7.24.5","@types/node":"^25.9.1","http-server":"^14.1.1","webpack-cli":"^5.1.4","babel-loader":"^9.1.3","@playwright/test":"^1.60.0","@babel/preset-env":"^7.24.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-babel":"^6.0.4","rollup-plugin-ignore":"^1.0.10","rollup-plugin-terser":"^7.0.2","terser-webpack-plugin":"^5.3.10","@rollup/plugin-commonjs":"^26.0.1","rollup-plugin-visualizer":"^5.12.0","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/p5.sound_0.4.0_1784651710731_0.7721706182773727","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Incorrect build, please use 0.4.1"},"0.4.1":{"name":"p5.sound","version":"0.4.1","keywords":["p5.js","sound"],"author":"","license":"LGPL-2.1","_id":"p5.sound@0.4.1","maintainers":[{"name":"p5.js","email":"p5@processingfoundation.org"},{"name":"stalgiag","email":"stalgia.grigg@gmail.com"},{"name":"outofambit","email":"coding@outofambit.com"},{"name":"limzykenneth","email":"limzy.kenneth@gmail.com"},{"name":"ksen0","email":"kit@processingfoundation.org"}],"dist":{"shasum":"ff4c82919422fb8f903f2ac9be1ed5b9ddc5110f","tarball":"https://registry.npmjs.org/p5.sound/-/p5.sound-0.4.1.tgz","fileCount":5,"integrity":"sha512-cOny1h9mjGl0TemaoN4WDfNkno4I2czveXtvaYDJrmyCfpVLsOQgDG6kyKqIOQeYrfMnaW2GbTO85o7t+UjSJQ==","signatures":[{"sig":"MEYCIQCrJOjAMaq2qWEtVcI5F9vz3t7o0p6r7HzfB9xRv+5KYQIhAMCoLPFFXp2cWbAnmghGBPxmOoOkk8MEguateEkfhm1F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1049457},"main":"./dist/p5.sound.js","gitHead":"4f44c1c0c535a9052cdca2e319c4f324cc821f09","scripts":{"build":"rollup -c","test:integration":"npm run build && npx playwright test","test:integration:ui":"npm run build && npx playwright test --ui","test:integration:web":"npx playwright test test-examples-on-web-editor","test:integration:local":"npm run build && npx playwright test test-examples-local","test:integration:web:chromium":"npx playwright test test-examples-on-web-editor --project=web-chromium","test:integration:local:chromium":"npm run build && npx playwright test test-examples-local --project=local-chromium"},"_npmUser":{"name":"ksen0","email":"kit@processingfoundation.org"},"_npmVersion":"10.9.7","description":"p5.sound is a minimal wrapper for Tone.js designed to extend the musical and audio capabilities of the p5.js core library.","directories":{},"sideEffects":false,"_nodeVersion":"22.22.2","dependencies":{"tone":"^15.0.2","lodash":"^4.17.21","yuidocjs":"^0.10.2"},"_hasShrinkwrap":false,"devDependencies":{"rollup":"^2.79.1","webpack":"^5.91.0","@babel/core":"^7.24.5","@types/node":"^25.9.1","http-server":"^14.1.1","webpack-cli":"^5.1.4","babel-loader":"^9.1.3","@playwright/test":"^1.60.0","@babel/preset-env":"^7.24.5","@rollup/plugin-json":"^6.1.0","@rollup/plugin-babel":"^6.0.4","rollup-plugin-ignore":"^1.0.10","rollup-plugin-terser":"^7.0.2","terser-webpack-plugin":"^5.3.10","@rollup/plugin-commonjs":"^26.0.1","rollup-plugin-visualizer":"^5.12.0","@rollup/plugin-node-resolve":"^15.2.3"},"_npmOperationalInternal":{"tmp":"tmp/p5.sound_0.4.1_1784653677855_0.4970944480131536","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2024-09-18T19:38:28.510Z","modified":"2026-07-21T17:14:13.379Z","0.1.0-beta":"2024-09-18T19:38:28.770Z","0.1.0":"2024-10-02T19:23:54.356Z","0.2.0":"2025-03-19T17:28:23.971Z","0.3.0-rc.0":"2025-11-06T23:24:35.628Z","0.3.0":"2026-03-31T19:16:25.626Z","0.4.0":"2026-07-21T16:35:10.913Z","0.4.1":"2026-07-21T17:07:58.022Z"},"license":"LGPL-2.1","keywords":["p5.js","sound"],"description":"p5.sound is a minimal wrapper for Tone.js designed to extend the musical and audio capabilities of the p5.js core library.","maintainers":[{"name":"ksen0","email":"kit@processingfoundation.org"},{"name":"limzykenneth","email":"limzy.kenneth@gmail.com"},{"name":"outofambit","email":"coding@outofambit.com"},{"name":"p5.js","email":"p5@processingfoundation.org"},{"name":"stalgiag","email":"stalgia.grigg@gmail.com"}],"readme":"# p5.sound.js\n\np5.sound.js extends the musical and sonic capabilities of [p5.js](https://p5js.org). It is designed to be a minimal abstraction of the [Tone.js](https://tonejs.github.io/) library with a feature set that is inspired by p5.js's approach to accessible and poetic creative coding. Key functionalities include audio input, sound file playback and manipulation, effects, synthesis and analysis.\n\n## Examples\n\n- A set of p5.sound examples are in this repo at [examples/](examples/)\n- The original examples can be found on the p5.js web editor [here](https://editor.p5js.org/thomasjohnmartinez/collections/Dp0zGclVL).  Note that these may differ from the above set.\n- Legacy p5.js Sound Tutorial by Dan Shiffman on [YouTube](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6aFcVjlDAkkGIixw70s7jpW)\n\n## Documentation\n\nInteractive documentation can be found at [beta.p5js.org/reference/p5.sound](http://beta.p5js.org/reference/p5.sound)\n\n## Latest Build\n\n- Find the latest official release of p5.sound.js [here](https://github.com/processing/p5.sound.js/releases), and the latest p5.js version 2 [here](https://beta.p5js.org/download/). p5.sound work with both p5.sj version 2 and version 1.\n- The p5.sound.js library [here](https://github.com/processing/p5.sound.js) is updated more frequently, and we occasionally offer new [releases](https://github.com/processing/p5.sound.js/releases) before the release cycle of p5.js.\n\n## Contribute\n\nIf you would like to contribute to this project, visit https://github.com/processing/p5.js/tree/main/contributor_docs to get started.\n\nIf you have any questions or concerns regarding the project, you can reach out to our [Discord](https://discord.gg/HWzy4HpaEJ) and [Gitter](https://gitter.im/processing/p5.js-sound) communities. The p5.js team closely monitors all pull requests and issues on GitHub, so there's no need to also post them on Discord. Additionally, conversations about specific pull requests and issues should take place on GitHub, to ensure that people following along can see and take part in the discussion.\n\n## Dependencies\n\np5.sound is built using [Tone.js](https://github.com/tonejs/Tone.js), an interactive music framework developed by [Yotam Mann](https://github.com/tambien).\n\n## Library Revision\n\nThis repository is an update of the [original p5.sound](https://github.com/processing/p5.js-sound) library (initially authored by [Jason Sigal](https://github.com/therewasaguy)) made with the following goals in mind:\n\n- Code stability and readability\n- Updated and fewer dependencies\n- Deprecating the least used features\n- Greater consistency between classes and methods\n\nThe project was started by aarón montoya-moraga ([montoyamoraga](https://github.com/montoyamoraga)) during the 2023 p5.js sound fellowship (read the [announcement](https://medium.com/@ProcessingOrg/announcing-the-2023-p5-sound-fellow-aar%C3%B3n-montoya-moraga-7613450902f6) for more details) and was completed by [Tommy Martinez](https://github.com/ogbabydiesal) in September, 2024.\n\nA changeleog of new and deprecated features in the new library can be viewed ([here](https://docs.google.com/spreadsheets/d/1pL0EVOlRTtfc6kcmK2rd9tZXpZal8FkJKALPb7app28/edit?gid=0#gid=0))\n\nCore contributors:\n- Tommy Martinez ([ogbabydiesal](https://github.com/ogbabydiesal))\n- aarón montoya-moraga ([montoyamoraga](https://github.com/montoyamoraga))\n\nProject mentors and advisors:\n- Kristin Galvin ([blechdom](https://github.com/blechdom))\n- Kenneth Lim ([limzykenneth](https://github.com/limzykenneth))\n- Rachel Lim ([raclim](https://github.com/raclim))\n- Yotam Mann ([tambien](https://github.com/tambien))\n- Dave Pagurek ([davepagurek](https://github.com/davepagurek))\n- Luisa Peirera ([luisaph](https://github.com/luisaph))\n- Jason Sigal ([therewasaguy](https://github.com/therewasaguy))\n- Cassie Tarakajian ([catarak](https://github.com/catarak))\n- Qianqian Ye ([Qianqianye](https://github.com/Qianqianye))\n\n## Sound Assets\n\nThe audio files in [`sounds/`](./sounds) are dedicated to the public domain \nunder [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/) — \nsee [`sounds/LICENSE`](./sounds/LICENSE) for performer credits and full details.\n\n## Usage\n\nTo use this library, make sure you have p5.js installed. Visit the [p5.js website](https://p5js.org/) for more information and installation instructions.\n\nPlease let us know if you find any bugs or issues by creating a new issue in this repo!\n\n## Building the Library\n\ninstalling the dependencies\n```\nnpm install\n```\n\nbuilding the library\n```\nnpm run build\n```\n\nbuilding reference pages (optional)\n```\nnpx yuidoc .\n```\n\n## Testing the examples\n\nThe library is configured to use [Playwright](https://playwright.dev/) to automatically test the [local](./examples) and [web-editor-hosted](https://editor.p5js.org/thomasjohnmartinez/collections/Dp0zGclVL) sets of p5.sound.js examples by automatically controlling a browser (firefox or chromium).\n\nIf you haven't used Playwright on your system before, you'll have to run the following command _once_ to allow it to download the browsers it uses:\n\n### Setting up playwright\n```bash\nnpx playwright install\n```\n\n### Starting the tests\n1. Launch playwright's test-runner UI: \n```bash\nnpm run test:integration:ui\n```\n\n2. Choose example set(s) and browser(s)\nFrom the GUI, click \"projects\" and choose which examples (\"web-\" and/or \"local-\") and which browsers (\"chromium\" and/or \"firefox\") you wish to test.\n\n3. Run the tests!\nclick the green play button at the top of the list of tests.\n\nIf a test fails, you can inspect its console log, the test actions, and even screenshots of what it looked like while it was running.\n\nThere are also various other ways to run the tests automatically without any interaction.  \n\nFor more information, read [tests/integration/about-these-tests.md](tests/integration/about-these-tests.md)","readmeFilename":"README.md"}