midion
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## 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 594. 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 595. 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.

Précédent | Niveau supérieur | Suivant
midion2 | Sommaire | midiout