lphasor — Génère un indice de table pour la lecture d'échantillons.
Cet opcode peut être utilisé pour générer un indice de table pour la lecture d'échantillons (par exemple avec tablexkt).
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.
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.
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>