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

## lincos

lincos — Interpolation linéaire vers cosinus.

## Description

Opcode du greffon emugens.

Distribue un intervalle de valeurs linéaires vers un intervalle de valeurs cosinus (transitions douces). Ne supporte pour le moment que les scalaires, de taux-i ou -k (pas de tableaux).

## Syntaxe

    ky lincos kx, ky0, ky1 [, kx0, kx1 ]

    iy lincos ix, iy0, iy1 [, ix0, ix1 ]

## Exécution

kx -- Signal en entrée.

ky0 -- Limite inférieure de l'intervalle en sortie.

ky1 -- Limite supérieure de l'intervalle en sortie.

kx0 -- Limite inférieure de l'intervalle en entrée (0 par défaut).

kx1 -- Limite supérieure de l'intervalle en entrée (1 par défaut).

    dx = ((x-x0) / (x1-x0)) * PI + PI
    y  = y0 + ((y1 - y0) * (1 + cos(dx)) / 2.0);

## Exemples

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

Exemple 500. Exemple de l'opcode lincos.

    <CsoundSynthesizer>
    <CsOptions>
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 128
    nchnls = 2
    0dbfs = 1.0

    ; Example file for lincos.csd

    /*
      lincos

      similar to cosseg, but with an explicit input for time
      lincos can be used ease-in / out any linear ramp

      ky  lincos kx, ky0, ky1, kx0=0, kx1=1
      iy  lincos ix, iy0, iy1, ix0=0, ix1=1

    */

    seed 0

    instr 1
      ; Map a value within the range 1-3 to the range 0-10.
      iy lincos 1.5, 0, 10, 1, 3
      print iy
      kx line 1, p3, 3
      ky lincos kx, 0, 10, 1, 3
      printks "kx: %f   ky: %f \n", 1/kr, kx, ky
    endin

    instr 2
      ; lincos can be used to create amplitude or pitch envelopes
      ktrig init 0
      krnd dust 1, 1
      ktrig = lineto(tirghold(krnd & ~ktrig, 0.5), 1)
      kpitch = lincos:k(ktrig, 60, 61)
      a0 oscili 0.7, mtof(kpitch)

      kfade  lincos linsegr(0, 1.5, 1, 1.5, 0), 0, 1
      kcresc lincos ktrig, 0.25, 1
      outch 1, a0 * interp(kfade * kcresc)
    endin

    </CsInstruments>
    <CsScore>

    i 1 0 0.2
    i 2 0 20

    </CsScore>
    </CsoundSynthesizer>

## Voir aussi

linlin, cosseg, scale, ntrpol, bpf

## Crédits

Auteur : Eduardo Moguillansky 2018

Nouveau greffon dans la version 6.12

Précédent | Niveau supérieur | Suivant
linlin | Sommaire | link_beat_force