line — Trace un segment de droite entre les points spécifiés.
ia -- valeur initiale.
ib -- valeur après idur secondes.
idur -- durée en secondes du segment. Avec une valeur nulle ou négative l'initialisation sera ignorée.
line génère des signaux de contrôle ou des signaux audio dont les valeurs évoluent linéairement depuis une valeur initiale jusqu'à une valeur finale.
![]() |
Note |
---|---|
Une erreur habituelle avec cet opcode est de croire que la valeur de ib est tenue après la durée idur. line ne s'arrête pas automatiquement à la fin de la durée donnée. Si la longueur de votre note dépasse idur secondes, kres (ou ares) ne s'arrêtera pas sur ib, mais au contraire il continuera à monter ou à descendre à la même vitesse. Si l'on a besoin d'une pente ascendante (ou descendante) suivie d'une tenue il faut utiliser l'opcode linseg. |
Voici un exemple de l'opcode line. Il utilise le fichier line.csd.
Exemple 265. Exemple de l'opcode line.
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 Audio in No messages -odac -iadc -d ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o line.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Instrument #1. instr 1 ; Define kcps as a frequency value that linearly declines ; from 880 to 220. It declines over the period set by p3. kcps line 880, p3, 220 a1 oscil 20000, kcps, 1 out a1 endin instr 2 kcps line 880, 1, 660 ; kcps won't stop at 660 if p3 > 1 a1 oscil 20000, kcps, 1 out a1 endin </CsInstruments> <CsScore> ; Table #1, a sine wave. f 1 0 16384 10 1 ; Play Instrument #1 for two seconds. i 1 0 2 ; Play Instrument #2 for two seconds. i 2 3 2 e </CsScore> </CsoundSynthesizer>