event — Génère un évènement de partition à partir d'un instrument.
event "scorechar", kinsnum, kdelay, kdur, [, kp4] [, kp5] [, ...]
event "scorechar", "insname", kdelay, kdur, [, kp4] [, kp5] [, ...]
« scorechar » -- Une chaîne de caractères (entre guillemets) représentant le p-champ initial dans une instruction de partition. C'est habituellement « e », « f », ou « i ».
« insname » -- Une chaîne de caractères (entre guillemets) représentant un instrument nommé.
kinsnum -- L'instrument à utiliser pour l'évènement. Cela correspond au premier p-champ, p1, dans une instruction de partition.
kdelay -- Quand (en secondes) l'évènement aura lieu à partir de l'instant courant de l'exécution. Cela correspond au second p-champ, p2, dans une instruction de partition.
kdur -- Durée (en secondes) de l'évènement. Cela correspond au troisième p-champ, p3, dans une instruction de partition.
kp4, kp5, ... (facultatif) -- Paramètres représentant des p-champs supplémentaires dans une instruction de partition. Ils commencent par le quatrième p-champ, p4.
Note | |
---|---|
Noter que l'opcode event ne peut pas accepter de p-champs chaîne de caractère. Si vous devez passer des chaînes de caractère à l'instanciation d'un instrument, utilisez l'opcode scoreline ou scoreline_i. |
Voici un exemple de l'opcode event. Il utilise le fichier event.csd.
Exemple 271. Exemple de l'opcode event.
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 No messages -odac -iadc -d ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o event.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Instrument #1 - an oscillator with a high note. instr 1 ; Create a trigger and set its initial value to 1. ktrigger init 1 ; If the trigger is equal to 0, continue playing. ; If not, schedule another event. if (ktrigger == 0) goto contin ; kscoreop="i", an i-statement. ; kinsnum=2, play Instrument #2. ; kwhen=1, start at 1 second. ; kdur=0.5, play for a half-second. event "i", 2, 1, 0.5 ; Make sure the event isn't triggered again. ktrigger = 0 contin: a1 oscils 10000, 440, 1 out a1 endin ; Instrument #2 - an oscillator with a low note. instr 2 a1 oscils 10000, 220, 1 out a1 endin </CsInstruments> <CsScore> ; Make sure the score plays for two seconds. f 0 2 ; Play Instrument #1 for a half-second. i 1 0 0.5 e </CsScore> </CsoundSynthesizer>
Voici un exemple de l'opcode event utilisant un instrument nommé. Il utilise le fichier event_named.csd.
Exemple 272. Exemple de l'opcode event utilisant un instrument nommé.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in No messages -odac -iadc -d ;;;RT audio I/O ; For Non-realtime ouput leave only the line below: ; -o event_named.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> ; Initialize the global variables. sr = 44100 kr = 4410 ksmps = 10 nchnls = 1 ; Instrument #1 - an oscillator with a high note. instr 1 ; Create a trigger and set its initial value to 1. ktrigger init 1 ; If the trigger is equal to 0, continue playing. ; If not, schedule another event. if (ktrigger == 0) goto contin ; kscoreop="i", an i-statement. ; kinsnum="low_note", instrument named "low_note". ; kwhen=1, start at 1 second. ; kdur=0.5, play for a half-second. event "i", "low_note", 1, 0.5 ; Make sure the event isn't triggered again. ktrigger = 0 contin: a1 oscils 10000, 440, 1 out a1 endin ; Instrument "low_note" - an oscillator with a low note. instr low_note a1 oscils 10000, 220, 1 out a1 endin </CsInstruments> <CsScore> ; Make sure the score plays for two seconds. f 0 2 ; Play Instrument #1 for a half-second. i 1 0 0.5 e </CsScore> </CsoundSynthesizer>