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

## midiarp

midiarp — Génère des arpèges basés sur les notes MIDI tenues.

## Description

midiarp construit des arpèges basés sur les notes MIDI tenues. L'opcode produit des notes sous la forme de numéros de note MIDI, et un signal métronomique qui peut être utilisé pour séquencer les notes. On peut choisir la vitesse à laquelle les notes sont générées et aussi choisir parmi un ensemble de modèles d'arpèges.

## Syntaxe

    kMidiNoteNum, kTrigger midiarp kRate[, kMode]

## Exécution

kRate -- fixe le taux en cycles par seconde auquel les nouvelles notes sont générées.

kMode -- Facultatif. Fixe le type d'arpège. 0 pour ascendant et descendant, 1 pour ascendant, 2 pour descendant, 3 pour aléatoire. 0 est la valeur par défaut.

kMideNoteNum -- le numéro de note MIDI courant dans l'arpège.

kTrigger -- une impulsion métronomique qui peut être utilisée pour déclencher l'exécution des notes de l'arpège. Ce signal produit un 1 suivi de 0 à chaque cycle. La fréquence est fixée par le paramètre kRate en entrée.

| Note
Il est important que l'instrument contenant l'opcode midiarp ne soit pas activé en continu à chaque nouvelle note MIDI. Pour éviter ceci, il faut utiliser l'opcode massign comme dans l'exemple ci-dessous.

## Exemple

Cet exemple montre l'utilisation de midiarp pour déclencher des arpèges réalisés sur un second instrument. L'instrument 100 reçoit des notes MIDI en entrée et déclenche l'action de l'instrument 200. massign est utilisé pour éviter que l'instrument 100 ne soit activé chaque fois qu'une nouvelle note MIDI est fournie. Cet exemple utilise le fichier midiarp.csd.

Exemple 577. Example de l'opcode midiarp

    <CsoundSynthesizer>
    <CsOptions>
    ; Select audio/midi flags here according to platform
    ; Audio out   Audio in    No messages
    -odac 	-d    -m0d --midi-key-cps=4 --midi-velocity-amp=5  -F midiChords.mid
    ; For Non-realtime ouput leave only the line below:
    ; -o midiin.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>
    ; Initialize the global variables.
    sr = 44100
    ksmps = 32
    nchnls = 2
    0dbfs  = 1

    massign 1, -1; prevent triggering of instrument with MIDI

    instr 200

        kMode = 0
        kTempo = 8
        kNote, kTrigger midiarp kTempo
        kFilterFreq lfo 2000, .05, 1

        ;if kTrigger is 1 trigger instrument 300 to play
        if kTrigger==1 then
            event "i", 300, 0, .5, .5, kNote, abs(kFilterFreq)+200
        endif

    endin

    instr 300

        kEnv expon p4, p3, .001
        aOut vco2 kEnv, cpsmidinn(p5)		;convert note number to cps
        aFilter moogladder aOut, p6, .2
        outs aFilter, aFilter

    endin

    </CsInstruments>
    <CsScore>
    i200 0 60
    </CsScore>
    </CsoundSynthesizer>

## Crédits

Auteur : Rory Walsh
2017

Précédent | Niveau supérieur | Suivant
midglobal | Sommaire | midic14