mtof

mtof — Convert a midi to frequency

Description

Plugin opcode in emugens.

Convert a midi note number value to cycles per second, taking global value of A4 into account.

Syntax

ifreq mtof imidi
kfreq mtof kmidi
ifreqs[] mtof imidis[]
kfreqs[] mtof kmidis[]

Performance

kmidi / imidi -- Midi note number (also as array)

kfreq / ifreq -- Frequency corresponding to midi note value. An array is returned if the input is an array

Examples

Here is an example of the mtof opcode. It uses the file mtof-ftom.csd.

Example 640. Example of the mtof opcode.

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


See Also

cpsmidinn, ftom, mton, ntom

Credits

By: Eduardo Moguillansky 2017

New plugin in version 6.11

Array version new in 6.13