massign — Affecte un numéro de canal MIDI à un instrument de Csound.
ichnl -- numéro de canal MIDI (1-16).
insnum -- numéro de l'instrument d'orchestre de Csound. S'il est inférieur ou égal à zéro, le canal est désactivé (c-à-d. qu'il ne déclenche aucun instrument de csound, bien que l'information soit toujours reçue par des opcodes tels que midiin).
« insname » -- une chaîne de caractères entre guillemets représentant un nom d'instrument.
ireset -- sil est non nul, les contrôleurs sont réinitialisés ; c'est le comportement par défaut.
Affecte un numéro de canal MIDI à un instrument de Csound. Egalement utile pour s'assurer qu'un instrument particulier (si son numéro est compris entre 1 et 16) ne sera pas déclenché par des messages MIDI noteon (si l'on utilise quelque chose comme midiin pour interpréter l'information MIDI). Dans ce cas, fixer insnum à un nombre inférieur ou égal à 0.
Si ichan est fixé à 0, la valeur de insnum est utilisée pour tous les canaux. On peut envoyer de cette manière tous les canaux MIDI vers un seul instrument de Csound. On peut aussi empêcher le déclenchement des instruments à partir d'évènements de note MIDI en provenance de tous les canaux avec la ligne suivante :
massign 0, 0
Ceci peut être utile si l'on effectue toutes les évaluations MIDI dans Csound avec un instrument actif en permanence (par exemple en utilisant midiin et turnon) pour éviter une doublure de l'instrument quand une note est jouée.
Voici un exemple de l'opcode massign. Il utilise le fichier massign.csd.
Exemple 439. Exemple de l'opcode massign.
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 -+rtmidi=virtual -M0 ;;;realtime audio out and realtime midi in ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ;-o massign.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 0dbfs = 1 giengine fluidEngine ; soundfont path to manual/examples isfnum fluidLoad "19Trumpet.sf2", giengine, 1 fluidProgramSelect giengine, 1, isfnum, 0, 56 massign 0,0 ;disable triggering of all instruments on all channels, but massign 12,10 ;assign instr. 10 to midi channel 12 massign 3,30 ;assign instr. 30 to midi channel 3 instr 10 ; only on midi channel 12 mididefault 60, p3 midinoteonkey p4, p5 ikey init p4 ivel init p5 fluidNote giengine, 1, ikey, ivel endin instr 30 ; only on midi channel 3 icps cpsmidi asig oscils .6, icps, 0 outs asig, asig endin instr 99 ; output sound from fluidengine imvol init 7 asigl, asigr fluidOut giengine outs asigl*imvol, asigr*imvol endin </CsInstruments> <CsScore> i 10 0 2 60 100 ;play one note from score and... i 30 2 2 i 99 0 60 ;play virtual keyboard for 60 sec. e </CsScore> </CsoundSynthesizer>