logcurve — Cet opcode implémente une formule qui génère une courbe logarithmique 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 logarithmique 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 :
log(x * (y-1)+1) / (log(y)
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 logcurve. Il utilise le fichier logcurve.csd.
Exemple 528. Exemple de l'opcode logcurve.
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 -d ;;;realtime output </CsOptions> <CsInstruments> sr = 48000 ksmps = 100 nchnls = 2 instr 1 ; logcurve test kmod phasor 1/p3 kout logcurve kmod, p4 printks "kmod = %f kout = %f\\n", 0.1, kmod, kout endin </CsInstruments> <CsScore> i1 0 10 2 i1 10 10 30 i1 20 10 0.5 e </CsScore> </CsoundSynthesizer>