in

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

Description

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.

Syntax

ar1 in
aarray in

Performance

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.

Examples

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

Example 470. Example of the in opcode.

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

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

endin
</CsInstruments>
<CsScore>

i 1 0 10
e
</CsScore>
</CsoundSynthesizer>


See also

Signal Input

Credits

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

Already in version 3.30

Array version in versio 6.01