Csound is a direct descendant of the Music-N series of computer music languages developed by Max V. Mathews. One could make the case that all digital synthesizers are descendants, or at least distant cousins, of Music-N. Comparing and contrasting Csound with Music V, the similarities are glaringly obvious.
I own a copy of the 1981 edition of Max Mathews’ The Technology of Computer Music. The original was released in 1969 — that’s 40 years ago. I’ve read it cover to cover. I’ve translated some of the examples to Csound. Much of the knowledge contained in that little red hardcover book is still relevant today.
I thought it would be fun to compare and contrast the two languages. Here is The Simplest Orchestra example from pages 44-46:
1 INS 0 1 ;
2 OSC P5 P6 B2 F2 P30 ;
3 OUT B2 B1 ;
4 END ;
5 GEN 0 1 2 0 0 .999 50 .999 205 -.999 306 -.999 461 0 511 ;
6 NOT 0 1 .50 125 8.45 ;
7 NOT .75 1 .17 250 8.45 ;
8 NOT 1.00 1 .50 500 8.45 ;
9 NOT 1.75 1 .17 1000 8.93 ;
10 NOT 2.00 1 .95 2000 10.04 ;
11 NOT 3.00 1 .95 1000 8.45 ;
12 NOT 4.00 1 .50 500 8.93 ;
13 NOT 4.75 1 .17 500 8.93 ;
14 NOT 5.00 1 .50 700 8.93 ;
15 NOT 5.75 1 .17 1000 13.39 ;
16 NOT 6.00 1 1.95 2000 12.65 ;
17 TER 8.00 ;
A loose translation into Csound looks something like this:
<CsoundSynthesizer>
<CsInstruments>
sr = 44100
kr = 44100
ksmps = 1
nchnls = 1
instr 1
a2 oscil p4, cpspch(p5), 2
out a2 * 16
endin
</CsInstruments>
<CsScore>
f2 0 512 -7 0 50 0.999 155 0.999 101 -0.999 155 -0.999 50 0
i 1 0 0.50 125 8.04
i 1 0.75 0.17 250 8.04
i 1 1.00 0.50 500 8.04
i 1 1.75 0.17 1000 8.05
i 1 2.00 0.95 2000 8.07
i 1 3.00 0.95 1000 8.04
i 1 4.00 0.50 500 8.05
i 1 4.75 0.17 500 8.05
i 1 5.00 0.50 700 8.05
i 1 5.75 0.17 1000 9.00
i 1 6.00 1.95 2000 8.11
e 8
</CsScore>
</CsoundSynthesizer>
I’ll spend the next few blogs breaking down these examples, discussing the many differences and similarities, in hopes that we can learn something about our digital synthesis roots. In the meantime, you can download this Csound file to listen for yourself: Csound_Vs_MusicV_pt1.csd
If you are interested, I have the code for Music V, which can be built on any modern OS with gnu fortran. It has almost everything, but it is missing a filter (FLT) at the moment.
Victor
I am *very* interested. I heard there was a version of Music V floating around out there. So glad to know someone who has it.
But Csound can run in real-time these days. Surely that’s a few points in its favor. :)
I’ll e-mail it to you tomorrow, then.
Pingback: The Csound Blog » Csound Vs. Music V — FIGHT! Pt. 2