Csound Csound-dev Csound-tekno Search About

[Csnd] Pipe Organ simulation advice

Date2012-04-18 17:27
FromRoger Kelly
Subject[Csnd] Pipe Organ simulation advice

I am wanting to build a model of a pipe organ.  I started with noise and then tried to constrain the frequency using a bandpass filter.  Sounds pretty decent, but obviously amplitudes are greatly reduced.   Is there a better approach for signal generation versus using noise?


 asig noise kamp, .44

ares butterbp asig, kcps, .02

ares2 butterbp asig, kcps*1, .02

ares3 butterbp asig, kcps*.5, .02

ares4 butterbp asig, kcps*3, .02

ares5 butterbp asig, kcps*.25, .02

; al, ar loscil kamp, kcps+(kcps*idetune), 2, ibas

aout butterlp ares*2750+ares2*740+ares3*750+ares4*950+ares5*750, 4000


Date2012-04-18 17:47
Frommark jamerson
SubjectRe: [Csnd] Pipe Organ simulation advice

  Pipes are rather simple and pure acoustically, and I would suggest just using basic sine oscillators in an additive fashion.  If that makes it sound too pure, you can add a little bit of noise to each oscillator.  Something like the following:

knoise  noise .01,.44    ; an amp of .01 corresponds to your bandwidth of .02 in butterbp 

aosc1  oscil  kamp1,kcps+knoise,ifn
aosc2  oscil  kamp2,kcps*.5+knoise,ifn
aosc3  oscil  kamp3,kcps*3+knoise,ifn
...

You can set each of the kamps to the desired value for each partial and then sum them all together.  The ifn would be a sine wave f-table. 


From: Roger Kelly <loraxman@gmail.com>
To: csound <csound@lists.bath.ac.uk>
Sent: Wednesday, April 18, 2012 11:27 AM
Subject: [Csnd] Pipe Organ simulation advice

I am wanting to build a model of a pipe organ.  I started with noise and then tried to constrain the frequency using a bandpass filter.  Sounds pretty decent, but obviously amplitudes are greatly reduced.   Is there a better approach for signal generation versus using noise?

 asig noise kamp, .44
ares butterbp asig, kcps, .02
ares2 butterbp asig, kcps*1, .02
ares3 butterbp asig, kcps*.5, .02
ares4 butterbp asig, kcps*3, .02
ares5 butterbp asig, kcps*.25, .02
; al, ar loscil kamp, kcps+(kcps*idetune), 2, ibas
aout butterlp ares*2750+ares2*740+ares3*750+ares4*950+ares5*750, 4000



Date2012-04-18 18:02
FromMichael Gogins
SubjectRe: [Csnd] Pipe Organ simulation advice
Look at the Aeolus free software pipe organ:
http://users.skynet.be/solaris/linuxaudio/aeolus.html.

This is a very good instrument. No, it is a _wonderful_ instrument.
Unfortunately it works only on Linux and only via Jack. I used it with
Csound to make a piece that was performed at the 2011 Linux Audio
Conference.

In order to use Aeolus with Csound, I created the Jacko opcodes to
route notes from Csound into Aeolus via Jack MIDI and audio from
Aeolus back into Csound.

Aeolus precomputes a large number of large wavetables, as instructed
by stop specification tables, to represent the basic waveforms of the
pipes. I don't know what it does about the transients.

Regards,
Mike

On Wed, Apr 18, 2012 at 12:47 PM, mark jamerson  wrote:
>
>   Pipes are rather simple and pure acoustically, and I would suggest just
> using basic sine oscillators in an additive fashion.  If that makes it sound
> too pure, you can add a little bit of noise to each oscillator.  Something
> like the following:
>
> knoise  noise .01,.44    ; an amp of .01 corresponds to your bandwidth of
> .02 in butterbp
>
> aosc1  oscil  kamp1,kcps+knoise,ifn
> aosc2  oscil  kamp2,kcps*.5+knoise,ifn
> aosc3  oscil  kamp3,kcps*3+knoise,ifn
> ...
>
> You can set each of the kamps to the desired value for each partial and then
> sum them all together.  The ifn would be a sine wave f-table.
>
> ________________________________
> From: Roger Kelly 
> To: csound 
> Sent: Wednesday, April 18, 2012 11:27 AM
> Subject: [Csnd] Pipe Organ simulation advice
>
> I am wanting to build a model of a pipe organ.  I started with noise and
> then tried to constrain the frequency using a bandpass filter.  Sounds
> pretty decent, but obviously amplitudes are greatly reduced.   Is there a
> better approach for signal generation versus using noise?
>
>  asig noise kamp, .44
> ares butterbp asig, kcps, .02
> ares2 butterbp asig, kcps*1, .02
> ares3 butterbp asig, kcps*.5, .02
> ares4 butterbp asig, kcps*3, .02
> ares5 butterbp asig, kcps*.25, .02
> ; al, ar loscil kamp, kcps+(kcps*idetune), 2, ibas
> aout butterlp ares*2750+ares2*740+ares3*750+ares4*950+ares5*750, 4000
>
>



