| Andy, there is an *excellent* series of articles on synthesizing drum
sounds in the Sound On Sound archives. You may want to check that.
Iain
Andy Baxter wrote:
> hello,
>
> I'm thinking of having a go at writing a plugin for csound which produces
> synthesised drum sounds. The way I'm planning to do it is to find the roots
> of the bessel functions (solutions to the wave equation on a 2D circular
> sheet) to find the amplitude and frequency of the first several orthogonal
> frequency components, then synthesise these with a series of sine
> oscillators. The opcode would look something like:
>
> adrum besseldrum ifreq iamp istrikeradius istriketheta idamp [ kmicradius1
> kmictheta1 kmicamp1 kmicradius2 kmictheta2 kmicamp2] ...
>
> I.e. you could specify the base frequency of the drum, initial amplitude, the
> point on the drum where it was hit, a damping value, and then the locations
> of a series of 'microphones' which would pick up the resulting oscillations.
> The location of the strike point and the microphones would affect the balance
> of different frequency components in the output signal. It wouldn't be a full
> physical model like the waveguide opcodes - I'm planning to use the known
> solutions for this wave equation.
>
> I've got a fairly good general idea of how to go about this, but if anyone has
> any advice I would appreciate it. Roughly what I'm planning to do is to use
> the initialisation function to work out the frequencies of the different
> components, create tables of the solutions to the wave equation, and set up a
> series of sine oscillators (based on the oscil opcode). The amplitude of each
> component would be initialised according to where the drum was hit. Then the
> main function would mix the outputs from each of the virtual microphones into
> an output signal.
>
> The sort of thing that would be good to know is firstly if this is a valid
> approach to generating synth drum sounds? I'm not too worried about how much
> it sounds like a real drum, but it would be good to know if people have done
> this sort of thing before. Also if anyone has any general advice on writing
> opcodes for csound, that would be good. One thing I'm not sure about is what
> libraries to use to keep the code portable - the standard unix math library
> includes bessel functions, but I don't know if this is true for windows.
>
> thanks,
>
> andy baxter
>
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net |