Rubyで和音を扱うライブラリ

短絡的にMusic::Chordと名づけました。いろいろやばい気がします。

これは、OSのAPIを叩いて音声を再生するとかそんなすばらしいものではなくて、構成音からコードネームとかを得るとか、そういった用途に使います。
しかし、肝心のコードネーム識別はまだできていないのです。
"b"をフラット、"#"をシャープとして扱っています。

require "music/chord"

cmin = Chord.new "C", "Eb", "G", "Bb"
# ぜんぶtrue
cmin.minor?
cmin.has_7th?

# ほかはfalse
cmin.major?
cmin.has_9th?
cmin.has_11th?
cmin.diminished?
cmin.augemented?

これを使うと和音の比較や分類ができます。だからなんだ、ってかんじですけど。