interp

interp — Convertit un signal de contrôle en signal audio avec interpolation linéaire.

Description

Convertit un signal de contrôle en signal audio avec interpolation linéaire.

Syntaxe

ares interp ksig [, iskip] [, imode] [, ivalue]

Initialisation

iskip (facultatif, 0 par défaut) -- s'il n'est pas nul, l'initialisation de l'espace mémoire interne est ignorée (voir reson).

imode (facultatif, 0 par défaut) -- donne à la valeur de sortie initiale la valeur de la première entrée de taux-k au lieu de zéro. Les graphes suivants montre la sortie de interp avec une valeur d'entrée constante, en mode original, en ignorant l'initialisation et avec le nouveau mode :

Exemple 425. iskip=0, imode=0


 |    ________
 |   /        
 |  /         
 | /          
 |/           
-+------------
 |            
        


Exemple 426. iskip=1, imode=0


(prev)
 |  __________
 | /          
 |/           
 |            
 |            
-+------------
 |            
        


Exemple 427. iskip=0, imode=1


 |____________
 |
 |
 |
 |
-+------------
 |
        


ivalue (facultatif, 0 par défaut) -- valeur initiale si à la fois imode et iskip valent zéro.

Exécution

ksig -- signal de taux-k en entrée.

interp convertit un signal de contrôle en signal audio. Il utilise l'interpolation linéaire entre les valeurs successives de ksig.

Exemples

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

Exemple 428. Exemple de l'opcode interp.

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 interp.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; Initialize the global variables.
sr = 8000
kr = 8
ksmps = 1000
nchnls = 1

; Instrument #1 - a simple instrument.
instr 1
  ; Create an amplitude envelope.
  kamp linseg 0, p3/2, 20000, p3/2, 0

  ; The amplitude envelope will sound rough because it
  ; jumps every ksmps period, 1000.
  a1 oscil kamp, 440, 1
  out a1
endin

; Instrument #2 - a smoother sounding instrument.
instr 2
  ; Create an amplitude envelope.
  kamp linseg 0, p3/2, 25000, p3/2, 0
  aamp interp kamp

  ; The amplitude envelope will sound smoother due to
  ; linear interpolation at the higher a-rate, 8000.
  a1 oscil aamp, 440, 1
  out a1
endin


</CsInstruments>
<CsScore>

; Table #1, a sine wave.
f 1 0 256 10 1

; Play Instrument #1 for two seconds.
i 1 0 2
; Play Instrument #2 for two seconds.
i 2 2 2
e


</CsScore>
</CsoundSynthesizer>


Voir aussi

diff, downsamp, integ, samphold, upsamp

Plus d'information sur cet opcode : http://www.csoundjournal.com/issue10/CsoundRates.html, écrit par Andrés Cabrera.

Crédits

Mis à jour en novembre 2002, grâce à une note de Rasmus Ekman et Istvan Varga.