packages icon



 CSOUND(1Csound)                                             CSOUND(1Csound)
                                 7 Feb 1991



 NAME
      Csound - digital audio processing and sound synthesis

 SYNOPSIS
           csound [flags] orchfile scorefile

 OVERVIEW
      Csound is an environment in which a "scorefile" or external event
      sequence can invoke arbitrarily complex signal-processing
      "instruments" to produce sound.  Audio may be displayed during its
      creation, and the resulting sound sent to an on-line audio device or
      to an intermediate soundfile for later playback.  Csound is invoked by
      a single command, which induces three phases of action:
         Score sorting
         Orchestra translation and loading
         Sound generation (audio processing and synthesis).

      Csound audio processing is supported by various score manipulation
      languages (SCOT, CSCORE, SCSORT, EXTRACT) and by soundfile analysis-
      synthesis methods including additive synthesis (ADSYN), linear
      predictive coding (LPC), and phase vocoding (PVOC).

      There is no complete on-line manual, but man entries exist for the
      stand-alone analysis and scoring programs.  More complete information
      can be found in the troff-able Csound Reference Manual, which provides
      an overview, tutorial, details of behavior, and step-by-step examples.

 DESCRIPTION
      csound is a command for passing an orchestra file and score file to
      the Csound environment to generate a soundfile.  In the above
      SYNOPSIS, all flag arguments are optional with set defaults.  Flags
      may appear either separately or bundled;  those that take an argument
      will expect to find it either immediately following or as the next
      argument.  Recognized flags are:

      -I       Init-time processing only.  Allocate and initialize all
               instrument events as per the score, but skip all
               Performance-time processing (no k-signals or a-signals, thus
               no amplitudes and no sound).  Provides a fast validity check
               of all score pfields and instrument i-variables.  Implies -n.

      -n       No sound output, i.e. do all sound generation, but bypass
               audio output.  This flag will override a -o flag.

      -i sfnam Input soundfile name or audio-device name.  If this flag is
               present, sound will be continuously read from the named file
               or device, and will be available to all instruments
               containing an "in" unit.  If no explicit path is given, the
               file will be sought in the user's sound directory
               (environment variable SFDIR); if sfnam is of the form
               path/name, the file will be sought in the 'path' directory.



                                    - 1 -         Formatted:  March 28, 2024






 CSOUND(1Csound)                                             CSOUND(1Csound)
                                 7 Feb 1991



               If sfnam is of the form /dev/name or stdin, sound will be
               read from there.   The encoding format of an audio input file
               is self-defining, described by its soundfile header;  if no
               header is present, the format is presumed the same as the
               generated output.  The channel count and sampling rate of an
               audio input file must match that of the receiving Orchestra.


      -o sfnam Output soundfile name or audio-device name; the default name
               is "test".  Csound writes continuously to a soundfile or
               device, unless prevented by a -n flag.  If sfnam is omitted
               or contains no explicit path, sound will be written to the
               user's soundfile directory (environment variable SFDIR); if
               sfnam is of the form path/name, sound will be placed in the
               'path' directory.  If sfnam is of the form /dev/name or
               stdout, sound will be sent there.

      -b N     Blocksize, in samples (not bytes), for the above sound I/O.
               Typically 512 samples per buffer.  A larger number is more
               efficient, but small numbers reduce the delay in realtime
               performances.

      -h       Do not write a soundfile header in the sound output stream.

      -c       Write 8-bit signed-character sound samples.

      -a       Write 8-bit alaw-encoded sound samples.

      -u       Write 8-bit ulaw-encoded sound samples.

      -s       Write 16-bit short_integer sound samples.

      -l       Write 32-bit long_integer sound samples.

      -f       Write single-precision floating-point sound samples.  A float
               file cannot generally be played, but can be rescaled, or read
               by soundin and GEN01.

      -v       Verbose translate and run.  Prints details of orch
               translation and performance, enabling errors to be more
               clearly located.

      -m N     Message level for standard (terminal) output.  Takes the sum
               of 3 print control flags, turned on by the following values:
               1 = note amplitude messages,  2 = samples out of range
               message, 4 = warning messages.  The default value is m7 (all
               messages on).

      -d       Suppress all display functions.





                                    - 2 -         Formatted:  March 28, 2024






 CSOUND(1Csound)                                             CSOUND(1Csound)
                                 7 Feb 1991



      -g       Suppress graphics, and use ascii displays instead.  If the
               user terminal supports graphic windows, display functions
               ordinarily appear in that form.  This flag will invoke an
               alternate system, printing graphs in ascii characters--as
               would occur if the terminal did not support graphics.

      -S sname Interpret sname as a Scot scorefile, create a standard score
               file from it, then perform the result.

      -x xname Extract a portion of the sorted scorefile (or 'score.srt')
               according to the contents of xname (see Extract below).

      -B       Beat mode.  Use the uninterpreted Beats of score.srt for this
               performance.  In this mode, the beat rate of score
               performance is controllable from within the orchestra by a
               tempo unit.

      -R indev Allow Realtime Line-oriented ascii-defined events via device
               indev to activate instruments of the Orchestra.  E.g., the
               name stdin would enable an associated realtime process to
               initiate fully-specified score events through a pipe.  The
               format of events is identical to that in an unsorted
               scorefile, except that pfield 3 (duration) is given in
               seconds and pfield 2 (start-time) is automatically set at
               event-time.  A parallel score is optional.

      -M indev Allow MIDI invocation of the orchestra instruments via device
               indev, of the form /dev/midi or stdin.  A parallel score is
               optional.


      The orchfile is a collection of Instruments which are sequences of
      Csound statements invoking control-signal and audio-signal processing
      modules.  A simple instrument might appear as follows:

                instr     3
           k1   linseg    p4, p3, p4/10
           a1   oscil     k1, p5, 1
                out       a1
                endin

      The scorefile is a collection of statements that create stored
      waveforms or activate orchestra instruments at some specified time.  A
      score statement contains parameter values that are passed to the
      instrument.  The following would create a single stored waveform, then
      invoke the above instrument to generate two two-beat audio events,
      with p4 amplitude 1000 and p5 pitches 440 and 522 Hertz:

           f 1  0    256  10   1
           i 3  0    2    1000 440
           i 3  2    2    1000 522



                                    - 3 -         Formatted:  March 28, 2024






 CSOUND(1Csound)                                             CSOUND(1Csound)
                                 7 Feb 1991



           e


      The Extract feature:

      This feature will extract a segment of a sorted numeric score file
      according to instructions taken from a control file.  The control file
      contains an instrument list and two time points, from and to, in the
      form:
         instruments 1 2   from 1:27.5    to 2:2

      The component labels may be abbreviated as i, f and t. The time points
      denote the begininng and end of the extract in terms of:
         [section no.] : [beat no.].
      Each of the three parts is also optional.  The default values for
      missing i, f or t are:
         all instruments,   begining of score,   end of score.

      extract reads an orchestra-readable score file and produces an
      orchestra-readable result.  Comments, tabs and extra spaces are
      flushed, w and a statements are added and an f0 reflecting the extract
      length is appended to the output.  Following an extract process, the
      abbreviated score will contain all function table statements, together
      with just those note statements that occur in the from-to interval
      specified.  Notes lying completely in the interval will be unmodified;
      notes that lie only partly within will their p3 durations truncated as
      necessary.



      Independent Preprocessing:

      Although the result of all score preprocessing is retained in the file
      score.srt after orchestra performance (it exists as soon as score
      preprocessing has completed), the user may sometimes want to run these
      phases independently.  The command
         scot  filename
      will process the Scot formatted filename, and leave a standard numeric
      score result in a file named score for perusal or later processing.

      The command
         scscort < infile   > outfile
      will put a numeric score infile through Carry, Tempo, and Sort
      preprocessing, leaving the result in outfile.

      Likewise extract, also normally invoked as part of the perf command,
      can be invoked as a standalone program:
         extract xfile < score.sort  > score.extract
      This command expects an already sorted score.  An unsorted score
      should first be sent through scsort then piped to the extract program:
         scsort < scorefile | extract xfile > score.extract



                                    - 4 -         Formatted:  March 28, 2024






 CSOUND(1Csound)                                             CSOUND(1Csound)
                                 7 Feb 1991



 SEE ALSO
      hetro(1Csound), lpcanal(1Csound), pvanal(1Csound), The Csound
      Reference Manual

 AUTHOR
      Written by Barry Vercoe, Music and Cognition group of the Media
      Laboratory at MIT.















































                                    - 5 -         Formatted:  March 28, 2024