wasgen
react-juce
wasgen | react-juce | |
---|---|---|
4 | 2 | |
70 | 749 | |
- | - | |
2.6 | 0.0 | |
11 months ago | 5 months ago | |
JavaScript | C | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
wasgen
-
Web FM synthesizer made with HTML5
Very neat, though I got prominent clicks and artifacts in both chrome and firefox.
If anyone's interested, some years ago I made a wrapper library for things like this, to wallpaper over the famously hairy WebAudio synthesis API. Basically you pass in a static object describing the audio graph and parameters you want, and the lib creates the WebAudio nodes and then cleans them up after the sound releases.
https://github.com/fenomas/wasgen
-
Elementary Audio: a modern platform for writing high performance audio software
I work on this space a lot, and maintain a couple of libraries you might be interested in. They are very much focused on light quick "good enough" web audio music/sound effects.
https://github.com/fenomas/wasgen - a declarative abstraction layer around web audio oscillators and filters
https://fenomas.github.io/wafxr/ - a GUI front-end demo for the previous
-
Octave Compass
You might try wasgen, which I maintain. Basically you pass it an object that describes your audio graph, and a frequency/duration/volume, and it creates/disposes all the audio nodes.
https://github.com/andyhall/wasgen
Making the sound program objects isn't trivial if you're unfamiliar with low-level audio, but the live demo has examples for all MIDI instruments: https://andyhall.github.io/wasgen/
react-juce
-
Design and Juce
If you're keen to stay with HTML/CSS-like UI, then you might want to look at react-juce, which is a React frontend for JUCE. It will likely be more familiar to you than using JUCE directly, though it is not the same as using actual HTML/CSS.
-
Elementary Audio: a modern platform for writing high performance audio software
It's probably helpful to have some background context for the development of this
The author of this library is also the author of the React JUCE renderer. It's a toolkit that re-uses React Native's rendering engine to allow you to use JS and React to render JUCE components:
https://www.nickwritesablog.com/blueprint-a-juce-rendering-b...
https://github.com/JoshMarler/react-juce
So at this point, you have a (presumably) C++ JUCE app that is using JS/TS to render the UI. Why not work to move DSP stuff into JS as well, so that you're gluing minimal bits of C++ together?
It's not a far leap from there to here when you follow this down the road.
What are some alternatives?
beepbox - An online tool for sketching and sharing instrumental melodies.
elementary - A JavaScript runtime for writing native audio applications, as well as a library and framework for composing audio signal processes.
Maximilian - C++ Audio and Music DSP Library
vst-rs - VST 2.4 API implementation in rust. Create plugins or hosts. Previously rust-vst on the RustDSP group.
vst3sdk - VST 3 Plug-In SDK
sema-engine - A Signal Engine for a Live Code Language Ecosystem
fundsp - Library for audio processing and synthesis
octave-compass - A tool for exploring musical scales and chords
dasp - The fundamentals for Digital Audio Signal Processing. Formerly `sample`.