tableshuffle

tableshuffle — mélange le contenu d'une table de fonction de façon à ce que chaque élément de la table source se trouve dans une position aléatoire différente.

Description

Cet opcode peut être utilisé pour mélanger le contenu de tables de fonction dans un ordre aléatoire mais en conservant tous les élements. Imaginez la battue d'un jeu de cartes. Chaque élément de la table est copié dans une position aléatoire différente. Si cette position est déjà occupée, la position libre suivante est choisie. La longueur de la table reste la même.

Syntaxe

tableshuffle ktablenum
tableshufflei itablenum

Exécution

ktablenum ou itablenum -- le numéro de la table à mélanger.

Exemples

Voici un exemple de l'opcode tableshuffle. Il utilise le fichier tableshuffle.csd.

Exemple 1064. Exemple de l'opcode tableshuffle.

Voir les sections Audio en Temps Réel et Options de la Ligne de Commande pour plus d'information sur l'utilisation des options de la ligne de commande.

<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>


Voir aussi

GEN farey, tablefilter, tablecopy

Crédits

Auteur : Georg Boenn
Université de Glamorgan, UK

Nouveau dans la version 5.13 de Csound.