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 -- Please don't send me html mail or un-notified attachments. These will be automatically filed under 'probable spam' unless I'm expecting an email which hasn't come. If you do need to send an attachment or html mail, put [attachment] or [html] in the subject line. Thanks, andy. ------------------------------------------------------- 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