Skip to content

p5.sound.js migration guide #33

Closed
Closed

Description

@sidwellr

This 1.x/2.x compatibility/changelist repository doesn't mention the major changes to p5.sound.js that were part of the 2.x change. A migration guide, or even a list of changes would be very helpful.

I tried to migrate a 1.11.1 sketch I wrote awhile ago to 2.0.5, and have encountered nothing but confusion. I went to the Library Management popup and chose version 2.0.5. It turned off the p5.sound.js Add-on Library. I turned it back on, and it added a line to index.html for version 0.2.0 of p5.sound. The version seems to be going backwards! And it didn't work, giving an error "TypeError: p5.MonoSynth is not a constructor". There is a link on the Library Management "View the reference for p5.sound compatible with p5.js 2.0.5", which I clicked. The reference doesn't include p5.MonoSynth, so is that deprecated? What do I use instead? (For this issue, that question is rhetorical; I share my experience to illustrate the need for a migration guide. Though if someone has an answer, I might try the migration again.)

If a p5.sound migration guide isn't coming anytime soon, at least mention that it has changed significantly in the list of 2.x changes.

Activity

  1. added this to the 2.2 milestone on Dec 16, 2025
  2. moved this to In Progress in p5.js 2.x 🌱🌳on Dec 16, 2025
  3. self-assigned this
    on Dec 16, 2025
  4. ksen0 commented on Dec 17, 2025

    @ksen0
    Member

    This is an important documentation gap to fill. I'll use the feature list (this is also in one of the p5.sound.js issues, but it's not surfaced) for the guide. cc @ogbabydiesal please let me know if there's any updates to that list I should keep in mind?

  5. sidwellr commented on Dec 18, 2025

    @sidwellr
    Author

    I've seen the feature list. It's helpful for missing methods in implemented classes (like SoundFile.setVolume()), but gives no suggestions for classes that aren't implemented (like SoundLoop and SoundRecorder).

  6. modified the milestones: 2.2, 2.3 on Jan 20, 2026
  7. removed this from the 2.3 milestone on Apr 30, 2026
  8. added this to the v2 Default Switch milestone on Jun 3, 2026
  9. ksen0 commented on Oct 16, 2026

    @ksen0
    Member

    Update:
    Examples will be added in: processing/p5.js-website#1232
    Changes have been documented at: https://github.com/processing/p5.js-compatibility#p5soundjs-compatibility

  10. ogbabydiesal commented on Oct 16, 2026

    @ogbabydiesal
    Member

    adding that the compatibility document refers people to Tone.js for missing classes.

    "The new p5.sound.js includes some breaking changes. Many of these changes include the removal of classes that we deemed redundant when considering the existence of Tone.js. You can read more about this decision here: Announcing the New p5.sound.js Library.
    If you want to use any of the deprecated classes or features, you may find the original p5.sound library in the editor (with any of the v1 versions) and the original reference docs here: https://v1.p5js.org/reference/p5.sound/"

  11. ksen0 commented on Nov 2, 2026

    @ksen0
    Member

    I'll close this one as compatibility repository includes changelog; I am currently still in progress on merging the examples to the site but since this is the migration guide I will mark as complete.

  12. moved this from In Progress to Completed in p5.js 2.x 🌱🌳on Nov 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Relationships

None yet

Development

No branches or pull requests

Issue actions