Re: [LAU] Online resources/books for programming sound synthesis software?

From: Robin Gareus <robin@email-addr-hidden>
Date: Thu Apr 12 2007 - 16:40:26 EEST

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_music_composition_packages
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
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/mailman/listinfo.cgi/linux-audio-user
Received on Thu Apr 12 20:15:03 2007

This archive was generated by hypermail 2.1.8 : Thu Apr 12 2007 - 20:15:03 EEST