out — Writes audio data to an external device or stream.


Writes audio data to an external device or stream, either from audio variables or from an audio array.


out asig1[, asig2,....]
out aarray


Sends audio samples to an accumulating output buffer (created at the beginning of performance) which serves to collect the output of all active instruments before the sound is written to disk. There can be any number of these output units in an instrument.

In the array case each element of the arrary is sent to the corresponding channel. This provides a way of using many channels. The nonarray version is limited to 1999.

The type (mono, stereo, quad, hex, or oct) should agree with nchnls. But as of version 3.50, Csound will attempt to change an incorrect opcode to agree with nchnls statement.


Here is an example of the out opcode. It uses the file out.csd.

Example 714. Example of the out opcode.

See the sections Real-time Audio and Command Line Flags for more information on using command line flags.

; Select audio/midi flags here according to platform
-odac     ;;;realtime audio out
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o out.wav -W ;;; for file output any platform

sr = 44100
ksmps = 32
nchnls = 1
0dbfs  = 1

instr 1

kamp = .6
kcps = 440
ifn  = p4

asig oscil kamp, kcps, ifn
     out asig	;one channel

f1 0 16384 10 1                                          ; Sine
f2 0 16384 10 1 0.5 0.3 0.25 0.2 0.167 0.14 0.125 .111   ; Sawtooth

i 1 0 2 1
i 1 3 2 2


See also

Signal Output


Author: Barry L. Vercoe, Matt Ingalls/Mike Berry
MIT, Mills College
Author: John ffitch
NUIM, 2013

Original in Csound v1

Aray version in 6.01