Package Max

mtof

Convert a MIDI note number to frequency

Description

Performs MIDI-note-number to frequency conversion. Frequency is reported in as a float in Hertz (Hz).

Arguments

None.

Attributes

base[float]

Sets the "base frequency" used when calculating frequency values (e.g., A = 440.). The default base frequency is 440 Hz.

map[atom]

A set of values, given as a list, for a keyboard map in Scala format:

  • Size of map; the pattern repeats every so many keys (example: 12)
  • First MIDI note number to retune (example: 0)
  • Last MIDI note number to retune (example: 127)
  • Middle note where the first entry of the mapping is mapped to (example: 60)
  • Reference note for which frequency is given (example: 69)
  • Frequency for reference note, as a float (example: 440.0)
  • Frequency for reference note, as a float (example: 440.0)
  • Scale degree to consider as formal octave, determines difference in pitch between adjacent mapping patterns (example: 12)
  • Mapping (example: 0 1 2 3 4 5 6 7 8 9 10 11)
Note: to indicate an unmapped key, you can use either an "x" or "-1". At the end of the list, unmapped keys may be left out. For more information about keyboard mappings, visit the Scala documentation.

mapname[symbol]

The name of a valid keyboard map file in Scala format that has been saved in Max's search path will cause mtof to use that mapping. The file extension (.kbm) can be omitted. For more information about keyboard mappings, visit the Scala documentation.

mid[int]

The note number where a Scala scale begins (default 60).

ref[int]

The MIDI note number assigned to the base frequency (default 69).

scale[atom]

A set of values, given as a list, for a scale described using the Scala format. The first value is the count of notes, followed either by floats defining a value in cents (example: 579.47057) or a ratio of two ints (example: 5/4). For more information, see the the Scala documentation.

scalename[symbol]

A valid scale name from the Scala archive , will cause mtof to use the tuning described in that scale for its MIDI to frequency conversion. For this purposes of this attribute, the file extension (.scl) can be omitted.

Common Box Attributes

Below is a list of attributes shared by all objects. If you want to change one of these attributes for an object based on the object box, you need to place the word sendbox in front of the attribute name, or use the object's Inspector.

annotation[symbol]

Sets the text that will be displayed in the Clue window when the user moves the mouse over the object.

background[int]: 0

Adds or removes the object from the patcher's background layer. background 1 adds the object to the background layer, background 0 removes it. Objects in the background layer are shown behind all objects in the default foreground layer.

color[4 floats]

Sets the color for the object box outline.

fontface[int]

Sets the type style used by the object. The options are:

plain
bold
italic
bold italic Possible values:

0 = 'regular'
1 = 'bold'
2 = 'italic'
3 = 'bold italic'

fontname[symbol]

Sets the object's font.

fontsize[float]

Sets the object's font size (in points). Possible values:

'8'
'9'
'10'
'11'
'12'
'13'
'14'
'16'
'18'
'20'
'24'
'30'
'36'
'48'
'64'
'72'

hidden[int]: 0

Toggles whether an object is hidden when the patcher is locked.

hint[symbol]

Sets the text that will be displayed in as a pop-up hint when the user moves the mouse over the object in a locked patcher.

ignoreclick[int]: 0

Toggles whether an object ignores mouse clicks in a locked patcher.

jspainterfile[symbol]

You can override the default appearance of a user interface object by assigning a JavaScript file with code for painting the object. The file must be in the search path.

patching_rect[4 floats]: 0. 0. 100. 0.

Sets the position and size of the object in the patcher window.

position[2 floats]
write-only

Sets the object's x and y position in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its size unchanged.

presentation[int]: 0

Sets whether an object belongs to the patcher's presentation.

presentation_rect[4 floats]: 0. 0. 0. 0.

Sets the x and y position and width and height of the object in the patcher's presentation, leaving its patching position unchanged.

rect[4 floats]
write-only

Sets the x and y position and width and height of the object in both patching and presentation modes (if the object belongs to its patcher's presentation).

size[2 floats]
write-only

Sets the object's width and height in both patching and presentation modes (if the object belongs to its patcher's presentation), leaving its position unchanged.

textcolor[4 floats]

Sets the color for the object's text in RGBA format.

textjustification[int]

Sets the justification for the object's text. Possible values:

0 = 'left'
1 = 'center'
2 = 'right'

varname[symbol]

Sets the patcher's scripting name, which can be used to address the object by name in pattr, scripting messages to thispatcher, and the js object.

Messages

int

Outputs the frequency for the incoming MIDI note value (0 - 127).

Arguments:
  • MIDI-note-number [int]

float

Outputs the frequency for the incoming MIDI note value (0 - 127).

Arguments:
  • MIDI-note-number [float]

list

Generates a list of frequency values corresponding to the list of MIDI note numbers.

Arguments:
  • MIDI note list [list]

Output

float

The frequency corresponding to the received MIDI pitch value.

See Also

Name Description
expr Evaluate a mathematical expression
ftom Convert frequency to a MIDI note number
mtof~ Convert a MIDI note number to frequency at signal rate