cpstmid
Prev | Opcodes et opérateurs de l'orchestre | Next

## cpstmid

cpstmid — Retourne un numéro de note MIDI (possibilité d'échelles micro-tonales).

## Description

Cette unité est semblable à cpsmidi, mais elle permet de particulariser des échelles micro-tonales.

## Syntaxe

    icps cpstmid ifn

## Initialisation

ifn -- table de fonction contenant les paramètres (numgrades, interval, basefreq, basekeymidi) et les rapports d'accordage.

## Exécution

Seulement durant l'initialisation.

cpsmid nécessite cinq paramètres. Le premier, ifn, est le numéro de la table de fonction des rapports d'accordage, et les autres paramètres sont contenus dans la table de fonction elle-même. La table de fonction ifn doit être générée par GEN02, sans normalisation. Les quatre premières valeurs stockées dans cette fonction sont :

1. numgrades -- le nombre de degrés de l'échelle micro-tonale

2. interval -- l'intervalle de fréquence couvert avant de répéter les rapports des degrés. Par exemple, 2 pour une octave, 1.5 pour une quinte, etc.

3. basefreq -- la fréquence de base de l'échelle en Hz

4. basekeymidi -- le numéro de note MIDI auquel basefreq est assigné sans modification

Après ces quatre valeurs, on peut commencer à insérer les rapports d'accordage. Par exemple, pour une échelle standard sur 12 notes avec la fréquence de base 261 Hz assignée à la touche numéro 60, l'instruction f correspondante dans la partition pour générer la table sera :

; numgrades interval basefreq basekeymidi tuning ratios (equal temp)
f1 0 64 -2 12 2 261 60 1 1.059463094359 1.122462048309 1.189207115003 ...etc...

Un autre exemple avec une échelle de 24 notes dont la fréquence de base de 440 Hz est assignée à la touche numéro 48, et un intervalle de répétition de 1.5 :

; numgrades interval basefreq basekeymidi tuning-ratios (equal temp)
f1 0 64 -2 24 1.5 440 48 1 1.01 1.02 1.03 ...etc...

## Exemples

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

Example 152. Exemple de l'opcode cpstmid.

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
    -odac     -M0  ;;;RT audio I/O with MIDI in
    ;-iadc    ;;;uncomment -iadc if RT audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o cpstmid.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>
    ; after an example from Kevin Conder
    sr = 44100
    ksmps = 32
    nchnls = 2
    0dbfs = 1

    ; Table #1, a normal 12-tone equal temperament scale.
    ; numgrades = 12 (twelve tones)
    ; interval = 2 (one octave)
    ; basefreq = 261.659 (Middle C)
    ; basekeymidi = 60 (Middle C)
    gitemp ftgen 1, 0, 64, -2, 12, 2, 261.659, 60, 1.00, \
                 1.059, 1.122, 1.189, 1.260, 1.335, 1.414, \
                 1.498, 1.588, 1.682, 1.782, 1.888, 2.000

    instr 1

    ifn = 1
    icps	cpstmid ifn
    	print icps
    asig	oscil 0.6, icps, 2
    	outs  asig, asig

    endin

    </CsInstruments>
    <CsScore>
    f 0 20
    ;sine wave.
    f 2 0 16384 10 1

    e

    </CsScore>
    </CsoundSynthesizer>

## Voir aussi

cpsmidi, GEN02

## Crédits

Auteur : Gabriel Maldonado
Italie
1998

Nouveau dans la version 3.492 de Csound.

Prev | Up | Next
cpspch | Home | cpstun