OS X Musical Scales Program
I've written a free program that displays musical scales based on starting note and selected scale mode. Clicking the triangle opens a drawer showing all the chords of the selected scale.
Here's the link (http://dtibs.home.comcast.net) and a screenshot:
http://dtibs.home.comcast.net/Screenshot.jpg
Let me know what you guys think! I'm open to any questions, comments, or feature requests.
[431 byte] By [
PBG4 Dude] at [2007-11-15 19:03:29]

# 1 Re: OS X Musical Scales Program
Originally posted by PBG4 Dude
I've written a free program that displays musical scales based on starting note and selected scale mode. Clicking the triangle opens a drawer showing all the chords of the selected scale.
Here's the link (http://dtibs.home.comcast.net) and a screenshot:
http://dtibs.home.comcast.net/Screenshot.jpg
Let me know what you guys think! I'm open to any questions, comments, or feature requests.
It costs too much and the video card sucks.
oops, sorry wrong thread...:lol:
Bancho at 2007-11-17 11:40:08 >

# 2 Re: OS X Musical Scales Program
Thanks I'll check it out.
# 3 Re: OS X Musical Scales Program
Originally posted by onlooker
Thanks I'll check it out.
Please do! :)
# 4 Re: OS X Musical Scales Program
Is there a sound output?
You should try an add a timing selector, and a run through (up, and down) with sound so you can hear what each scale sounds like using different time signatures.
# 5 Re: OS X Musical Scales Program
Originally posted by onlooker
Is there a sound output?
You should try an add a timing selector, and a run through (up, and down) with sound so you can hear what each scale sounds like using different time signatures.
I'm working on MIDI output for a future update. Right now I can call my midimain( note ) method and it will play "note" for one second.
I don't think different time signatures would affect note durations as much as changing tempo. I do plan on adding tempo altering when I add chord arpeggiation.
This way the user can sing along to work on their pitch, or play along to familiarize themselves with how to play certain scales/modes/chords on their instrument.
Now if Apple had something more helpful than "PlaySoftMIDI" in their developer docs I would add instrument playback selection (because I know it's in Quicktime somewhere). I'm hoping that Tiger has more Cocoa MIDI information / help because it took me 2 weeks of pulling my hair out to modify "PlaySoftMIDI" (which isn't even in Obj-C, this example is C code in a C++ file) so that I could call it from my Obj-C program.
Thanks for your input! It makes me happy to see people working with my program. :)
# 6 Re: OS X Musical Scales Program
Is this the Universal Access version of your app? :)
# 7 Re: OS X Musical Scales Program
Originally posted by kim kap sol
Is this the Universal Access version of your app? :)
Excuse me? What do you mean? Are you talking about the large letter size?
# 8 Re: OS X Musical Scales Program
I've just updated to fix a refresh bug. If you downloaded my update from yesterday then you want this update from today. Just grab the latest file dammit! :D
# 9 Re: OS X Musical Scales Program
In version 2.0, I'd like to see the scales output in musical notation, with a choice of octave and clef. Also, in version 3.0, guitar tabs would be nice for chords as well, if you can develop an algorithm to show the best possible fingering for each chord.
tonton at 2007-11-17 11:48:08 >

