logcurve

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.

Description

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.

Syntaxe

kout logcurve kindex, ksteepness

Exécution

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.

Exemples

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>


Voir aussi

scale, gainslider, expcurve

Crédits

Auteur : David Akbari
Octobre
2006
Test de l'intervalle introduit dans la 6.16 par John ffitch