expcurve — Cet opcode implémente une formule qui génère une courbe exponentielle normalisée dans l'intervalle 0 - 1. Il est basé sur le travail dans Max / MSP de Eric Singer (c) 1994.
Génère une courbe exponentielle dans l'intervalle de 0 à 1 avec une raideur de pente arbitraire. Une raideur de pente inférieure à 1.0 levant des erreurs NaN (Not-a-Number) et provoquant un comportement instable, elle est traitée comme si elle valait 1.
La formule utilisée pour le calcul de la courbe est :
(exp(x * log(y))-1) / (y-1)
où x est égal à kindex et y est égal à ksteepness.
kindex -- Valeur d'indice. Attendue dans l'intervalle de 0 à 1.
ksteepness -- Raideur de la courbe générée. Avec des valeurs proches de 1,0 on obtient une courbe plus rectiligne alors qu'avec des valeurs plus grandes la courbe est plus raide.
kout -- Sortie pondérée.
Voici un exemple de l'opcode expcurve. Il utilise le fichier expcurve.csd.
Exemple 278. Exemple de l'opcode expcurve.
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 Silent -odac -iadc -n ;;;realtime output </CsOptions> <CsInstruments> sr = 44100 ksmps = 1000 nchnls = 2 instr 1 ; logcurve test kmod phasor 1/p3 kout expcurve kmod, p4 printks "mod = %f out= %f\\n", 0.5, kmod, kout endin /*--- ---*/ </CsInstruments> <CsScore> i1 0 5 2 i1 5 5 5 i1 10 5 30 i1 15 5 0.5 e </CsScore> </CsoundSynthesizer>