Csound Users Seminar - Term Project

Csound Users Seminar - FINAL Term Project LEVEL I - Beginners


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 - Additive Synthesis

Using Csound, create an orchestra comprised of 3 different sounding instruments of the following
dimensions:

Each instrument must be stereo.

Use additive synthesis only - use at least 6 OSCIL-type unit generators in each instrument.
This instrument must have its own reverberator instrument associated with it. The additive 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 comes by way of a computer musician located at IRCAM in
   Paris. 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. Change all the comments in the score to English.
   Save the score and instrument to disk and also provide printed documentation.


;orchestra written by Martin Dupras

;fenetre dont la largeur varie rand entre 0 et 1
;offset variable dans un range de 0 et 1


;variation random de la grandeur	agr*aof <= 1
;gr	min .05

;variation de l'offset
sr	=	11025
kr	=	441
ksmps	=	25
nchnls	=	1

instr 1
;p4 rate de changement debut
;p5 rate de changement fin
;p6 grandeur depart
;p7 grandeur fin
;p8 offset depart
;p9 offset fin
kcps	line	p4,p3,p5
;kcps	=	rate de changement fen,off,env
i2	=	ftlen(2)
;i3	=	ftlen(3)
ain	init	.5

agr	line	p6,p3,p7
agr	=	abs(agr)
amax	=	1-agr
aof	line	p8,p3,p9
aof	= abs(aof)
aof2	= amax*aof

anv	oscil	1,kcps,4
krt	=	sr/i2
aph	phasor	krt*agr	;index de lecture de la fenetre

a1	table	(aph*agr)+aof2,2,1,0,1
out	a1*15000*anv
endin


3. This instrument was written by an old friend - Dr. Eric Lyon - now a
   instructor of computer music at a university in Japan.  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.



sr=44100
kr=50
ksmps=882


; implements pulse wave with varying duty cycle
; USE HIGHER K RATES FOR FASTER TRANSITION SPEEDS
; function 1 is sine
; function 2 is raised cosine
; freq amp speed minduty harmonic-stretchfactor

; NOTE USE OF LOW K-RATE

instr 1
ipi = 3.141593
istretch = p8
if1 = p4
if2 = if1*2.*istretch
if3 = if1*3.*istretch
if4 = if1*4.*istretch
if5 = if1*5.*istretch
if6 = if1*6.*istretch
if7 = if1*7.*istretch
if8 = if1*8.*istretch
inumharms = 8
igain = p5 * (32767./inumharms)
ia1 = igain
ia2 = ia1/2.
ia3 = ia1/3.
ia4 = ia1/4.
ia5 = ia1/5.
ia6 = ia1/6.
ia7 = ia1/7.
ia8 = ia1/8.

idutyspeed = p6
iminduty = p7
imaxduty = .9999
idutyamp = imaxduty-iminduty
; PARAMETERIZE ENVELOPE HERE IF DESIRED
iatk=.1
idk=.2
isust=p3-(iatk+idk)
        kenv linseg 0,iatk,igain,isust,igain,idk,0
        kduty oscil idutyamp, idutyspeed, 2
        kduty = (kduty + iminduty)*idutyspeed
        kamp1 = sin(kduty*ipi)

        kamp2 = sin(2*kduty*ipi)

        kamp3 = sin(3*kduty*ipi)

        kamp4 = sin(4*kduty*ipi)

        kamp5 = sin(5*kduty*ipi)

        kamp6 = sin(6*kduty*ipi)

        kamp7 = sin(7*kduty*ipi)

        kamp8 = sin(8*kduty*ipi)


        asig1 oscil kamp1,if1,1
        asig2 oscil kamp2,if2,1
        asig3 oscil kamp3,if3,1
        asig4 oscil kamp4,if4,1
        asig5 oscil kamp5,if5,1
        asig6 oscil kamp6,if6,1
        asig7 oscil kamp7,if7,1
        asig8 oscil kamp8,if8,1
asum = asig1+asig2+asig3+asig4+asig5+asig6+asig7+asig8
        out asum * kenv

endin

******************************************************************************
;SCORE FILE

f1 0 8192 10 1
f2 0 8192 -9 .5 1.0 0
; freq amp speed minpulse harmonic-stretchfactor
i1 0 2.7        83      .6      .3      .3      1.
i1 1.5 2.7      57.241  .6      .7      .23     1.01
i1 3 3.1        101.666 .6      .117    .23     1.1
i1 4 7          27.5    .6      1.8     1.1     1.05

e ;ric

Good Luck!