p5.sound.js extends the musical and sonic capabilities of p5.js. It is designed to be a minimal abstraction of the Tone.js 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.
Interactive documentation can be found at p5js.org/reference/p5.sound
- Visit http://p5js.org/download/ for the latest official release of p5.js with the latest p5.sound included.
- The p5.sound.js library here is updated more frequently, and we occasionally offer new releases before the release cycle of p5.js.
If you would like to contribute to this project, visit https://github.com/processing/p5.js/tree/main/contributor_docs to get started.
If you have any questions or concerns regarding the project, you can reach out to our Discord and Gitter 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.
p5.sound is built using Tone.js, an interactive music framework developed by Yotam Mann.
This repository is an update of the original p5.sound library (initially authored by Jason Sigal) made with the following goals in mind:
- Code stability and readability
- Updated and fewer dependencies
- Deprecating the least used features
- Greater consistency between classes and methods
The project was started by aarón montoya-moraga (montoyamoraga) during the 2023 p5.js sound fellowship (read the announcement for more details) and was completed by Tommy Martinez in September, 2024.
Core contributors:
- Tommy Martinez (ogbabydiesal)
- aarón montoya-moraga (montoyamoraga)
Project mentors and advisors:
- Kristin Galvin (blechdom)
- Kenneth Lim (limzykenneth)
- Rachel Lim (raclim)
- Yotam Mann (tambien)
- Dave Pagurek (davepagurek)
- Luisa Peirera (luisaph)
- Jason Sigal (therewasaguy)
- Cassie Tarakajian (catarak)
- Qianqian Ye (Qianqianye)
To use this library, make sure you have p5.js installed. Visit the p5.js website for more information and installation instructions.
Please let us know if you find any bugs or issues by creating a new issue in this repo!
installing the dependencies
npm install
building the library
npm run build
building reference pages (optional)
npx yuidoc .