Elementary is a JavaScript library for digital audio signal processing.
See the codeElementary is a JavaScript library for digital audio signal processing.
Every Elementary application starts with the @elemaudio/core package (npm, source), which provides the framework for defining your audio processes and a generic set of utilities for performing the graph rendering and reconciling steps.
Next, because Elementary is designed to be used in a number of different environments, there are several different ways to integrate. If you're new to the project, we recommend studying the following workflows to get the feel of working in Elementary:
Once you're ready to dive in, we suggest starting with one of these ideas:
You can find the Elementary documentation on the website, or if you like, you can jump straight into:
If you need help, join the community on the Elementary Audio Discord and ask any questions you have!
Releases are made both here in GitHub and deployed to npm following npm's semver conventions. Because your project may need to coordinate both the native C++ library and the corresponding JavaScript dependencies, it may be helpful to understand our release conventions.
develop branch using git tags
next to indicate their statusmain via git merge
latest, making them the default install candidates on npmAs a general rule of thumb, we recommend integrating Elementary via the main branch of this repo and the corresponding latest packages on npm. If you
want to target the more bleeding edge, you can integrate via the git tags on the develop branch and the corresponding next packages on npm.
We'd love to get you involved! Right now, the primary focus is to promote and grow the Elementary community. So if you want to help, consider:
If you're more interested in digging in under the hood, check out the open issues to see where we need help right now. Note that while we're focusing on the community around Elementary, the immediate goals in this repository are ease of use, extensibility, and performance. We will likely be careful and slow to add new features, so if there's a particular feature you want to see here, please open an issue to start a conversation around your proposal first.
If you wish to become involved in the project beyond development, you could become a sponsor. This form of assistance is deeply valued and instrumental in propelling the project forward. We are genuinely grateful for any support you choose to provide.
Elementary is MIT licensed.
1,031 followers · starred Jan 2024
4,283 followers · starred Dec 2024
1,325 followers · starred Oct 2024
1,111 followers · starred Mar 2025
Elementary is a JavaScript library for digital audio signal processing.
See the codeElementary is a JavaScript library for digital audio signal processing.
Every Elementary application starts with the @elemaudio/core package (npm, source), which provides the framework for defining your audio processes and a generic set of utilities for performing the graph rendering and reconciling steps.
Next, because Elementary is designed to be used in a number of different environments, there are several different ways to integrate. If you're new to the project, we recommend studying the following workflows to get the feel of working in Elementary:
Once you're ready to dive in, we suggest starting with one of these ideas:
You can find the Elementary documentation on the website, or if you like, you can jump straight into:
If you need help, join the community on the Elementary Audio Discord and ask any questions you have!
Releases are made both here in GitHub and deployed to npm following npm's semver conventions. Because your project may need to coordinate both the native C++ library and the corresponding JavaScript dependencies, it may be helpful to understand our release conventions.
develop branch using git tags
next to indicate their statusmain via git merge
latest, making them the default install candidates on npmAs a general rule of thumb, we recommend integrating Elementary via the main branch of this repo and the corresponding latest packages on npm. If you
want to target the more bleeding edge, you can integrate via the git tags on the develop branch and the corresponding next packages on npm.
We'd love to get you involved! Right now, the primary focus is to promote and grow the Elementary community. So if you want to help, consider:
If you're more interested in digging in under the hood, check out the open issues to see where we need help right now. Note that while we're focusing on the community around Elementary, the immediate goals in this repository are ease of use, extensibility, and performance. We will likely be careful and slow to add new features, so if there's a particular feature you want to see here, please open an issue to start a conversation around your proposal first.
If you wish to become involved in the project beyond development, you could become a sponsor. This form of assistance is deeply valued and instrumental in propelling the project forward. We are genuinely grateful for any support you choose to provide.
Elementary is MIT licensed.
1,031 followers · starred Jan 2024
4,283 followers · starred Dec 2024
1,325 followers · starred Oct 2024
1,111 followers · starred Mar 2025