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

## slicearray

slicearray — Prend une partie d'un vecteur.

## Description

Prend une partie d'un vecteur (tableau unidimensionnel de taux-k).

## Syntaxe

    karray slicearray kinarray, istart, iend [,istride]

## Initialisation

kinarray -- tableau en entrée.

istart -- indice du premier élément à prélever.

iend -- indice du dernier élément à prélever.

istride -- incrément pour les éléments source (facultatif), 1 par défaut.

## Exécution

karray -- tableau retourné.

## Exemples

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

Exemple 971. Exemple de l'opcode slicearray.

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
    -n
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 32
    nchnls = 2
    0dbfs  = 1

    instr 1

    ;create and fill an array
    kArr[]  genarray_i 1, 9

    ;print the content
            printf  "%s", 1, "kArr = whole array\n"
    kndx    =       0
      until kndx == lenarray(kArr) do
            printf  "kArr[%d] = %f\n", kndx+1, kndx, kArr[kndx]
    kndx    +=      1
      od

    ;build new arrays for the slices
    kArr1[] init    5
    kArr2[] init    4
    kArr3[] init    3

    ;put in first five and last four elements
    kArr1   slicearray kArr, 0, 4
    kArr2   slicearray kArr, 5, 8
    ; and three values from 1, 1+2 and 1+2+3
    kArr3   slicearray kArr, 1, 5, 2

    ;print the content
            printf  "%s", 1, "\nkArr1 = slice from index 0 to index 4\n"
    kndx    =       0
      until kndx == lenarray(kArr1) do
            printf  "kArr1[%d] = %f\n", kndx+1, kndx, kArr1[kndx]
    kndx    +=      1
      od
            printf  "%s", 1, "\nkArr2 = slice from index 5 to index 8\n"
    kndx    =       0
      until kndx == lenarray(kArr2) do
            printf  "kArr2[%d] = %f\n", kndx+1, kndx, kArr2[kndx]
    kndx    +=      1
      od
            printf  "%s", 1, "\nkArr3 = slice from index 1 to index 5 inc2\n"
    kndx    =       0
      until kndx == lenarray(kArr3) do
            printf  "kArr3[%d] = %f\n", kndx+1, kndx, kArr3[kndx]
    kndx    +=      1
      od

            turnoff
    endin

    </CsInstruments>
    <CsScore>
    i 1 0 1
    </CsScore>
    </CsoundSynthesizer>

## Voir aussi

Opcodes vectoriels

## Crédits

Auteur : John ffitch
Codemist Ltd
2013

Nouveau dans la version 6.00

Argument istride ajouté dans la version 6.10

Précédent | Niveau supérieur | Suivant
sleighbells | Sommaire | slider16