-- 
Michael Gogins
Irreducible Productions
http://www.michael-gogins.com
Michael dot Gogins at gmail dot com


Date2012-04-18 18:22
FromSteven Yi
SubjectRe: [Csnd] Pipe Organ simulation advice
Just FYI, I think Aeolus's current homepage is at:

http://kokkinizita.linuxaudio.org/linuxaudio/aeolus/index.html

It has version 0.8.4 available from the downloads page:

http://kokkinizita.linuxaudio.org/linuxaudio/downloads/index.html


On Wed, Apr 18, 2012 at 1:02 PM, Michael Gogins
 wrote:
> Look at the Aeolus free software pipe organ:
> http://users.skynet.be/solaris/linuxaudio/aeolus.html.
>
> This is a very good instrument. No, it is a _wonderful_ instrument.
> Unfortunately it works only on Linux and only via Jack. I used it with
> Csound to make a piece that was performed at the 2011 Linux Audio
> Conference.
>
> In order to use Aeolus with Csound, I created the Jacko opcodes to
> route notes from Csound into Aeolus via Jack MIDI and audio from
> Aeolus back into Csound.
>
> Aeolus precomputes a large number of large wavetables, as instructed
> by stop specification tables, to represent the basic waveforms of the
> pipes. I don't know what it does about the transients.
>
> Regards,
> Mike
>
> On Wed, Apr 18, 2012 at 12:47 PM, mark jamerson  wrote:
>>
>>   Pipes are rather simple and pure acoustically, and I would suggest just
>> using basic sine oscillators in an additive fashion.  If that makes it sound
>> too pure, you can add a little bit of noise to each oscillator.  Something
>> like the following:
>>
>> knoise  noise .01,.44    ; an amp of .01 corresponds to your bandwidth of
>> .02 in butterbp
>>
>> aosc1  oscil  kamp1,kcps+knoise,ifn
>> aosc2  oscil  kamp2,kcps*.5+knoise,ifn
>> aosc3  oscil  kamp3,kcps*3+knoise,ifn
>> ...
>>
>> You can set each of the kamps to the desired value for each partial and then
>> sum them all together.  The ifn would be a sine wave f-table.
>>
>> ________________________________
>> From: Roger Kelly 
>> To: csound 
>> Sent: Wednesday, April 18, 2012 11:27 AM
>> Subject: [Csnd] Pipe Organ simulation advice
>>
>> I am wanting to build a model of a pipe organ.  I started with noise and
>> then tried to constrain the frequency using a bandpass filter.  Sounds
>> pretty decent, but obviously amplitudes are greatly reduced.   Is there a
>> better approach for signal generation versus using noise?
>>
>>  asig noise kamp, .44
>> ares butterbp asig, kcps, .02
>> ares2 butterbp asig, kcps*1, .02
>> ares3 butterbp asig, kcps*.5, .02
>> ares4 butterbp asig, kcps*3, .02
>> ares5 butterbp asig, kcps*.25, .02
>> ; al, ar loscil kamp, kcps+(kcps*idetune), 2, ibas
>> aout butterlp ares*2750+ares2*740+ares3*750+ares4*950+ares5*750, 4000
>>
>>
>
>
>
> --
> Michael Gogins
> Irreducible Productions
> http://www.michael-gogins.com
> Michael dot Gogins at gmail dot com
>
>
> Send bugs reports to the Sourceforge bug tracker
>            https://sourceforge.net/tracker/?group_id=81968&atid=564599
> Discussions of bugs and features can be posted here
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
>