GEN16
Précédent | Instructions de partition et routines GEN | Suivant

## GEN16

GEN16 — Crée une table depuis une valeur initiale jusqu'à une valeur terminale.

## Description

Crée une table depuis la valeur deb jusqu'à la valeur fin en dur pas.

## Syntaxe

    f # date taille 16 val1 dur1 type1 val2 [dur2 type2 val3 ... typeX valN]

## Initialisation

taille -- nombre de points dans la table. Doit être une puissance de 2 ou une puissance-de-2 plus 1 (voir l'instruction f). La valeur normale est une puissance-de-2 plus 1.

| Note
La dernière valeur n'est atteinte que lorsque la longueur de la table est une puissance-de-2 plus 1. (Cette longueur est cruciale dans l'utilisation de l'opcode tab).

deb -- valeur de départ

dur -- nombre de segments

type -- si 0, une ligne droite est produite. Si différent de zéro, alors GEN16 crée la courbe suivante sur dur pas :

deb + (fin - deb) * (1 - exp( i*type/(dur-1) )) / (1 - exp(type))

fin -- valeur après dur segments

Voici quelques exemples de courbes générées pour différentes valeurs de type :

Tables générées par GEN16 pour différentes valeurs de type.

| Note
Si type > 0, on a une courbe montant lentement (concave) ou décroissant lentement (convexe), tandis que si type < 0, la courbe monte rapidement (convexe) ou décroit rapidement (concave). Voir aussi transeg.

Exemple 1282. Un exemple simple de la routine GEN16.

    <CsoundSynthesizer>
    <CsOptions>
    ; Select audio/midi flags here according to platform
    ; Audio out   Audio in
    -odac           -iadc    ;;;RT audio I/O
    ; For Non-realtime ouput leave only the line below:
    ; -o gen16.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 128
    nchnls = 1

    instr 1
      kcps init 1/p3
      kndx phasor kcps

      ifn = p4
      ixmode = 1
      kval table kndx, ifn, ixmode

      ibasefreq = 440
      kfreq = kval * ibasefreq
      a1 oscil 20000, ibasefreq + kfreq, 1
      out a1
    endin

    </CsInstruments>
    <CsScore>

    f 1 0 16384 10 1

    f 2 0 1024 16 1 1024 1 0
    f 3 0 1024 16 1 1024 2 0
    f 4 0 1024 16 1 1024 10 0
    f 5 0 1024 16 1 1024 -1 0
    f 6 0 1024 16 1 1024 -2 0
    f 7 0 1024 16 1 1024 -10 0

    i 1 0 2 2
    i 1 + . 3
    i 1 + . 4
    i 1 + . 5
    i 1 + . 6
    i 1 + . 7

    e

    </CsScore>
    </CsoundSynthesizer>

## Crédits

Auteur : John ffitch
University of Bath, Codemist. Ltd.
Bath, UK
Octobre 2000

Nouveau dans la version 4.09 de Csound

Précédent | Niveau supérieur | Suivant
GEN15 | Sommaire | GEN17