partikkelset
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## partikkelset

partikkelset — Fixe l'index de masque pour un paramètre de masque spécifique d'une instance courante de partikkel.

## Description

partikkelset est un opcode pour fixer l'index de masque de partikkel pour un paramètre spécifique. Utilisé de concert avec partikkelget, 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.

## Syntaxe

    partikkelset kparameterindex, kmaskindex, iopcode_id

## Initialisation

iopcode_id -- l'id de l'opcode, liant une instance de partikkel à une instance de partikkelsync.

## Exécution

kparameterindex -- paramètre de masque. Séléction du paramètre de masquage pour lequel sera fixé 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

kmaskindex -- valeur sur laquelle mettre l'index de masque. Fixe l'index de masque courant pour le paramètre spécifié avec kparameterindex dans l'instance de partikkel identifié par iopcode_id.

## Exemple

Voici un exemple des opcodes partikkelget et partikkelset. Il utilise le fichier partikkelgetset.csd.

Exemple 721. 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>

## Voir aussi

partikkel

## Crédits

Auteur : Thom Johansen
Auteur : Øyvind Brandtsegg
Mai 2017

Nouveau dans la version 6.09

Précédent | Niveau supérieur | Suivant
partikkelget | Sommaire | partikkelsync