ifn - number of the table where the vectorial signal will be copied
ifn - number of the table hosting the vectorial signal to be copied
ielements - number of elements of the vector
vcopy copies ifn2 to ifn1. Useful to keep old vector values, by storing them in another table. This opcode is exactly the same as vcopy but performs all the copying on the intialization pass only.
All these operators (vaddv,vsubv,vmultv,vdivv,vpowv,vexp, vcopy and vmap) are designed to be used together with other opcodes that operate with vectorial signals such as bmscan, vcella, adsynt, adsynt2 etc.
Note: bmscan not yet available on Canonical Csound
Here is an example of the vcopy opcode. It uses the files vcopy.csd.
Example 408. Example of the vcopy opcode.
<CsoundSynthesizer> <CsOptions> ;use appropriate realtime flags ;-+rtaudio=jack -odac:alsa_pcm:playback_ -B256 -b256 </CsOptions> <CsInstruments> sr=44100 kr=4410 ksmps=10 nchnls=2 instr 1 ;table playback ar lposcil 1, 1, 0, 262144, 1 outs ar,ar endin instr 2 vcopy 2, 1, 20000 ;copy vector from sample to empty table vmult 5, 20000, 262144 ;scale noise to make it audible vcopy 1, 5, 20000 ;put noise into sample turnoff endin instr 3 vcopy 1, 2, 20000 ;put original information back in turnoff endin </CsInstruments> <CsScore> f1 0 262144 -1 "beats.aiff" 0 4 0 f2 0 262144 2 0 f5 0 262144 21 3 30000 i1 0 4 i2 3 1 s i1 0 4 i3 3 1 s i1 0 4 </CsScore> </CsoundSynthesizer>