max_k — Maximum (ou minimum) local d'un signal entrant de taux-a.
max_k retourne le maximum (ou le minimum) local du signal entrant asig, mesuré dans l'intervalle de temps entre deux passages à true de ktrig.
asig -- signal entrée
ktrig -- signal de déclenchement
max_k retourne le maximum (ou le minimum) local du signal entrant asig, mesuré dans l'intervalle de temps entre deux passages à true de ktrig. itype détermine le comportement de max_k :
1 - maximum absolu (les valeurs négatives sont changées en valeurs positives avant l'évaluation)
2 - maximum courant
3 - minimum courant
4 - calcule la valeur moyenne de asig dans l'intervalle de temps depuis le dernier déclenchement.
Cet opcode peut être utile dans plusieurs situations, par exemple pour implémenter un vu-mètre.
Voici un exemple de l'opcode max_k. Il utilise le fichier max_k.csd.
Exemple 538. Exemple de l'opcode max_k.
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 -odac -Ma ;;;realtime audio out and midi in (on all inputs) ;-iadc ;;;uncomment -iadc if RT audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o max_k.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 FLpanel "This Panel contains VU-meter",300,100 gk1,gih1 FLslider "VU-meter", 0,1,0,1, -1, 250,30, 30,30 FLsetColor2 50, 50, 255, gih1 FLpanel_end FLrun ga1 init 0 instr 1 kenv linsegr 0,.5,.7,.5,.5,.2,0 ifreq cpsmidi a1 poscil 0dbfs*kenv, ifreq, 1 ga1 = ga1+a1 endin instr 2 outs ga1, ga1 ktrig metro 25 ;refresh 25 times per second kval max_k ga1, ktrig, 1 FLsetVal ktrig, kval, gih1 ga1 = 0 endin </CsInstruments> <CsScore> f1 0 1024 10 1 i2 0 3600 f0 3600 e </CsScore> </CsoundSynthesizer>