Csound Users Seminar - FINAL Term Project LEVEL II - Advanced


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.



2. This instrument emulates a very useful piece of equipment found in the recording studio. Provide a complete analysis of what this instrument does. Create a score file to demonstrate it and write a brief tutorial that another user could benefit from. Make a recording of your demonstration on cassette or CD. Save the score and instrument to disk and also provide printed documentation.
        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!