Csound Csound-dev Csound-tekno Search About

shepardtones

Date1997-10-20 19:27
Fromomni
Subjectshepardtones
Hello everbody,


I've done a little revision to the shepard tone gen. in ACCCI collection,
which you can find below.It uses the bellshape curve, which is also present in
ACCCI collection.
Instead of the 10 sinusoidal waves in the original version, I've put double
resonated noises glissanding from high to low. The result sounds like a
landing spaceship.
The problem is, after the first half of the rendered soundfile, the new
generated high frequency noise bands, which will start to do glissando, sound
at that moment much louder. If you look at the soundfile with a colored
sonogram you will easily notice it!

I couldn't bring an explanation. Any idea will be preciated.

Thanks a lot,



;.orc file

sr = 44100
kr  =  4410
ksmps= 10
nchnls = 1

instr 1;
idur   =  p3
iamp   =  p4
ifq    =  p5
icycle =  p6

ifq  =   cpspch (p5)    

   kphase  phasor  1/icycle     
   kenvlp  linen   iamp, 1, idur, 1
   anoise randi 32000, 16000, .5
   kamp1   table   kphase,71,1,0,1
   kcps1   tablei  kphase,51,1,0,1



ares reson anoise,kcps1*ifq,kcps1*ifq/20,2

asig1 reson ares,kcps1*ifq,kcps1*ifq/20,2  
        asig1 = kamp1/32000 * asig1
  
   kamp2   table   kphase+.1,71,1,0,1
   kcps2   tablei  kphase+.1,51,1,0,1
 


ares reson anoise,kcps2*ifq,kcps2*ifq/20,2

asig2 reson ares,kcps2*ifq,kcps2*ifq/20,2  
        asig2 = kamp2/32000 * asig2
 
   kamp3   table   kphase+.2,71,1,0,1
   kcps3   tablei  kphase+.2,51,1,0,1
 


ares reson anoise,kcps3*ifq,kcps3*ifq/20,2

asig3 reson ares,kcps3*ifq,kcps3*ifq/20,2  
        asig3 = kamp3/32000 * asig3
  
   kamp4   table   kphase+.3,71,1,0,1
   kcps4   tablei  kphase+.3,51,1,0,1



ares reson anoise,kcps4*ifq,kcps4*ifq/20,2

asig4 reson ares,kcps4*ifq,kcps4*ifq/20,2  
        asig4 = kamp1/32000 * asig4
 
   kamp5   table   kphase+.4,71,1,0,1
   kcps5   tablei  kphase+.4,51,1,0,1



ares reson anoise,kcps5*ifq,kcps5*ifq/20,2

asig5 reson ares,kcps5*ifq,kcps5*ifq/20,2  
        asig5 = kamp1/32000 * asig5
 
   kamp6   table   kphase+.5,71,1,0,1
   kcps6   tablei  kphase+.5,51,1,0,1



ares reson anoise,kcps6*ifq,kcps6*ifq/20,2

asig6 reson ares,kcps6*ifq,kcps6*ifq/20,2  
        asig6 = kamp1/32000 * asig6
 
   kamp7   table   kphase+.6,71,1,0,1
   kcps7   tablei  kphase+.6,51,1,0,1



ares reson anoise,kcps7*ifq,kcps7*ifq/20,2

asig7 reson ares,kcps7*ifq,kcps7*ifq/20,2  
        asig7 = kamp7/32000 * asig7

   kamp8   table   kphase+.7,71,1,0,1
   kcps8   tablei  kphase+.7,51,1,0,1



ares reson anoise,kcps8*ifq,kcps8*ifq/20,2

asig8 reson ares,kcps8*ifq,kcps8*ifq/20,2  
        asig8 = kamp8/32000 * asig8

   kamp9   table   kphase+.8,71,1,0,1
   kcps9   tablei  kphase+.8,51,1,0,1
  


ares reson anoise,kcps9*ifq,kcps9*ifq/20,2

asig9 reson ares,kcps9*ifq,kcps9*ifq/20,2  
        asig9 = kamp9/32000 * asig9   

   kamp10  table   kphase+.9,71,1,0,1
   kcps10  tablei  kphase+.9,51,1,0,1



ares reson anoise,kcps10*ifq,kcps10*ifq/20,2

asig10 reson ares,kcps10*ifq,kcps10*ifq/20,2 
        asig10 = kamp10/32000 * asig10

   asum =  asig1+asig2+asig3+asig4+asig5+asig6+asig7+asig8+asig9+asig10
           out     asum*50    

endin
*
f1     0       512    10       1
f31    0       513     7       0       512     1
f51    0       513     5       1       512     .002
f71    0      32768     1       "88_01_2.aif"       0      0     0


; .sco file

;      idur   iamp   ifq    icycle time
i1   0  100   10000  16000    100

e



*