shiftin

shiftin — Shifts the contents of an audio variable into a 1-dimensional array.

Description

This opcode can be used to push data from an audio variable into a 1-dimensional array. The array needs to be at least ksmps numbers long, but can be longer. Data is shifted in circularly, with the writing position moving by ksmps positions every k-cycle. When the array gets full, the writing position wraps around to the beginning of the array again (overwriting old positions). Together with the shiftout opcode, it can form a FIFO queue.

Syntax

kout[] shiftin asig

Performance

kout[] -- output array, needs to be at least ksmps numbers long.

asig -- input audio

Examples

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

Example 890. Example of the shiftin opcode.

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

<CsoundSynthesizer>
<CsOptions>
-d -odac
</CsOptions>
<CsInstruments>

instr 1
ideltime = 0.5
kDel[] init sr*0.5
a1 diskin2 "fox.wav",1,0,1
a2 shiftout kDel
kDel shiftin a1
     out a1 + a2
endin

</CsInstruments>
<CsScore>
i1 0 10
</CsScore>
</CsoundSynthesizer>

See Also

Vectorial opcodes, array opcodes

Credits

Author: Victor Lazzarini
NUI Maynooth
2014

New in version 6.04