class Diapason::Tuning::EqualTemperament
Attributes
base_size[RW]
partitions[RW]
tonic[RW]
Public Class Methods
new(partitions, tonic, base_size = 2)
click to toggle source
# File lib/diapason/tuning/equal_temperament.rb, line 6 def initialize(partitions, tonic, base_size = 2) # 2 = 2:1 = normal octave @partitions = partitions @tonic = tonic @base_size = base_size end
Public Instance Methods
each() { |tonic| ... }
click to toggle source
# File lib/diapason/tuning/equal_temperament.rb, line 12 def each return enum_for(:each) unless block_given? yield tonic last_note = tonic (partitions - 1).times do last_note = Diapason::Note.new( last_note.frequency * ratio, last_note.index + 1 ) yield last_note end end
notes()
click to toggle source
# File lib/diapason/tuning/equal_temperament.rb, line 29 def notes each.to_a end
ratio()
click to toggle source
# File lib/diapason/tuning/equal_temperament.rb, line 33 def ratio base_size ** (1.0/partitions) end