trigphasor — Une rampe linéaire réinitialisable entre deux niveaux.
Opcode du greffon scugens..
Une rampe linéaire réinitialisable entre deux niveaux. Adapté du Phasor de Supercollider. trigphasor est une rampe linéaire entre les valeurs kstart et kend. Lorsque son entrée de seuil passe des valeurs négatives aux valeurs positives, la sortie de trigphasor saute à sa valeur de réinitialisation (ou à kstart si une valeur de réinitialisation n'a pas été fournie). Lorsqu'il atteint la fin de sa rampe, trigphasor recommence au début.
aindex trigphasor xtrig, xrate, kstart, kend [, kresetPos]
kindex trigphasor xtrig, xrate, kstart, kend [, kresetPos]
xtrig -- déclencheur, chaque fois qu'il passe des valeurs négatives aux valeurs positives.
xrate -- valeur ajoutée à chaque évalutation. Au taux-k, cette valeur est ajoutée à chaque cycle ; au taux-a, cette valeur est ajoutée par échantillon (ksmps fois par cycle).
kstart, kend -- valeurs de début et de fin du phaseur.
kresetPos -- si elle est spécifiée, cette valeur est utilisée pour sauter après un déclenchement. Sinon, un déclenchement ramènera la position à kstart.
Pour générer un signal de phaseur de kstart à kend avec une période donnée (durée de chaque cycle), le calcul sera :
rate = (end - start) / (period * sr)
Si le phaseur est utilisé au taux-k, utiliser kr au lieu de sr dans la formule ci-dessus.
voici un exemple de l'opcode trigphasor. Il utilise le fichier trigphasor.csd.
Exemple 1120. Exemple de l'opcode trigphasor.
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> -odac </CsOptions> <CsInstruments> sr = 44100 ksmps = 64 nchnls = 2 0dbfs = 1.0 gisnd ftgen 0, 0, 0, -1, "finneganswake1.flac", 0, 0, 0 instr 1 ; use trigphasor to read a soundfile inumsamps = nsamp(gisnd) irate = 1 ; play at original speed ktrig metro 0.25 aphase trigphasor ktrig, irate, 0, inumsamps asig table3 aphase, gisnd asig *= linsegr:a(0, 0.01, 1, 0.01, 0) outch 1, asig endin </CsInstruments> <CsScore> i 1 0 20 f0 3600 </CsScore> </CsoundSynthesizer>