pset — Définit et initialise des tableaux numériques au chargement de l'orchestre.
icon1, icon2, ... -- valeurs de preset pour un instrument MIDI
pset (facultatif) définit et initialise des tableaux numériques au chargement de l'orchestre. On peut l'utiliser comme instruction dans l'en-tête de l'orchestre (c'est-à-dire dans l'instrument 0) ou dans un instrument. Lorsqu'il est défini dans un instrument, il ne fait pas partie de ses opérations des périodes d'initialisation ou d'exécution, et une seule de ces instructions est autorisée par instrument. Ces valeurs sont disponibles comme valeurs d'initialisation par défaut. Quand un instrument est déclenché à partir du MIDI, il ne recoit que p1 et p2 de l'évènement, alors que p3, p4, etc proviennent des valeurs définies dans le preset.
Voici un exemple de l'opcode pset. Il utilise le fichier pset.csd
Exemple 741. Exemple de l'opcode pset.
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 ;;;realtime audio out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o pset.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 0dbfs = 1 nchnls = 2 instr 1 ;this shows an example with non-midi use pset 1, 0, 1, 220, 0.5 asig poscil p5, p4, 1 outs asig, asig endin </CsInstruments> <CsScore> f 1 0 1024 10 1 ;sine wave i 1 0 1 i 1 1 1 440 i 1 2 1 440 0.1 e </CsScore> </CsoundSynthesizer>
Voici un autre exemple d'utilisation de l'opcode pset avec le midi. Il utilise le fichier pset-midi.csd
Exemple 742. Second exemple de l'opcode pset.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac -+rtmidi=virtual -M0 --midi-key-oct=4 --midi-velocity=5 ;;;realtime audio out and virtual midi keyboard ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o pset-midi.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 0dbfs = 1 nchnls = 2 instr 1 pset 0, 0, 3600, 0, 0, 0 iinstrument = p1 istarttime = p2 iattack = 0.005 isustain = p3 irelease = 0.06 p3 = isustain + iattack + irelease kdamping linsegr 0.0, iattack, 1.0, isustain, 1.0, irelease, 0.0 ioctave = p4 ifrequency = cpsoct(ioctave) iamplitude = p5*.15 ;lower volume print p1, p2, p3, p4, p5 asig STKBandedWG ifrequency, iamplitude outs asig, asig endin </CsInstruments> <CsScore> f 0 60 ; runs 69 seconds e </CsScore> </CsoundSynthesizer>