lphasor

lphasor — Génère un indice de table pour la lecture d'échantillons.

Description

Cet opcode peut être utilisé pour générer un indice de table pour la lecture d'échantillons (par exemple avec tablexkt).

Syntaxe

ares lphasor xtrns [, ilps] [, ilpe] [, imode] [, istrt] [, istor]

Initialisation

ilps -- début de la boucle.

ilpe -- fin de la boucle (doit être supérieur à ilps pour que la boucle soit possible). La valeur par défaut de ilps et de ilpe est zéro.

imode (facultatif : 0 par défaut) -- mode de boucle. Les valeurs permises sont :

  • 0 : pas de boucle

  • 1 : boucle à l'endroit

  • 2 : boucle à l'envers

  • 3 : boucle à l'endroit et à l'envers

istrt (facultatif : 0 par défaut) -- La valeur de sortie initiale (phase). Elle doit être inférieure à ilpe si la boucle est active, mais elle peut être supérieure à ilps (c-à-d que l'on peut démarrer la lecture au milieu de la boucle).

istor (facultatif : 0 par défaut) -- s'il a une valeur différente de zéro l'initialisation est ignorée.

Exécution

ares -- un indice brut de table en échantillons (même unité pour les points de boucle). Peut être utilisé comme indice de table avec les opcodes de table.

xtrns -- facteur de transposition, exprimé comme un rapport de pointeur de lecture. ares est incrémenté de cette valeur, et répète les valeurs comprises entre les points de boucle. Par exemple, 1.5 signifie une quinte ascendante, 0.75 signifie une quarte descendante. Il ne peut pas être négatif.

Exemples

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

Exemple 549. Exemple de l'opcode lphasor.

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
-odac           -iadc     ;;;RT audio I/O
; For Non-realtime ouput leave only the line below:
; -o lphashor.wav -W ;;; for file output any platform
</CsOptions>

<CsInstruments>
; Example by Jonathan Murphy Dec 2006

  sr	    =  44100
  ksmps	    =  10
  nchnls    =  1

    instr 1

  ifn	    =  1   ; table number
  ilen	    =  nsamp(ifn)    ; return actual number of samples in table
  itrns	    =  1   ; no transposition
  ilps	    =  0   ; loop starts at index 0
  ilpe	    =  ilen ; ends at value returned by nsamp above
  imode	    =  3    ; loop forwards & backwards
  istrt	    =  10000  ; commence playback at index 10000 samples
  ; lphasor provides index into f1 
  alphs	    lphasor   itrns, ilps, ilpe, imode, istrt
  atab	    tablei    alphs, ifn
	    ; amplify signal
  atab	    =  atab * 10000

	    out	      atab

    endin

</CsInstruments>

<CsScore>
f 1 0 262144 1 "beats.wav" 0 4 1
i1 0 60
e
</CsScore>

</CsoundSynthesizer>


Crédits

Auteur : Istvan Varga
Janvier 2002
Exemple écrit par Jonathan Murphy

Nouveau dans la version 4.18

Mise à jour en avril 2002 et en novembre 2002 par Istvan Varga