Skip to content

processing/p5.sound.js

Repository files navigation

p5.sound.js

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.

Examples

  • p5.sound example on p5.js editor here
  • Legacy p5.js Sound Tutorial by Dan Shiffman on YouTube

Documentation

Interactive documentation can be found at p5js.org/reference/p5.sound

Latest Build

  • 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.

Contribute

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.

Dependencies

p5.sound is built using Tone.js, an interactive music framework developed by Yotam Mann.

Library Revision

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:

Project mentors and advisors:

Usage

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!

Building the Library

installing the dependencies

npm install

building the library

npm run build

building reference pages (optional)

npx yuidoc .