midion

midion — Génère des messages de note MIDI au taux-k.

Description

Génère des messages de note MIDI au taux-k.

Syntaxe

midion kchn, knum, kvel

Exécution

kchn -- numéro de canal MIDI (1-16)

knum -- numéro de note (0-127)

kvel -- vélocité (0-127)

midion (note on au taux-k) joue des notes MIDI avec les valeurs courantes de kchn, knum et kvel. Ces arguments peuvent varier au taux-k. Chaque fois que la valeur MIDI convertie de l'un de ces arguments change, la dernière note MIDI jouée par l'instance courante de midion est immédiatement arrêtée et une nouvelle note avec le nouvel argument est activée. Cet opcode, comme moscil, peut générer des textures mélodiques très complexes s'il est contrôlé par des signaux complexes de taux-k.

Il peut y avoir n'importe quel nombre d'opcodes midion dans le même instrument de Csound, ce qui permet une polyphonie de style contrapointique avec un seul instrument.

Exemples

Voici un exemple de l'opcode midion. Il utilise le fichier midion_simple.csd.

Exemple 605. Exemple simple de l'opcode midion.

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 accord mineur sur 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

  ifund notnum
  ivel  veloc

  knote1 init ifund
  knote2 init ifund + 3
  knote3 init ifund + 5

  ;minor chord on MIDI out channel 1
  ;Needs something plugged to csound's MIDI output
  midion 1, knote1,ivel
  midion 1, knote2,ivel
  midion 1, knote3,ivel

endin


</CsInstruments>
<CsScore>
; Dummy ftable
f0 60
</CsScore>
</CsoundSynthesizer>


Voici un autre exemple de l'opcode midion. Il utilise le fichier midion_scale.csd.

Exemple 606. Exemple de l'opcode midion pour générer aléatoirement des notes sur une échelle.

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 aléatoirement des notes prises dans une échelle donnée 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

  ivel 	veloc

  krate = 8
  iscale = 100 ;f

  ; Random sequence from table f100
  krnd  randh int(14),krate,-1
  knote table abs(krnd),iscale
  ; Generates random notes from the scale on ftable 100
  ; on channel 1 of csound's MIDI output
  midion 1,knote,ivel

endin

</CsInstruments>
<CsScore>
f100 0 32 -2  40 50 60 70 80 44 54 65 74 84 39 49 69 69

; Dummy ftable
f0 60
</CsScore>
</CsoundSynthesizer>


Voir aussi

moscil, midion2, noteon, noteoff, noteondur, noteondur2

Crédits

Auteur : Gabriel Maldonado
Italie
Mai 1997

Merci à Rasmus Ekman pour avoir indiqué les intervalles corrects pour le canal MIDI et les numéros de contrôleur.