calc: Musical Notes
12.6 Musical Notes
==================
Calc can convert between musical notes and their associated frequencies.
Notes can be given using either scientific pitch notation or midi
numbers. Since these note systems are basically logarithmic scales,
Calc uses the ‘l’ prefix for functions operating on notes.
Scientific pitch notation refers to a note by giving a letter A
through G, possibly followed by a flat or sharp) with a subscript
indicating an octave number. Each octave starts with C and ends with B
and the octave numbered 0 was chosen to correspond to the lowest audible
frequency. Using this system, middle C (about 261.625 Hz) corresponds
to the note ‘C’ in octave 4 and is denoted ‘C_4’. Any frequency can be
described by giving a note plus an offset in cents (where a cent is a
ratio of frequencies so that a semitone consists of 100 cents).
The midi note number system assigns numbers to notes so that ‘C_(-1)’
corresponds to the midi note number 0 and ‘G_9’ corresponds to the midi
note number 127. A midi controller can have up to 128 keys and each
midi note number from 0 to 127 corresponds to a possible key.
The ‘l s’ (‘calc-spn’) [‘spn’] command converts either a frequency or
a midi number to scientific pitch notation. For example, ‘500 Hz’ gets
converted to ‘B_4 + 21.3094853649 cents’ and ‘84’ to ‘C_6’.
The ‘l m’ (‘calc-midi’) [‘midi’] command converts either a frequency
or a note given in scientific pitch notation to the corresponding midi
number. For example, ‘C_6’ gets converted to 84 and ‘440 Hz’ to 69.
The ‘l f’ (‘calc-freq’) [‘freq’] command converts either either a
midi number or a note given in scientific pitch notation to the
corresponding frequency. For example, ‘Asharp_2 + 30 cents’ gets
converted to ‘118.578040134 Hz’ and ‘55’ to ‘195.99771799 Hz’.
Since the frequencies of notes are not usually given exactly (and are
typically irrational), the customizable variable ‘calc-note-threshold’
determines how close (in cents) a frequency needs to be to a note to be
recognized as that note (Customizing Calc). This variable has a
default value of ‘1’. For example, middle C is approximately
‘261.625565302 Hz’; this frequency is often shortened to ‘261.625 Hz’.
Without ‘calc-note-threshold’ (or a value of ‘0’), Calc would convert
‘261.625 Hz’ to scientific pitch notation ‘B_3 + 99.9962592773 cents’;
with the default value of ‘1’, Calc converts ‘261.625 Hz’ to ‘C_4’.