in — Reads mono audio data from an external device or stream.


Reads audio data from an external device or stream.

[Warning] Warning

There are two versions of this opcode. The first is designed to be used only with orchestras that have inchnls=1. Doing so with orchestras with inchnls > 1 will cause incorrect audio input.

The second form will read multiple channels into an array.


ar1 in
aarray in


Form 1 reads mono audio data from an external device or stream. If the command-line -i flag is set, sound is read continuously from the audio input stream (e.g. stdin or a soundfile) into an internal buffer. Any number of these opcodes can read freely from this buffer.

The second format will read upto ichnls of audio into an audio array, which must be initialised.


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

Example 393. Example of the in opcode.

; Select audio/midi flags here according to platform
-odac   -idac   ;;;realtime audio I/O
; For Non-realtime ouput leave only the line below:
; in.wav -W ;;; for file output any platform

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

instr 1 ;1 channel in, two channels out

ain1 in	;grab your mic and sing
adel linseg 0, p3*.5, 0.02, p3*.5, 0	;max delay time = 20ms
aout flanger ain1, adel, .7
     fout "in_1.wav", 14, aout, aout	;write to stereo file,
     outs aout, aout			;16 bits with header


i 1 0 10

See Also

diskin, inh, inh, ino, inq, ins, soundin


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

Already in version 3.30

Array version in versio 6.01