ampmidicurve — Associe à une vélocité MIDI en entrée un facteur de gain en sortie de valeur maximale 1, en modifiant ce gain de sortie par un intervalle dynamique et un exposant de mise en forme.
Opcode du greffon ampmidid.
Associe à une vélocité MIDI en entrée un facteur de gain en sortie de valeur maximale 1, en modifiant ce gain de sortie par un intervalle dynamique et un exposant de mise en forme. Le gain minimum en sortie vaut 1 moins l'intervalle dynamique. Un exposant de mise en forme valant 1 donne une réponse linéaire ; une augmentation de l'exposant produit un coude décroissant progressivement dans la courbe de réponse du gain.
igain ampmidicurve ivelocity, idynamicrange, iexponent
kgain ampmidicurve kvelocity, kdynamicrange, kexponent
imidivelocity -- Vélocité MIDI, comprise entre 0 et 127.
idynamicrange -- Intervalle dynamique désiré du gain, entre 0 et 1.
iexponent -- Exposant appliqué pour mettre en forme la courbe de réponse du gain, 1 ou plus.
kmidivelocity -- Vélocité MIDI, comprise entre 0 et 127.
kdynamicrange -- Intervalle dynamique désiré du gain, entre 0 et 1.
kexponent -- Exposant appliqué pour mettre en forme la courbe de réponse du gain, 1 ou plus.
Associe à une vélocité MIDI en entrée un facteur de gain en sortie de valeur maximale 1, en modifiant ce gain de sortie par un intervalle dynamique et un exposant de mise en forme. Le gain minimum en sortie vaut 1 moins l'intervalle dynamique. Un exposant de mise en forme valant 1 donne une réponse linéaire ; une augmentation de l'exposant produit un coude décroissant progressivement dans la courbe de réponse du gain, selon l'équation : y = d * (x/127)^h + 1 - d, où y = le gain, x = la vélocité MIDI en entrée (de 0 à 127), d = l'intervalle dynamique (de p à 1), et h = l'exposant de mise en forme (1 ou plus). Cet opcode a été suggéré par Mauro Giubileo.
Voici un exemple de l'opcode ampmidicurve. Il utilise le fichier ampmidicurve.csd.
Exemple 60. Exemple de l'opcode ampmidicurve.
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 ;;;RT audio out, note=p4 and velocity=p5 -odac --midi-key=4 --midi-velocity-amp=5 ;-iadc ;;;uncomment -iadc if RT audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o ampmidid.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 massign 0, 1 ;assign all midi to instr. 1 instr 1 isine ftgenonce 0, 0, 4096, 10, 1 ;sine wave ihz = cpsmidinn(p4) ivelocity = p5 ; MIDI velocity to signal amplitude. iamplitude = ampdb(ivelocity) ; Gain with compressed dynamic range, soft knee. igain ampmidicurve ivelocity, .92, 3 print ivelocity, iamplitude, igain a1 oscili 1, ihz, isine aenv madsr 0.05, 0.1, 0.5, 0.2 asig = a1 * aenv * igain outs asig, asig endin </CsInstruments> <CsScore> ; note velocity i 1 0 2 61 100 i 1 + 2 65 10 e </CsScore> </CsoundSynthesizer>