moscil — Envoie un flot de notes MIDI.
kchn -- numéro de canal MIDI (1-16)
knum -- numéro de note (0-127)
kvel -- vélocité (0-127)
kdur -- durée de note en secondes
kpause -- durée de la pause après chaque noteoff et avant la note suivante en secondes
moscil et midion sont les opcodes MIDI OUT les plus puissants. moscil (MIDI oscil) joue un flot de notes de durée kdur. Le canal, la hauteur, la vélocité, la durée et le temps de pause sont contrôlables au taux-k, ce qui permet de générer par algorithme des lignes mélodiques très complexes. Lorsque l'instrument courant est désactivé, les notes jouées par l'instance courante de moscil sont tronquées d'office.
Il peut y avoir n'importe quel nombre d'opcodes moscil dans le même instrument de Csound, ce qui permet une polyphonie de style contrapointique avec un seul instrument.
Voici un exemple de l'opcode moscil. Il utilise le fichier moscil.csd.
Exemple 634. Exemple de l'opcode moscil.
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.
Cet exemple génère un flot de notes pour chaque note reçue sur l'entrée MIDI. Il génère des notes MIDI sur la sortie MIDI de Csound, si bien qu'il faut y connecter quelque chose.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform ; Audio out Audio in No messages -odac -iadc -d -M0 -Q1;;;RT audio I/O with MIDI in </CsOptions> <CsInstruments> sr = 44100 kr = 4410 ksmps = 10 nchnls = 2 ; Example by Giorgio Zucco 2007 instr 1 ;Triggered by MIDI notes on channel 1 inote notnum ivel veloc kpitch = 40 kfreq = 2 kdur = .04 kpause = .1 k1 lfo kpitch, kfreq,5 ;plays a stream of notes of kdur duration on MIDI channel 1 moscil 1, inote + k1, ivel, kdur, kpause endin </CsInstruments> <CsScore> ; Dummy ftable f0 60 </CsScore> </CsoundSynthesizer>