Okie dokie, there is no rush, I'm not going anywhere hehe. I'm still
working away on it each day. I didn't go to school to make synthesizers
so I learn the only way I know how, by experimenting and reading
everythign I can find about it.
You can hear a sample I did, ignore the initial click, it doesn't that
in real-time. I'm figuring out why it does that.
But Port Audio is really not hard to compile and get working either.
Just run the make -f Makefile.linux, and copy the libportaudio.so to
your /usr/lib directory. FLTK is a little harder though, but maybe CCRMA
planet thing has it. I link statically because I use some cool widgets I
found from another project that won't compile yet.
Well good luck and all and thanks for interest it is lonely no one has
shown any interest yet but I've only been working on it for a month or
two. I have made alot of effort to make sure it does not alias and the
filters sound good. Really, the filters are the most important part, so
I did alot of hard work on them. A real analog synth will have
variations in the waveform, but I have experimented, and it doesn't make
that much of a difference to be honest. I tried simulating condensor
unloading by different means to round off the waveform, it really didn't
make any difference. I made variations on the amplitude and clipping,
not much of a difference. I tried clipping the sawtooth to get a 303
style saw, didn't make that much difference, but it sounded more
squarish.
I think the filter is really what makes an analog synth sound so good or
bad. I want to translate a Curtis VCF into LaPlace formula and than
bilinear transform it into Z domain (digital). I found a cool paper on
the moog, where he did the hard work to make the Laplace transform
already, and I just did that with bilinear into digital. Than I double
sampled it to get it stable. It sounds pretty close to a real Moog
filter but not exactly ( I had the real thing). The hard part was
figuring out I had to double sample it (resonance would blow out the
filter otherwise). Also, it didn't work with 32-bit floats correctly,
but I notice no difference in using doubles anyways, other than twice
the memory requirments which reminds me I need to look and see how much
memory it is using.
Eeek! I forgot to only make 1 static buffer for the waveforms, it was
taking 230 mb of RAM!! I just fixed it it should only take about 32mb.
Ok now it's fixed, I forgot about that...
See yah!