Voices

It occurred to me today to write some Java classes to represent western musical scales; starting with the 12 tone system and then providing methods to build scales in a given major or minor key, (and eventually different modes,) and build chords.

Classes like this could also become the basis of any number of other utilities or applications; chord chart generators, midi generators et cetera.

Plus it would be good reinforcement for a person (such as myself) teaching themselves the fundamentals of music theory.

While conceptualizing how such a package might be broken down, one of the first things I wondered was, "When building a scale in a given key, is there a formula to determine whether the accidentals in that scale will be sharps or flats?" Sure, I could hard-code all of the scales by note as constants in some core utility class, but that would be a crutch, and inelegant.

Anyway, while Googling this very question one of the first things I came across was Steve White's weblog, specifically one of the entries about his Voices project. Steve appears to have had almost exactly the same idea a while ago, only he's doing it in C#. It will be interesting to read how he's approaching the problem.

1 comment

 
What Silence wrote 8 years 34 weeks ago

Yes, yes, I know:

Yes, yes, I know: Windows-only, VST, blah blah. But still, worth peeking at chordspace.

; )

Please register or login to post a comment.
Syndicate content

Twitter

  • Speaking of the 1990's http://www.hwg.org/ 4 years 12 weeks ago
  • "Oh, I see! You're like a webmaster from the 1990s, except you can't even code HTML." http://bit.ly/dsjBEX #fb 4 years 12 weeks ago
  • Please, please: DO NOT put a hyperlink on a filename unless clicking on said link actually downloads that file. #ihatesourceforge #uxfail 4 years 12 weeks ago
  • RT @ebertchicago:Josh reminds me: If we went back to what the Founding Fathers wanted, as Sarah Palin desires, she wouldn't be able to vote. 4 years 12 weeks ago
  • RT @tommysalami: Great "how I got into horror" blog post by @brittnahjade http://is.gd/c4dj8 Awwww :) 4 years 12 weeks ago

Older

Contact

Andy Chase
(978) 297-6402
andychase [at] gmail.com
GPG/PGP Public Key