MUS 329J - Assignment One

Bach Chorale 228

Due by 5 P.M. Monday, September 18, 2006

 

Use any text editor to create a Csound score file of Bach Chorale #228. (See instructions below.) Save this as an ASCII text file named bach228.sco. You should test your score using Sample Orchestra #2, to make sure it works properly and that the notes and rhythms are all correct. Then name it following the usual convention (e.g., abcbach.sco) and turn in via the digital dropbox.

Instructions and Tips:

  1. The score format should be the same as that of Sample Score #2 on page 31 of the Pinkston Csound Primer. Hence the first note in the top line of the chorale might be coded as follows:

;insno

start

dur

amp

pch

rise

decay

func#

chanfac

i01

0

1

5000

8.09

.1

.2

1

.25

  1. Use a different instrument number for each part (voice) of the 4-part chorale. Make the top (soprano) line i01, the second (alto) i02, the third (tenor) i03, and the fourth (bass) i04. 
  2. Code all the notes for the soprano in order, then all the notes for the alto, etc., so as to take advantage of the Csound "Carry Feature" (Primer p. 28ff), which is canceled whenever the instrument number changes. (In other words, don't enter the chorale as a succession of 4-note chords, but as 4 complete melodic lines, written out one after the other.) 
  3. Use p9 (left channel factor for stereo placement) to spread the 4 voices across the stereo space. 
  4. Quarter notes in the chorale should be given 1 beat, so eighth notes get .5 and sixteenths .25. Hence, a dotted eighth note would get .75 beats; a quarter note tied to an eighth would get 1.5 beats. Use a t-card (see Primer p. 30) to set the tempo for the chorale. Be sure to put the t-card first in the score. 
  5. Remember that the maximum possible amplitude with 16-bit samples is 32767, so make sure that the sum of all notes playing simultaneously at any point in the chorale never exceeds that amount per channel. A safe maximum amplitude for each voice is probably 8000.  [Optionally, you may modify Sample Orc #2 to utilize the Csound ampdb function and enter note amps in dB.]
  6. Use a separate oscil function for each part, as well. Each function should be generated with an f-card having a different number in p1 (i.e., f01, f02, f03, f04). Use Gen 10 to create your function tables and make the size of each table 512 locations. For example:

;Oscil function for soprano (i01)

f01       0          512      10        100      50        33        25        20

;Oscil function for alto (i02)

f02       0          512      10        100      30        50        10        0            50

…and so forth. Feel free to experiment, but use at least some fundamental and don't use too many high partials, or things will start to sound pretty strange. Fgenie is helpful for trying things out quickly. Hint: before you get too creative, test the chorale with straight sine waves (maybe with a little 2nd partial, too), just to be sure you got all the pitches right and that everything is playing in the correct octave. 

  1. Hint for the non-musicians: Whenever a pitch has an accidental (sharp or flat sign) in a measure, that pitch remains altered for the remainder of the measure, unless the accidental is canceled with a natural sign. For example, the tenor part in the third full measure has a g# on the second beat. There are 2 more g's in the tenor later on in that measure which don't have the # in front of them, but they are still g#'s! 
  2. Second hint for the non-musicians: Those strange signs (dot with a frown over or smile under it) over/under the third beat in the third measure and over/under the last chord in the piece are called fermatas. They indicate that the note should be held longer than is written. I suggest at least doubling the written duration of the chords in both spots.  
  3. Final hint: Don't be tempted to use the Csound score + operator when coding the start times of the chorale. For one thing, if you make one little mistake somewhere, the whole rest of the line will be off. For another, it's very convenient to be able to quickly find, say, the 17th beat in every part. It's hard to do that if all you see is a string of + signs in the start fields of a long line of notes.