ftom

ftom — Convertit une fréquence en MIDI.

Description

Opcode de greffon dans emugens.

Convertit une fréquence en numéro de note MIDI, en tenant compte de la valeur globale du la3 (A4).

Syntaxe

imidi ftom ifreq [,irnd]
kmidi ftom kfreq [,irnd]
imidis[] ftom ifreqs[] [,irnd]
kmidis[] ftom kfreqs[] [,irnd]

Exécution

kfreq / ifreq -- Fréquence.

irnd -- Facultatif, s'il est différent de zéro le résultat est arrondi à l'entier le plus proche (zéro par défaut).

kmidi / imidi -- Numéro de note MIDI correspondant.

[Note] Note

Fixer la valeur globale du la3 (A4) dans l'en-tête pour modifier l'accordage.

Exemples

Voici un exemple de l'opcode ftom. Il utilise le fichier mtof-ftom.csd.

Exemple 374. Exemple de l'opcode ftom.

<CsoundSynthesizer>
<CsOptions>
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 128
nchnls = 2
0dbfs = 1.0
A4 = 440

instr 1
  kfreq = mtof(69)
  printks2 "midi 69   -> %f\n", kfreq
  
  kmidi = ftom(442)
  printks2 "freq 442  -> %f\n", kmidi
  
  kmidi = ftom(442,1)
  printks2 "freq 442  -> %f rounded\n", kmidi
  
  kfreq = mtof(kmidi)
  printks "midi %f -> %f\n", 1, kmidi, kfreq
  
  imidi = ftom:i(440)
  print imidi
  
  ifreq = mtof:i(60)
  print ifreq
  
  turnoff
endin

instr 2
  imidis0[] fillarray 60, 62, 64, 69
  ifreqs0[] mtof imidis0
  printarray ifreqs0, "", "ifreqs0"
  
  kfreqs[] fillarray 220, 440, 880
  kmidis[] ftom kfreqs
  puts "kfreqs", 1
  printarray kmidis, 1, "%.2f", "kmidis"
  turnoff
endin

</CsInstruments>
<CsScore>
i 1 0 1
i 2 0 1
</CsScore>
</CsoundSynthesizer>


Voir aussi

cpsmidinn, mtof

Crédits

Par : Eduardo Moguillansky 2017

Nouveau dans la version 6.09

Option d'arrondi ajoutée dans la 6.12

Version tableau ajoutée dans la 6.13