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

## cpsxpch

cpsxpch — Convertit une valeur de classe de hauteur en cycles par seconde (Hz) pour des divisions égales de n'importe quel intervalle.

## Description

Convertit une valeur de classe de hauteur en cycles par seconde (Hz) pour des divisions égales de n'importe quel intervalle. Le nombre de divisions ne doit pas dépasser 100.

## Syntaxe

    icps cpsxpch ipch, iequal, irepeat, ibase

## Initialisation

ipch -- Nombre en entrée de la forme 8ve.pc, indiquant une octave et quelle note dans l'octave.

iequal -- S'il est positif, c'est le nombre d'intervalles égaux de division de l'“octave”. Doit être inférieur ou égal à 100. S'il est négatif, c'est le numéro d'une table de multiplicateurs de fréquence.

irepeat -- Nombre indiquant l'intervalle qui est l'“octave”. Le nombre 2 est utilisé pour des divisions de l'octave, 3 pour une douzième, 4 pour deux octaves, ainsi de suite. Ce nombre ne doit pas forcément être un entier, mais il doit être positif.

ibase -- La fréquence qui correspond à la hauteur 0.0

| Note
1. Les lignes suivantes sont équivalentes
       ia  =  cpspch(8.02)
       ib     cps2pch  8.02, 12
       ic     cpsxpch  8.02, 12, 2, 1.02197503906
C'est un opcode, pas une fonction. Des valeurs négatives sont permises pour ipch, mais pas pour irepeat, ni pour iequal ou ibase.

## Exemples

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

Example 155. Exemple de l'opcode cpsxpch.

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
    -odac           -iadc    ;;;RT audio I/O
    ; For Non-realtime ouput leave only the line below:
    ; -o cpsxpch.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
      ; Use a normal twelve-tone scale.
      ipch = 8.02
      iequal = 12
      irepeat = 2
      ibase = 1.02197503906

      icps cpsxpch ipch, iequal, irepeat, ibase

      print icps
    endin

    </CsInstruments>
    <CsScore>

    ; Play Instrument #1 for one second.
    i 1 0 1
    e

    </CsScore>
    </CsoundSynthesizer>

Sa sortie contiendra cette ligne :

    instr 1:  icps = 293.666

Voici un exemple de l'ocpode cpsxpch qui utilise une échelle tempérée égale avec 10,5 divisions de l'octave. Il utilise le fichier cpsxpch_105et.csd.

Example 156. Exemple de l'ocpode cpsxpch qui utilise une échelle tempérée égale avec 10,5 divisions de l'octave.

    <CsoundSynthesizer>
    <CsOptions>
    ; Select audio/midi flags here according to platform
    ; Audio out   Audio in
    -odac           -iadc    ;;;RT audio I/O
    ; For Non-realtime ouput leave only the line below:
    ; -o cpsxpch_105et.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
      ; Use a 10.5ET scale.
      ipch = 4.02
      iequal = 21
      irepeat = 4
      ibase = 16.35160062496

      icps cpsxpch ipch, iequal, irepeat, ibase

      print icps
    endin

    </CsInstruments>
    <CsScore>

    ; Play Instrument #1 for one second.
    i 1 0 1
    e

    </CsScore>
    </CsoundSynthesizer>

Sa sortie contiendra cette ligne :

    instr 1:  icps = 4776.824

Voici un exemple de l'opcode cpsxpch qui utilise une échelle de Pierce centrée sur le la médian. Il utilise le fichier cpsxpch_pierce.csd.

Example 157. Exemple de l'opcode cpsxpch qui utilise une échelle de Pierce centrée sur le la médian.

    <CsoundSynthesizer>
    <CsOptions>
    ; Select audio/midi flags here according to platform
    ; Audio out   Audio in
    -odac           -iadc    ;;;RT audio I/O
    ; For Non-realtime ouput leave only the line below:
    ; -o cpsxpch_pierce.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
      ; Use a Pierce scale centered on middle A.
      ipch = 2.02
      iequal = 12
      irepeat = 3
      ibase = 261.62561

      icps cpsxpch ipch, iequal, irepeat, ibase

      print icps
    endin

    </CsInstruments>
    <CsScore>

    ; Play Instrument #1 for one second.
    i 1 0 1
    e

    </CsScore>
    </CsoundSynthesizer>

Sa sortie contiendra cette ligne :

    instr 1:  icps = 2827.762

## Voir aussi

cpspch, cps2pch

## Crédits

Auteur : John ffitch
Université de Bath/Codemist Ltd.
Bath, UK
1997

Nouveau dans la version 3.492 de Csound

Prev | Up | Next
cpstuni | Home | cpumeter