#include <Pitch.h>
Definition at line 21 of file Pitch.h.
Static Public Member Functions | |
| static float | getFrequencyForPitch (int midiPitch, float centsOffset=0, float concertA=0.0) |
| Return the frequency at the given MIDI pitch plus centsOffset cents (1/100ths of a semitone). | |
| static int | getPitchForFrequency (float frequency, float *centsOffsetReturn=0, float concertA=0.0) |
| Return the nearest MIDI pitch to the given frequency. | |
| static int | getPitchForFrequencyDifference (float frequencyA, float frequencyB, float *centsOffsetReturn=0, float concertA=0.0) |
| Return the nearest MIDI pitch range to the given frequency range, that is, the difference in MIDI pitch values between the higher and lower frequencies. | |
| static QString | getPitchLabel (int midiPitch, float centsOffset=0, bool useFlats=false) |
| Return a string describing the given MIDI pitch, with optional cents offset. | |
| static QString | getPitchLabelForFrequency (float frequency, float concertA=0.0, bool useFlats=false) |
| Return a string describing the nearest MIDI pitch to the given frequency, with cents offset. | |
| static QString | getLabelForPitchRange (int semis, float cents=0) |
| Return a string describing the given pitch range in octaves, semitones and cents. | |
| static bool | isFrequencyInMidiRange (float frequency, float concertA=0.0) |
| Return true if the given frequency falls within the range of MIDI note pitches, plus or minus half a semitone. | |
| float Pitch::getFrequencyForPitch | ( | int | midiPitch, | |
| float | centsOffset = 0, |
|||
| float | concertA = 0.0 | |||
| ) | [static] |
Return the frequency at the given MIDI pitch plus centsOffset cents (1/100ths of a semitone).
centsOffset does not have to be in any particular range or sign.
If concertA is non-zero, use that as the reference frequency for the A at MIDI pitch 69; otherwise use the tuning frequency specified in the application preferences (default 440Hz).
Definition at line 22 of file Pitch.cpp.
References Preferences::getInstance(), and Preferences::getTuningFrequency().
Referenced by NoteLayer::getDisplayExtents(), NoteLayer::getFeatureDescription(), FFTModel::getPeakPickWindowSize(), NoteLayer::getScaleExtents(), NoteLayer::getValueExtents(), NoteLayer::getYForValue(), SpectrumLayer::paint(), and SpectrogramLayer::paintVerticalScale().
| int Pitch::getPitchForFrequency | ( | float | frequency, | |
| float * | centsOffsetReturn = 0, |
|||
| float | concertA = 0.0 | |||
| ) | [static] |
Return the nearest MIDI pitch to the given frequency.
If centsOffsetReturn is non-NULL, return in *centsOffsetReturn the number of cents (1/100ths of a semitone) difference between the given frequency and that of the returned MIDI pitch. The cents offset will be in the range [-50,50).
If concertA is non-zero, use that as the reference frequency for the A at MIDI pitch 69; otherwise use the tuning frequency specified in the application preferences (default 440Hz).
Definition at line 34 of file Pitch.cpp.
References Preferences::getInstance(), and Preferences::getTuningFrequency().
Referenced by MIDIFileWriter::convert(), getPitchLabelForFrequency(), NoteLayer::getValueForY(), isFrequencyInMidiRange(), and AudioGenerator::mixNoteModel().
| int Pitch::getPitchForFrequencyDifference | ( | float | frequencyA, | |
| float | frequencyB, | |||
| float * | centsOffsetReturn = 0, |
|||
| float | concertA = 0.0 | |||
| ) | [static] |
Return the nearest MIDI pitch range to the given frequency range, that is, the difference in MIDI pitch values between the higher and lower frequencies.
If centsOffsetReturn is non-NULL, return in *centsOffsetReturn the number of cents (1/100ths of a semitone) difference between the given frequency difference and the returned MIDI pitch range. The cents offset will be in the range [-50,50).
If concertA is non-zero, use that as the reference frequency for the A at MIDI pitch 69; otherwise use the tuning frequency specified in the application preferences (default 440Hz).
Definition at line 56 of file Pitch.cpp.
References Preferences::getInstance(), and Preferences::getTuningFrequency().
Referenced by View::drawMeasurementRect().
| QString Pitch::getPitchLabel | ( | int | midiPitch, | |
| float | centsOffset = 0, |
|||
| bool | useFlats = false | |||
| ) | [static] |
Return a string describing the given MIDI pitch, with optional cents offset.
This consists of the note name, octave number (with MIDI pitch 0 having octave number -2), and optional cents.
For example, "A#3" (A# in octave 3) or "C2-12c" (C in octave 2, minus 12 cents).
If useFlats is true, spell notes with flats instead of sharps, e.g. Bb3 instead of A#3.
Definition at line 99 of file Pitch.cpp.
References flatNotes, and notes.
Referenced by NoteLayer::getFeatureDescription(), getPitchLabelForFrequency(), and MIDIFileReader::loadTrack().
| QString Pitch::getPitchLabelForFrequency | ( | float | frequency, | |
| float | concertA = 0.0, |
|||
| bool | useFlats = false | |||
| ) | [static] |
Return a string describing the nearest MIDI pitch to the given frequency, with cents offset.
If concertA is non-zero, use that as the reference frequency for the A at MIDI pitch 69; otherwise use the tuning frequency specified in the application preferences (default 440Hz).
If useFlats is true, spell notes with flats instead of sharps, e.g. Bb3 instead of A#3.
Definition at line 123 of file Pitch.cpp.
References Preferences::getInstance(), getPitchForFrequency(), getPitchLabel(), and Preferences::getTuningFrequency().
Referenced by View::drawMeasurementRect(), SpectrogramLayer::getFeatureDescription(), NoteLayer::getFeatureDescription(), SpectrumLayer::paintCrosshairs(), and SpectrogramLayer::paintCrosshairs().
| QString Pitch::getLabelForPitchRange | ( | int | semis, | |
| float | cents = 0 | |||
| ) | [static] |
Return a string describing the given pitch range in octaves, semitones and cents.
This is in the form e.g. "1'2+4c".
Definition at line 136 of file Pitch.cpp.
Referenced by View::drawMeasurementRect().
| bool Pitch::isFrequencyInMidiRange | ( | float | frequency, | |
| float | concertA = 0.0 | |||
| ) | [static] |
Return true if the given frequency falls within the range of MIDI note pitches, plus or minus half a semitone.
This is equivalent to testing whether getPitchForFrequency returns a pitch in the MIDI range (0 to 127 inclusive) with any cents offset.
If concertA is non-zero, use that as the reference frequency for the A at MIDI pitch 69; otherwise use the tuning frequency specified in the application preferences (default 440Hz).
Definition at line 164 of file Pitch.cpp.
References getPitchForFrequency().
Referenced by View::drawMeasurementRect(), SpectrumLayer::paintCrosshairs(), and SpectrogramLayer::paintCrosshairs().
1.5.1