From: Ben Rho on
> #I'll be making this library bigger, given enough time.
Sorry for the double post, but by 'library' I meant 'chord dictionary'..
--
Posted via http://www.ruby-forum.com/.

From: Brian Candler on
Here's an updated version. I now explicitly give out the scales as well
as chords, and have attempted to optimise the "spelling" of 8-note
scales (which don't sit naturally on the 7 letters A-G). I made some
simplifications too.

Sample interaction:

C7
Scale: C D E F G A Bb
Chord: C E G Bb
C7alt
Scale: C Db Eb Fb Gb Ab Bb
Chord: C Eb Gb Bb
C7b9
Scale: C Db Eb E F# G A Bb
Chord: C E G Bb Db Eb F# A
Cdim7
Scale: C D Eb F Gb Ab A B
Chord: C Eb Gb A
C#dim7
Scale: C# D# E F# G A A# B#
Chord: C# E G A#

Attachments:
http://www.ruby-forum.com/attachment/4550/chords-bc.rb

--
Posted via http://www.ruby-forum.com/.

From: Brian Candler on
And just to clarify what I mean by 'spelling', I mean the sequence of
letters and accidentals which make a scale. On a 7-note scale each scale
corresponds to the next letter.

Example: G# major

Correct spelling: G# A# B# C# D# E# Fx

(Fx = F double-sharp)

It would be wrong to write something like: G# A# C C# D# F G
because of the gaps and duplications of letters.

This is the reason why a C7 chord is C E G Bb not C E G A#. It's because
the associated scale is
C D E F G A Bb

This scale is called the 'Mixolydian mode' (named by the ancient Greeks,
I believe). It also happens to be the notes of F major with a different
starting point, so fortunately you can re-use your major scale finger
patterns :-)

Regards,

Brian.
--
Posted via http://www.ruby-forum.com/.

From: Alexander Jesner on
On 03/08/2010 15:08, Brian Candler wrote:
> Here's an updated version. I now explicitly give out the scales as well
> as chords, and have attempted to optimise the "spelling" of 8-note
> scales (which don't sit naturally on the 7 letters A-G). I made some
> simplifications too.


C
Scale: C D E F G A B
Chord: C E G B

Why does the Chord contain a B?


From: Brian Candler on
Alexander Jesner wrote:
> C
> Scale: C D E F G A B
> Chord: C E G B
>
> Why does the Chord contain a B?

Explained earlier in the thread. If you've just joined:
http://www.ruby-forum.com/topic/204996

But if you want traditional triads, it's easy enough to reconfigure the
program so that it returns, say,
C => C E G
CMaj7 => C E G B
--
Posted via http://www.ruby-forum.com/.

First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4 5 6
Prev: Random integer within a range?
Next: Please help!