We are about to switch to a new forum software. Until then we have removed the registration on this forum.
Hi people, I want to make a program for a project in my uni, like a simple synth. First of all, I want to make it synthetize notes with different wave forms. Once that is achieved (I think it will be the easiest part), I'll try to make it compatible to a midi keyboard, add filters and envelopes, and more complex stuff. My professor recommended Processing (Actually, it was a Delphi course, but for the final project we are not tied to Pascal). I've been searching and there are some powerful libraries like minim, beads, sonia, jsyn, but I dont know exactly what are the pros and cons of each one. So, what library would you suggest me?
Answers
Do you have to code everything from scratch? If so then you might be best not using a library ... You can work on raw sample data and just write it to java line out?
@hudson_m4000 not necessarily, I can use code someone already did. What do you mean? Base my synthesis in .wav files?
What I mean, for example, is if you are going to write your own routines to create square, sine, triangle wavs etc , then the easiest way to hear them is to send those as a byte output stream using a java line. In Android there is an AudioTrack class. This gives you full control. A library will remove the need to code your own waveforms and makes playback a bit more straight forward. Adding fx willl also be easy with a library, but if you are expected to code your own low pass filter, for example, then that will need access to the data which is usually hidden away when using a library.
@hudson_m4000 hmmm gonna have that in mind, I have the whole (austral) summer, thanks for the answer!
I'll post a bit of starter code for you later ..
Try them out. Make a little "hello world" sketch for each library, and see which one you like best.
latency is also a detail. I've been messing with minim and I get kinda decent latency when the sample rate is set to 512, but quality is lost