midipitchbend

midipitchbend — Retourne une valeur de pitchbend MIDI.

Description

midipitchbend est conçu pour simplifier l'écriture d'instruments que l'on peut utiliser de manière interchangeable avec une partition ou depuis l'entrée MIDI, et pour faciliter l'adaptation d'instruments écrits à l'origine pour une partition au fonctionnement à partir d'une entrée MIDI.

En général, il doit être possible d'écrire des définitions d'instrument qui fonctionnent de la même manière avec une partition et avec le MIDI, que ce soit un fichier MIDI ou une entrée MIDI en , sans utiliser d'instructions conditionnelles supplémentaires, et qui tirent pleinement avantage des messages de voix MIDI.

Noter que la liaison entre des intruments de Csound et les numéros de canal MIDI se fait en utilisant l'opcode massign lors d'une exécution en . Pour les exécutions de fichier MIDI, les numéros d'instruments sont liés par défaut au canal MIDI + 1, mais ces valeurs par défaut peuvent être modifiées par tout message de changement de programme dans le fichier.

Syntaxe

midipitchbend xpitchbend [, ilow] [, ihigh]

Initialisation

ilow (facultatif) -- valeur basse facultative après reéchellonnement, 0 par défaut.

ihigh (facultatif) -- valeur haute facultative après reéchellonnement, 127 par défaut.

Exécution

xpitchbend -- retourne le pitchbend MIDI durant l'activation MIDI, et reste inchangé dans les autres cas.

Si l'instrument a été activé par une entrée MIDI, l'opcode remplace la valeur de xpitchbend par la valeur correspondante venant de l'entrée MIDI. Si l'instrument n'a PAS été activé par une entrée MIDI, la valeur de xpitchbend reste inchangée.

Grâce à cela, les p-champs de la partition peuvent recevoir leur valeur de données MIDI en entrée durant l'activation MIDI, et de la partition dans les autres cas.

[Note] Adaptation d'un instrument de Csound activé par partition.

Voir la section Opcodes pour l'Interopérabilité MIDI/Partition pour plus de détails sur l'adaptation d'instruments pilotés par partition au MIDI et vice-versa.

Exemples

Voici un exemple de l'opcoce midipitchbend. Il utilise le fichier midipitchbend.csd.

Exemple 436. Exemple de l'opcoce midipitchbend.

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
; Audio out   Audio in   No messages  MIDI in
-odac           -iadc     -d         -M0  ;;;RT audio I/O with MIDI in
; For Non-realtime ouput leave only the line below:
; -o midipitchbend.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

; Initialize the global variables.
sr = 44100
kr = 4410
ksmps = 10
nchnls = 1

; Instrument #1.
instr 1
  kpb init 0

  midipitchbend kpb

  ; Display the pitch-bend value when it changes.
  printk2 kpb
endin


</CsInstruments>
<CsScore>

; Play Instrument #1 for ten seconds.
i 1 0 10
e


</CsScore>
</CsoundSynthesizer>


Sa sortie contiendra des lignes comme celles-ci :

 i1     0.12695
 i1     0.00000
 i1    -0.01562

Voir aussi

midichannelaftertouch, midicontrolchange, mididefault, midinoteoff, midinoteoncps, midinoteonkey, midinoteonoct, midinoteonpch, midipolyaftertouch, midiprogramchange

Crédits

Auteur : Michael Gogins

Exemple écrit par Kevin Conder.

Nouveau dans la version 4.20