ftom
Convert frequency to a MIDI note number
Description
ftom converts frequency to MIDI note numbers
Arguments
format[float]
optional
If a float value is present, the ftom object outputs floating-point values with fractional parts. By default, it outputs whole number values.
Attributes
base[float]
Sets the "base frequency" used when converting frequency values (e.g., A = 440.). The default is 440.
map[atom]
A set of values 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)
mapname[symbol]
The name of a valid keyboard map file in Scala format that has been saved in Max's search path will cause ftom 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).
round[int]
When round is non-zero, ftom outputs the closest whole MIDI note number value for the frequency it receives. Otherwise if in float mode, ftom outputs a number with a fractional part corresponding to the distance between the two closest MIDI note numbers. If ftom is in int output mode, it outputs the MIDI note number at or below the input frequency value. Example: in int mode with other attributes at their default values, 439 would output 69 when round is enabled and 68 when round disabled. 439 is closest to 440 Hz (MIDI note number 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 Scala documentation.
scalename[symbol]
A valid scale name from the Scala archive , will cause ftom to use the tuning described in that scale for its frequency to MIDI conversion. For this purposes of this attribute, the file extension (.scl) can be omitted.
Common Box Attributes
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.
adds the object to the background layer, 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'
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 MIDI note number (from 0 to 127) corresponding to the frequency
- frequency
[int]
float
Outputs the MIDI note number (from 0 to 127) corresponding to the frequency
- frequency
[float]
list
Outputs a list of MIDI note numbers (from 0 to 127) corresponding to the frequencies in the input list
- list of frequencies
[list]
Output
float
The MIDI note number that corresponds to the input frequency. When an input frequency falls between two equal tempered pitches, the value is rounded to the nearest int when ftom is used in its default int mode. When ftom is used in the optional float mode, the fractional part of the float is included, which could be used to calculate an additional pitch offset for applying MIDI pitch bend.
int
The MIDI note number that corresponds to the input frequency. When an input frequency falls between two equal tempered pitches, the value is rounded to the nearest int when ftom is used in its default int mode. When ftom is used in the optional float mode, the fractional part of the float is included, which could be used to calculate an additional pitch offset for applying MIDI pitch bend.
See Also
Name | Description |
---|---|
expr | Evaluate a mathematical expression |
ftom~ | Convert frequency to MIDI note numbers at signal-rate |
mtof | Convert a MIDI note number to frequency |