-
-
Notifications
You must be signed in to change notification settings - Fork 291
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Waveform synthesis #100
Comments
Excellent idea -- it's definitely on our to-do list, and one of my primary motivations for creating Alda. (MIDI just ended up being easier to implement, as a first step.) We can track it here in this issue. The original idea I had was to use Overtone, but it depends on Supercollider, which I think would make it difficult to package. A Java-native solution would be better. Minim might be a good fit -- some work has been done in making it easier to use without Processing and as a Maven dependency. |
If Alda becomes a cljc project (compiling to both Clojure and ClojureScript), I think we could move a lot faster with implementing waveform instruments in ClojureScript (via the Web Audio API, which I even have a little ClojureScript library for already) than we could in Clojure. In general, the types of libraries we have available to us in JavaScript vs. Java seem a lot more advanced. I've even had fleeting thoughts of abandoning Java altogether and just making Alda a ClojureScript project, which could potentially target the browser, the desktop, and maybe even the terminal via Node (although I'm not sure if you can use the Web Audio API without a browser). |
Apparently you can: https://github.com/sebpiq/node-web-audio-api EDIT: Although apparently the OscillatorNode is not supported, so maybe we need to find another library. This one looks good: https://github.com/colinbdclark/flocking |
JSyn looks promising. |
Should also have a look at JSynthLib. |
Klangmeister's |
Could you add an instrument that is a sine wave generator?
For example:
The text was updated successfully, but these errors were encountered: