ftom
Précédent | Opcodes et opérateurs de l'orchestre | Suivant

## ftom

ftom — Convertit une fréquence en MIDI.

## Description

Opcode du greffon 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
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 392. 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

Précédent | Niveau supérieur | Suivant
ftmorf | Sommaire | ftprint