class HeadMusic::Tuning
A tuning has a reference pitch and frequency and provides frequencies for all pitches The base class assumes equal temperament tuning. By default, A4 = 440.0 Hz
Attributes
reference_pitch[RW]
Public Class Methods
new(reference_pitch: :a440)
click to toggle source
# File lib/head_music/tuning.rb, line 10 def initialize(reference_pitch: :a440) @reference_pitch = HeadMusic::ReferencePitch.get(reference_pitch) end
Public Instance Methods
frequency_for(pitch)
click to toggle source
# File lib/head_music/tuning.rb, line 14 def frequency_for(pitch) pitch = HeadMusic::Pitch.get(pitch) reference_pitch_frequency * (2**(1.0 / 12))**(pitch - reference_pitch.pitch).semitones end