partikkelget — Retourne un index de masque pour un paramètre de masque spécifique d'une instance courante de partikkel.
partikkelget est un opcode pour obtenir un index de masque de partikkel pour un paramètre spécifique. Utilisé de concert avec partikkelset, il permet de synchroniser le masquage de partikkel entre différentes instances courantes de l'opcode partikkel. On peut aussi l'utiliser pour contrôler d'autres processus basés sur un index de masque interne, par exemple pour créer des modèles de masquage plus complexes que ceux disponibles dans le système régulier de masquage de grain.
iopcode_id -- l'id de l'opcode, liant une instance de partikkel à une instance de partikkelsync.
kindex -- index de masque en sortie. Retourne l'index de masque courant pour le paramètre spécifié par kparameterindex dans l'instance de partikkel identifiée par iopcode_id.
kparameterindex -- paramètre de masque. Séléction du paramètre de masquage pour lequel sera fourni l'index de masque courant. Les différents paramètres sont identifiés par :
0 : masque du gain
1 : masque du début de balayage de hauteur
2 : masque de la fin de balayage de hauteur
3 : masque de l'indice de modulation mf
4 : masque de canal
5 : masque de mélange de forme d'onde
Voici un exemple des opcodes partikkelget et partikkelset. Il utilise le fichier partikkelgetset.csd.
Exemple 732. Exemple de manipulation de l'index de masque interne de partikkel, basé sur la valeur d'autres index de masque dans la même intance de partikkel.
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 ; Audio out -odac ;;;RT audio ; For Non-realtime ouput leave only the line below: -o partikkel-getset.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> nchnls = 2 0dbfs = 1 giSine ftgen 0, 0, 65536, 10, 1 giCosine ftgen 0, 0, 8192, 9, 1, 1, 90 giSigmoRise ftgen 0, 0, 8193, 19, 0.5, 1, 270, 1 giSigmoFall ftgen 0, 0, 8193, 19, 0.5, 1, 90, 1 instr 1 ; freqstart masking table, simple ascending semitones pattern iwavfreqstarttab ftgentmp 0, 0, 32, -2, 0, 11, semitone(0), semitone(1), semitone(2), semitone(3), semitone(4), semitone(5), semitone(6), semitone(7), semitone(8), semitone(9), semitone(10), semitone(11) iwavfreqendtab ftgentmp 0, 0, 32, -2, 0, 11, semitone(0), semitone(1), semitone(2), semitone(3), semitone(4), semitone(5), semitone(6), semitone(7), semitone(8), semitone(9), semitone(10), semitone(11) ; channel masking table, simple panning back and forth ichannelmasks ftgentmp 0, 0, 32, -2, 0, 7, 0.0, 0.25, 0.5, 0.75, 1.0, 0.75, 0.5, 0.25 ; init unused arate signals awavfm = 0 asamplepos1 = 0 async = 0 ; system id = 1 a1,a2 partikkel 6, 0, -1, async, 0, -1, giSigmoRise, giSigmoFall, 0.9, 0.5, 100, ampdbfs(-9), -1, 1, 0,iwavfreqstarttab, iwavfreqendtab, awavfm, -1, -1, giCosine, 1, 1, 1, ichannelmasks, 0, giSine, giSine, giSine, giSine, -1, asamplepos1, asamplepos1, asamplepos1, asamplepos1, 440, 440, 440, 440, 100, id outch 1, a1, 2, a2 ; using partikkelget and partikkelset to make the channelmask and freqmask indices ; interact to create a more complex pattern kfqmask partikkelget 1, id kchmask partikkelget 4, id kcount1 init 0 kcount2 init 0 if kchmask > (kfqmask+kchmask)%11 then partikkelset 1, kcount1, id partikkelset 2, kcount1, id kcount1 = (kcount1+1)%7 elseif kfqmask > (kfqmask*kchmask)%7 then partikkelset 4, kcount2, id kcount2 = (kcount2+kcount1)%6 endif endin </CsInstruments> <CsScore> i1 0 30 </CsScore> </CsoundSynthesizer>