PRINT THIS PAGE OUT FOR REFERENCE! There are three parts to this project. Each part must be responded to independently by each student. However, you may work in teams and groups to solve the problems presented here. Dr. Thompson is available for assistance in the solution of these problems either by E-mail or by appointment. Due: During Finals Week, at our last class meeting. Be prepared to show your work, both in print form and in audio form. Bring your music examples on cassette or CD only. Please do not expect to compile your responses during the exam meeting. Bring a copy of all texts, orchestras, scores and responses for each member of the course. (9 copies total) Note that since this is a scientific endeavor your neatness and thoroughness is assumed and expected. All text responses must be typed.
1. Computer Synthesis Etude - Grannular Synthesis
Using Csound, create an orchestra comprised of 3 different sounding instruments
of the following
dimensions:
Each instrument must be stereo.
Use grannualr synthesis only. Tables used for granulation may be either synthetic
or acoustic in origin.
Each instrument must have its own reverberator instrument associated with it.
The instrument must send a
global signal to the reverberator. Make sure that the balance between reverberated
and non-reverberated signals can be
controlled. Use the reverb example found online at the CARA web as a guide.
Using any compositional method you wish, create a 2 minute etude with this trio of csound instruments.
* Write a verbal synopsis of how the instruments function, outlining any parametric controls you have made available to the user. * Write a verbal synopsis of how you created the score for the instruments and the musical intention. * Create a 44.1KHz stereo realization of the score. * Save your instruments to floppy disk to turn in along with the score file, and printed documents as outlined above.
sr = 22050
kr = 2205
ksmps = 10
nchnls = 1
;==============================================================================;
;
; ;
; p4 = n seconds delay p5 = n semitones shift p6 = soundin # p7 = feedfac ;
; p8 = optional gain factor p9 = lfo hz p10 = dry % p11 = initial gain ;
; ;
; If p9 != 0, a varying delay is applied ;
; ;
; ;
;==============================================================================;
instr 1
ilevel = (p11 == 0 ? 1 : p11) ;initial gain control for source
igain = (p8 > 0 ? p8/2 : .5) ;default to .5 gain per delay
idelay = p4 ;n seconds delay
ioctpct = p5/12 ;percentage of an octave
iratio = cpsoct(8+ioctpct)/cpsoct(8) ;ratio of new freq to orig
irate = (iratio-1)/idelay ;ratio of one = no shift
krate init irate ;initialize to irate
if (p9 == 0) goto continue ;if no lfo, skip next line
krate oscili irate,p9,1,.25 ;lfo cosine
continue:
kntrl1 oscili 1,krate,2,0 ;f02 has linear decay 1 - 0
kgate1 tablei kntrl1,3,1,0,1 ;window func = 1 - X^6
kgate1 = kgate1*igain ;rescale
kntrl2 oscili 1,krate,2,.5 ;offset 180 deg from kntrl1
kgate2 tablei kntrl2,3,1,0,1 ;window func = 1 - X^6
kgate2 = kgate2*igain ;rescale
avary1 interp kntrl1
avary2 interp kntrl2
asrce soundin p6 ;p6 is soundin.nnn
asrce = asrce*ilevel ;initial gain control
asum init 0
ajunk delayr idelay ;first delay line
asig1 deltapi avary1*idelay ;variable length taps
asig2 deltapi avary2*idelay
delayw asrce+asum*p7 ;p7 is feedback factor
asig1 = asig1*kgate1
asig2 = asig2*kgate2
asum = asig1+asig2
out asrce*p10+asum*(1-p10) ;output mix of source, asum
endin
3. This instrument does something else entirely! Explain what
it does - providing a flow-chart diagram (as in the above) and
create a score which demonstrates the instrument. Write a brief
tutorial that another user could benefit from. Save the score and
instrument to disk and provide printed documentation.
Make a demo recording for class playback and discussion.
sr = 44100 kr = 44100 ;NOTICE sr=kr! ksmps = 1 nchnls = 1 instr 1 adelay1 init 0 ; initializes the adelay1 variable a3 init 0 ; and the a3 variable ifrq = cpspch(p5) ; pitch to Hz conversion idelay1 = 1/ifrq ; set the delay of the 1st delay line iamp = ampdb(p4)*10 iatk = p6 ; duration of the attack transient ifeed = p7 ; feedback factor imaxemb = p8 ; max value for the embouchure icutoff = p9 ; cutoff freq for low-pass filter kembofs linseg 0,.1,imaxemb,p3-.1,0 ; pressure applied against embouchure amouthp linseg 0,iatk,1,p3-iatk,1,.001,0 ; air flow pressure avibr oscil .05,5,1 ; oscillator for vibrato amouthp = amouthp+avibr a1 = amouthp - a3 * ifeed adelay1 delay a1,idelay1 ahp1 atone adelay1,50 ; four high-pass filters ... ahp2 atone ahp1,50 ; ...in series ... ahp3 atone ahp2,50 ; ...equivalent to a 4th order ... ahp atone ahp3,50 ; ...high-pass afilt tone adelay1,icutoff ; signal after reflection energy loss adelay2 delay afilt,idelay1 a2 = adelay2 + amouthp + kembofs k2 downsamp a2 ; abs value converter works only at krate! ; downsamp opcode discussed in section 17.2 ktab table abs(k2),99,2 a3 = a2 * ktab kenv linseg 1,p3-.1,1,.1,0 aout = ahp*iamp*kenv out aout endin
Good Luck!