周波数(Hz)からMIDIノートを取得するC++関数を載せておきます。
http://en.wikipedia.org/wiki/MIDI_Tuning_Standard
の式をそのまま書いただけですが。
int GetMidiNoteFromFrequency(float frequency_as_hz)
{
return static_cast<int>(69.0f + 12.0f * log2f(frequency_as_hz / 440.0f) + 0.5f);
}
周波数(Hz)からMIDIノートを取得するC++関数を載せておきます。
http://en.wikipedia.org/wiki/MIDI_Tuning_Standard
の式をそのまま書いただけですが。
int GetMidiNoteFromFrequency(float frequency_as_hz)
{
return static_cast<int>(69.0f + 12.0f * log2f(frequency_as_hz / 440.0f) + 0.5f);
}