# 10 Re: OS X Musical Scales Program
this looks pretty cool, this could potentialy be really handy for me. I think the suggestions people have said so far would cover most of what additional I'd want. Having sound, and displaying in musical notation would be nice features to have.
# 11 Re: OS X Musical Scales Program
Originally posted by tonton
In version 2.0, I'd like to see the scales output in musical notation, with a choice of octave and clef. Also, in version 3.0, guitar tabs would be nice for chords as well, if you can develop an algorithm to show the best possible fingering for each chord.
:D
Just in case you haven't noticed, I'm at version 0.3.1 :)
I'm a bass player so I don't know about doing g****r tab. Something to think about, I guess. If I could figure out how to output different sounds (right now I can output a piano sound) then I'd consider showing the chords on an actual g****r neck, or bass, or a keyboard, or ...
Thanks for the ideas.
# 12 Re: OS X Musical Scales Program
Put out another update if anyone's interested. I just added some scale mode descriptions (as you can see from the screenshot above).
Things are pretty hectic for me right now so I haven't been adding as much as I would like to the program. Hopefully that will change relatively soon so I can get some of the above suggestions added.
# 13 Re: OS X Musical Scales Program
Another update is available for your consumption.
# 14 Re: OS X Musical Scales Program
I like the idea and the look.
I'd love more historical info on the significance of each mode and sound output button would be great...just a piano is fine.
An easy image to make also might be to show a keyboard with all of the notes highlighted that make up the scale. A visualization of the pattern would be great for piano beginners like me.
BTW, are triads referred to as "one, two and three" or "first, second, third?"
# 15 Re: OS X Musical Scales Program
The chords (triads) would be the as 1st, 2nd, 3rd, etc. not one, two, three like I have them marked in my program. I'm working on a routine to properly name the chords with Roman Numerals (i.e. I, ii, iii, IV, V, vi, vii in the case of Ionian mode).
Sound output is also coming.
The keyboard is a good idea. I'll look into adding one to the program.
Thanks for the input. :)
# 16 Re: OS X Musical Scales Program
Chord output has been added! :)
# 17 Re: OS X Musical Scales Program
Originally posted by PBG4 Dude
Chord output has been added! :)
Just in case my above quote is too ambiguous, I've added sound playback of the chords. The chord notes can be played as the whole chord, or check the Arpeggiate checkbox and hear the chord played one note at a time.
I'm reworking the GUI, as I'm starting to not like the drawers so much. Probably the program will end up as one larger window.
There's still plenty more to come!
# 18 Re: OS X Musical Scales Program
Hey nice job on the program.
Some feature requests :) : If you're looking for more to do, why not try other scale types? Your current scales and modes are based off the major scale and its modes. Why not include scales outside of traditional major scale harmony, like the blues scale, diminished scales, and the like? You'd also need to include the melodic minor scale and its modes, which are important in jazz music. You'd probably need another pop-up menu to indicate the scale type you're dealing with (major scale and modes, blues scale, diminished, etc.).
Probably a better way to do it would be to select a chord type - major, minor, dominant 7th, diminished, and then present a series of scale possibilities under each. Under major, you'd have the regular major scale, lydian, major pentatonic, some others. Under dominant you'd have the regular mixolydian, but also the altered scale, lydian dominant, etc. Under minor you'd have dorian, aeolian, phyrgian, etc.
I'm trying to find a good online source for this stuff - probably the best is this one (http://www.outsideshore.com/primer/primer/ms-primer-4.html).
Have fun!
# 19 Re: OS X Musical Scales Program
Thanks for your input, BRussell. It is much appreciated. :)
Right now my program shows basically how much I understand of music theory at the moment, which is why you don't see melodic/harmonic minor scales, bebop scales or even Hungarian minor scales.
In my last lesson I just started learning how to solidify the resolution of ii - V - I in non-major scales (Can you say V7b9b13? I knew you could) so there is a sense of finality when moving back to the I chord (which is more likely a i chord). Believe me, as I learn more theory I'll figure out how to add all these crazy scales/modes to my program.
But, first I have to nail proper enharmonic display. My program still doesn't display Cb, Fb, B# & E# so these notes and the logic to display them have to be added. Then I'll have to worry about double enharmonics like C+ or Cbb, etc.
Then I want to add the ability to pick any of the different instruments offered by Apple's built in synth. I've been picking apart Pete Yandell's code ( http://pete.yandell.com/software ) to figure this out. So close, but yet so far is how I would describe this feature at the moment.
If you could help me to understand all those scales you mentioned that would get me much closer to understanding how to add them to my program. I'm in agreement with you that I'll need another drop down to pick the scale type, then I can work from there.
I'm thinking this feature will force me to rethink some of logic in my program. I say this because I use a 2D string array to hold all the notes, and an int array to hold the generic TTsTTTs for spaces and just start at a different array element depending on which mode is selected. I'm thinking I'll need separate arrays for each of the different scale types and just add some logic to determine which array I'll need to use to build the proper scale.
Hmmm, now you've got me thinking; if I create a 2D array of all the possible Tone / semitone orderings for each scale I could pick which series I want and the chord calculations, etc. would work just the same as before. Hmmm, might not be as difficult as I thought (3 minutes ago) to add all those advanced scale types. :)
Again, thanks for the input. It makes me feel like people other than myself are actually using this program! :D
# 20 Re: OS X Musical Scales Program
Here's exactly what I was talking about. ( http://www.jazzbooks.com/Scale_Syllabus/Default.html) It's a "Scale Syllabus" organized by the basic types of chords and under each one, a whole bunch of different scales that could be used under each type of chord.
# 21 Re: OS X Musical Scales Program
Originally posted by BRussell
Here's exactly what I was talking about. (http://www.jazzbooks.com/Scale_Syllabus/Default.html) It's a "Scale Syllabus" organized by the basic types of chords and under each one, a whole bunch of different scales that could be used under each type of chord.
Thanks for the link, BRussell. I've printed out the file and I'm studying it. I don't want to add these scales to the program until I get a better handle on them, simply because I don't want to try and program something I don't understand myself. New scales will be added as I grok their essence in fullness.
# 22 Re: OS X Musical Scales Program
Make it constrain midi input to the selected scale
then pass the data to the midi output... i.e. other midi aps.
Ideally we could select scales by a midi keyboard input (on a specfic midi channel ) as well as a 'cickable' list...
r
rrr at 2007-11-17 12:01:27 >

