Csound Csound-dev Csound-tekno Search About

"phi-monics" orc/sco

Date1997-10-14 10:39
Fromjames@maths.ex.ac.uk
Subject"phi-monics" orc/sco
owner-csound-outgoing wrote
>From owner-csound-outgoing Mon Oct 13 16:43:29 1997
From: owner-csound-outgoing
Date: Mon, 13 Oct 97 16:43:29 GMT
Message-Id: <15671.9710131643@maths.exeter.ac.uk>
To: owner-csound-outgoing
Subject: BOUNCE Csound: Non-member submission from [alves@orion.ac.hmc.edu (Bill Alves)]

>From alves@orion.ac.hmc.edu Mon Oct 13 17:43:18 1997 remote from 
Received: from hermes.ex.ac.uk by maths.exeter.ac.uk; Mon, 13 Oct 97 17:43:18 +0100
Received: from root@Orion.AC.HMC.Edu [134.173.32.20] by hermes via ESMTP (RAA20265); Mon, 13 Oct 1997 17:43:10 +0100
Received: from [134.173.37.15] (Alves.HumSoc.HMC.Edu [134.173.37.15])
	by orion.ac.hmc.edu (8.8.6/8.8.6) with SMTP id JAA03986
	for ; Mon, 13 Oct 1997 09:45:02 -0700 (PDT)
Date: Mon, 13 Oct 1997 09:45:02 -0700 (PDT)
Message-Id: 
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
To: csound
From: alves@orion.ac.hmc.edu (Bill Alves)
Subject: Re: shepard tones

>I've been playing around doing something like a Shepherd tone scale using
>multiple band pass filters to create the illusion of a constantly rising
>filter.  It occurred to me that someone has probably already done this?
>I've been using between 4 and 8 bandpass filter all moving upwards, fading
>in from around 100hz and fading out at about 6KHz.  I'm having a lot of
>trouble getting it to loop properly without audible glitches.  I read
>something about this a long time ago but I don't remember where so I've
>been sort of making it up as I go along.  Has anyone got any example
>scores/orchestras they could let me have?

I know this isn't quite what you are asking for, but I thought it was an
opportune time to offer this simple sco and orc. A while ago John Chalmers
suggested to me that Shepard tones might be interesting if implemented with
"phi-monics," that is, partials tuned to multiples of phi (a.k.a. the
golden mean) instead of harmonics. The scale, too, repeats over nine steps
to that ratio instead of twelve steps to the octave (i.e. 9 per 1.618
instead of 12 per 2). However, I implemented the Shepard tones not through
multiple bandpass filters, but through additive synthesis. I did note that
the effect varies quite a bit depending on the type of spectral envelope
you choose. I settled on a gaussian one.

;phimonics.orc

        sr = 44100
        kr = 147
        ksmps = 300
        nchnls = 1

        instr   1
imaxamp =       10000
ipchclass       =       100*frac(p5)
iphi            =       (1+sqrt(5))/2
ifact           ipow    iphi,ipchclass/9
ifreq1          =       cpspch(6.00) * ifact
iamp1           itablei 1+ipchclass/9,1
ifreq2          =       ifreq1*iphi
iamp2           itablei 2+ipchclass/9,1
ifact           ipow    iphi,2
ifreq3          =       ifreq1*ifact
iamp3           itablei 3+ipchclass/9,1
ifact           ipow    iphi,3
ifreq4          =       ifreq1*ifact
iamp4           itablei 4+ipchclass/9,1
ifact           ipow    iphi,4
ifreq5          =       ifreq1*ifact
iamp5           itablei 5+ipchclass/9,1
ifact           ipow    iphi,5
ifreq6          =       ifreq1*ifact
iamp6           itablei 6+ipchclass/9,1
ifact           ipow    iphi,6
ifreq7          =       ifreq1*ifact
iamp7           itablei 7+ipchclass/9,1
ifact           ipow    iphi,7
ifreq8          =       ifreq1*ifact
iamp8           itablei 8+ipchclass/9,1
kenv            linseg          0,0.05,p4,p3-0.05,0     ; p4 is max amp
asig1           oscili          iamp1,ifreq1,2  ; fn table #2 is a sine wave
asig2           oscili          iamp2,ifreq2,2
asig3           oscili          iamp3,ifreq3,2
asig4           oscili          iamp4,ifreq4,2
asig5           oscili          iamp5,ifreq5,2
asig6           oscili          iamp6,ifreq6,2
asig7           oscili          iamp7,ifreq7,2
asig8           oscili          iamp8,ifreq8,2
                out
kenv*imaxamp*(asig1+asig2+asig3+asig4+asig5+asig6+asig7+asig8)
                endin


-----------------------------------------------------------------------
;phimonics.sco
; gaussian envelope
f1      0       8       20      9
; sine wave
f2      0       8192    10      1

; instr start   dur     amp     pitch
i1      0       1       1       8.00
i1      +       .       1       8.01
i1      +       .       1       8.02
i1      +       .       1       8.03
i1      +       .       1       8.04
i1      +       .       1       8.05
i1      +       .       1       8.06
i1      +       .       1       8.07
i1      +       .       1       8.08
i1      +       .       1       9.00
i1      +       .       1       9.01
i1      +       .       1       9.02
i1      +       .       1       9.03
i1      +       .       1       9.04
i1      +       .       1       9.05
i1      +       .       1       9.06
i1      +       .       1       9.07
i1      +       .       1       9.08
;i1     +       .       1       10.00
;i1     +       .       1       10.01
;i1     +       .       1       10.02
;i1     +       .       1       10.03
;i1     +       .       1       10.04
;i1     +       .       1       10.05
;i1     +       .       1       10.06
;i1     +       .       1       10.07
;i1     +       .       1       10.08
;i1     +       .       1       11.00
e

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^ Bill Alves                                      email: alves@hmc.edu ^
^ Harvey Mudd College                 URL: http://www2.hmc.edu/~alves/ ^
^ 301 E. Twelfth St.                            (909)607-4170 (office) ^
^ Claremont CA 91711 USA                           (909)607-7600 (fax) ^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^




-- 
James Andrews, maths CDO, ext.3977