Damon Chaplin wrote:
On Thu, 2007-04-12 at 12:59 +0200, Thomas Janu wrote:
The Jack
examples are a great place to start looking at code. Also, I
wrote a howto for people writing Jack apps for the first time:
http://www.dis-dot-dat.net/index.cgi?item=/jacktuts/starting/
That's already great, thanks a lot! ;)
I hope you get more sources in this thread,
because I would like to
read more myself.
More specifically I'm looking for commented code
examples/tutorials on how to
emulate sound synthesis, so writing oscillators, filters and so on as well as
nice examples of the ``big picture'' so that i can see how it's all put
together
to form a synth. That'd be really nice.
I've been learning the same stuff recently as well.
when learning to code, it's easier and more fun to start from scratch
rather than jumping on some existing project! - But I agree with Loki
that linuxaudio is lacking resources and the wheel has been re-invented
too often already..
http://apps.linuxaudio.org/apps/categories/software_sound_synthesis_and_mus…
http://apps.linuxaudio.org/apps/categories/softsynths_and_samplers
http://apps.linuxaudio.org/apps/categories/general_synthesis_packages
DSSI and LV2 do have well defined API's and once you got a bit of coding
experience, you will gladly embrace those APIs to get things done more
quickly, and it makes it also easier for others to use your code.
There are also a lot of high-level langs to implement synths or
algorithms. (supercollider, Csound, pure-data, ...)
I've attached my first attempt at a very basic
synth using ALSA MIDI for
input and JACK for output. (Note that I'm not an audio expert so there
may be a few errors in it. If anyone spots an error please let me know.)
only glimpsed quickly over it, looks good.
minor detail - in the jack_process callback:
add jack_port_get_total_latency(..) to Note[i].oscillator_offset;
#robin