# 23 Re: OS X Musical Scales Program
I've made another update to my program. Enharmonic note display is correct from double flat (bb) to double sharp (+). I've made some serious behind the scenes changes (again) which will allow generation of melodic, harmonic and other non-major scale based scales and associated chords.
Also, the source code is now included in the disk image, just in case you're interested in seeing how it works.
# 24 Re: OS X Musical Scales Program
I've updated my program so the GUI takes up less space. I haven't added any functionality yet. I'm working on threading the program so that MIDI playback doesn't freeze the interface. Once I have the threading down I'll work on adding new features. :)
# 25 Re: OS X Musical Scales Program
Originally posted by PBG4 Dude
:D
I'm a bass player so I don't know about doing g****r tab.
Oh, to hell with this hack then, I only support software made by guitarist!!
Just kidding bro,
I like it. And if you add the features mentioned, it would be BONUS!
# 26 Re: OS X Musical Scales Program
Originally posted by MagicFingers
Oh, to hell with this hack then, I only support software made by guitarist!!
Just kidding bro,
I like it. And if you add the features mentioned, it would be BONUS!
:lol:
Thanks!
# 27 Re: OS X Musical Scales Program
OK, I've done some serious updates to my program, enough that I'm calling it version 1.0. :D I've been working on this update for a couple months and I'm feeling really good about my latest progress.
Here's the latest screenshot:
http://dtibs.home.comcast.net/Screenshot.jpg
Major updates include:
Generate scales, chords and modes for Major, Melodic minor and Harmonic minor scale types.
Generate scale based on chord starting note and chord type.
Playback scales as well as chords.
Ability to choose playback instrument.
I've tested this program in 10.3.9 and 10.4.0. It should work in 10.2.8 aka Jaguar. If anyone here could confirm that would be most excellent.
Oh, before I forget, here's the link to the program page. The download link is at the bottom of the page. http://dtibs.home.comcast.net
The source code for this program is included in the .dmg file in case anyone's interested in checking it out.