Skip to content
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

Closed
190n opened this issue Sep 20, 2015 · 7 comments
Closed

Waveform synthesis #100

190n opened this issue Sep 20, 2015 · 7 comments

Comments

@190n
Copy link

190n commented Sep 20, 2015

Could you add an instrument that is a sine wave generator?

For example:

sine: c d e f g
@daveyarwood
Copy link
Member

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.

@daveyarwood daveyarwood changed the title Add sine wave instrument Waveform synthesis Sep 21, 2015
@daveyarwood
Copy link
Member

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

@daveyarwood
Copy link
Member

daveyarwood commented Oct 20, 2015

(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

@daveyarwood
Copy link
Member

JSyn looks promising.

@daveyarwood
Copy link
Member

Should also have a look at JSynthLib.

@daveyarwood
Copy link
Member

Klangmeister's connect-> has a DSL something like what I'm imagining as a way of designing synthesizer instruments in Alda.

@daveyarwood
Copy link
Member

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants