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] Note

  1. Les lignes suivantes sont équivalentes

    ia  =  cpspch(8.02)
    ib     cps2pch  8.02, 12
    ic     cpsxpch  8.02, 12, 2, 1.02197503906

  2. C'est un opcode, pas une fonction.

  3. 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.

Exemple 166. 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.

Exemple 167. 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.

Exemple 168. 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