Class: HeadMusic::Rudiment::Tuning::Pythagorean
- Inherits:
-
HeadMusic::Rudiment::Tuning
- Object
- Base
- HeadMusic::Rudiment::Tuning
- HeadMusic::Rudiment::Tuning::Pythagorean
- Includes:
- TonalCentered
- 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