tableshuffle
Shuffles the content of a function table.
Each element of the source table is put into a different random position, without loosing any of them. Imagine shuffling a deck of cards. Each element of the table is copied to a different random position. If that position was already chosen before then the next free position is chosen. The length of the table remains the same.
Syntax
ktablenum or itablenum
-- the number of the table to shuffle.
Examples
Here is an example of the tableshuffle opcode. It uses the file tableshuffle.csd.
Example of the tableshuffle opcode. |
---|
| <CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac ;;;realtime audio out
; For Non-realtime ouput leave only the line below:
; -o tableshuffle.wav -W ;;; for file output any platform
; By Stefano Cucchi 2020
</CsOptions>
<CsInstruments>
sr = 44100
ksmps = 32
nchnls = 2
0dbfs = 1
instr 1
kIndex phasor 1/p3
kIndex = kIndex * 16
if kIndex >= 15.99 then
tableshuffle 1; shuffle table 1
endif
kFreq table kIndex, 1, 0
asound oscili 0.3, kFreq
outch 1, asound
outch 2, asound
endin
</CsInstruments>
<CsScore>
f 1 0 16 -2 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 950
i1 0 4
i1 5 4
e
</CsScore>
</CsoundSynthesizer>
|
See also
Read/Write Operations
Credits
Author: Georg Boenn
University of Glamorgan, UK
New in Csound version 5.13