key.rb

Path: app/models/key.rb
Last Update: Thu Apr 02 21:48:27 -0400 2009

A key represents a specific theoretic tone mapped to a pitch and a letter index. Keys are defined for all letters A-G and all sharp/flat values within two semitons (e.g. Dbb, D Double-Flat enharmonic with C).

Each key is associated an index between 0-11 to represent the actual pitch within the chromatic scale. Each key is also assigned a "letter index" which represents a relative letter value. This index is crucial as it disambiguates theoretical tone differences such as Eb and D#. Doing so also supports correct double-sharp and double-flat interpretations which are rare but theoretically different from their enharmonic counterparts.

[Validate]