Class: HeadMusic::Rudiment::Tuning::Pythagorean
- Inherits:
-
HeadMusic::Rudiment::Tuning
- Object
- Base
- HeadMusic::Rudiment::Tuning
- HeadMusic::Rudiment::Tuning::Pythagorean
- Defined in:
- lib/head_music/rudiment/tuning/pythagorean.rb
Overview
Pythagorean tuning system based on stacking perfect fifths (3:2 ratio)
Constant Summary collapse
- INTERVAL_RATIOS =
Frequency ratios for intervals in Pythagorean tuning (relative to tonic) Generated by stacking perfect fifths and reducing to within one octave
{ unison: Rational(1, 1), minor_second: Rational(256, 243), # Pythagorean minor second major_second: Rational(9, 8), # Pythagorean major second minor_third: Rational(32, 27), # Pythagorean minor third major_third: Rational(81, 64), # Pythagorean major third (ditone) perfect_fourth: Rational(4, 3), # Perfect fourth tritone: Rational(729, 512), # Pythagorean tritone (augmented fourth) perfect_fifth: Rational(3, 2), # Perfect fifth minor_sixth: Rational(128, 81), # Pythagorean minor sixth major_sixth: Rational(27, 16), # Pythagorean major sixth minor_seventh: Rational(16, 9), # Pythagorean minor seventh major_seventh: Rational(243, 128), # Pythagorean major seventh octave: Rational(2, 1) # Octave }.freeze
- CHROMATIC_RATIOS =
Additional chromatic intervals for enharmonic equivalents
{ augmented_unison: Rational(2187, 2048), # Pythagorean augmented unison (sharp) diminished_second: Rational(256, 243) # Same as minor second in Pythagorean }.freeze
Instance Method Summary collapse
-
#initialize(reference_pitch: :a440, tonal_center: nil) ⇒ Pythagorean
constructor
A new instance of Pythagorean.
Constructor Details
#initialize(reference_pitch: :a440, tonal_center: nil) ⇒ Pythagorean
Returns a new instance of Pythagorean.
30 31 32 |
# File 'lib/head_music/rudiment/tuning/pythagorean.rb', line 30 def initialize(reference_pitch: :a440, tonal_center: nil) super(reference_pitch: reference_pitch, tonal_center: tonal_center || "C4") end |