Csound is a computer music language. It's an ancestor of the original computer music languages developed at Bell Labs by Max Mathews back in the late 50's.

A person creates sounds and music by writing two text files. The orchestra (foo.orc) and the score (foo.sco). Csound acts as a compiler and generates a sound file based on the two files.

The orchestra file is where a person defines his instruments. This part is like designing sounds on a commercial synthesizer. But because Csound has no fixed signal flows, the designer has totalitarian control over his instruments. Each instrument defined in the orchestra is like a musician in the orchestra pit.

The score file is the counterpart to the orchestra file. The score tells the instruments when and what to play.

example foo.orc
instr 1 aosc oscil p4, p5, 1 out aosc endin
example foo.sco
f1 0 8192 10 1 i1 0 4 440 i1 6 10 262
These two files will generate a sound file that will play a sine wave at time 0 for 4 seconds at 440HZ, then another sine wave at time 6 for 10 seconds at 262Hz. The "f1" in the score defines a table of all the discrete points in a sine wave. I know I'm not explaining everything... I can't possibly in one post. :)

It's been ported to many OS's, including windows, mac and linux. It is open source. People in the Csound community actively improve and add functionality. It does have some what of a restrictive license, an MIT Educational purposes only type license (although that only applies to the Csound source code, not the generated sounds files).

Today, it is very well documented. There are two sites, the Csound FrontPage and csounds.com. There is also the Csound book. When I started using it, information about it was hard to come by. I started by taking apart simple instruments and changing one parameter at a time.

I have an online tutorial I wrote for from undergraduate student project. It is a bit immature, but I wrote it a long time ago. But all the information in it is still 100% useful.

And finally... You can look at the Csound files to "isolation" here.

--jake
"This space intentionally left blank" -Zork

In reply to Re: Re: Composing Music with Csound and Perl by jake
in thread Composing Music with Csound and Perl by jake

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.