User Name
Password
AppleNova Forums » Third-Party Products »

My Musical Scales Program


Register Members List Calendar Search FAQ Posting Guidelines
My Musical Scales Program
Thread Tools
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2005-04-29, 21:09

OK, I've done some serious updates to my program, enough that I'm calling it version 1.0. 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:



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.

Are people still interested in this program? I'm debating whether to continue development and what direction to go next. I'm thinking about adding music sheet display of selected scales/chords next. Any ideas from you guys would be greatly appreciated.
  quote
Wrao
Yarp
 
Join Date: May 2004
Location: Road Warrior
 
2005-04-29, 21:21

It's looking good except there are no unique descriptions for the melodic minor modes, the description just gives you major mode stuff. Additionally, given the drop down system and the fact that there aren't exactly unified names for all the melodic minor modes, perhaps the third tier in the drop downs should have something like Mode#1: Name(where applicable) Additionally, thinking about it, the description system is a novel idea but maybe impractical. Well, some of the descriptions could probably be rewritten a little differently, not so much that they are not correct, but like the ionian description for instance:
Quote:
Originally Posted by program
I: The Ionian mode correlates with the diatonic major scale. Starting from C, we play the notes D, E, F, G, A, B, and C. The pattern of tones and semitones is thus the same as a major scale: TTsTTTs.
I think it should tell you how to construct the scale before giving an example. That type of stuff.

If you really wanted to kick it up a notch you could talk about application of scales, but that would probably make things too wordy. However, scale application notes regarding the melodic and harmonic minor scales could be useful, even if it's just something like "this scale is fairly rare, used sometimes in X type of music"

Alas, I'm not the theoretician I used to be, and I can't really go on too much with the left brain stuff, heh. I should really crack open a book and brush up on this stuff.

For the future, it might be neat to have an option to display different organizational methods. Personally, the LIMDAPL(lydian, ionian, mixolydian, dorian, aeolian, phrygian, locrian) method of organizing modes is what REALLY solidified them for me. Or perhaps, in the scale descriptions you could add a note: "this is the 'brightest' sounding scale" for lydian and others as applicable.

Functionally: all was well, tempo options for the playback would be nice, even if it was just something like slow slower fast faster.


Keep up the good work!

On an unrelated note, you are definitely a skilled application writer, and you are only getting better as you refine this program. I have pitched a couple ideas to you in the past regarding potential applications of the future. Recently a friend and I had the idea for a polyrhythm trainer program, we haven't fully worked out the design scheme for it, but the basic premise is simple enough, a modular and flexible input scheme for generating rhythms to play against eachother. Just if you were looking for any application ideas, you could throw that one in the back of your mind somewhere.

Last edited by Wrao : 2005-04-29 at 21:33.
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2005-04-29, 21:34

I know the mode descriptions are still messed up. At some point I'll correct that (had actually forgotten again! to fix this).

I would change the mode names for melodic/harmonic minor scale modes but I'm not sure what the 'official' names are. I've only been able to find things like 'Dorian b2' and stuff like that. If you were able to provide me with official minor mode names that would be trivial to add to the program.

Yes, tempo is something I want to do. 1 second long notes can get quite long when playing a whole scale. I was thinking of a slider to vary tempo.

I really don't know about applications of the melodic/harmonic minor modes, I just know that some of them sound good. So unless someone with more theory knowledge gives me some descriptions to work with I'm kinda stuck.
  quote
Wrao
Yarp
 
Join Date: May 2004
Location: Road Warrior
 
2005-04-29, 21:53

That's the tricky part about the melodic minor modes and such, is that there is no singular, agreed upon name scheme for them. And the closest thing to a name scheme I've seen does incorporate some of that dorianb2 type stuff. So, your options are to latch on with someone else's name scheme, try and create your own, or just roll with it heh
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2005-04-29, 21:57

I think at this point, the important thing is the modes of the minor scales work.
  quote
Mac+
9" monochrome
 
Join Date: May 2004
Location: 🇦🇺
 
2005-04-29, 22:23

OK - my 2 cents ... that mode stuff I wrote ages ago for what was then a much more simple app. I didn't figure that it would be quoted verbatim, but when it was I just thought to myself - "Hey, nice".

I think I emailed about altering those descriptions and would be happy to do so - but not this week ... assignments are due. I think (iirc) one or two had descriptions of how they can sometimes be used musically, and I think I also sent an email with a suggestion about creating a spearate string for each scale so the letter names appeared correctly in the description setting too.

I'll d/l the app bpMF and have a look over it - using Panther though. Looks like you've really gotten into refining the UI which is good.

Still not a fan of Chicago font though.

All I want is a simple life
twitter
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2005-04-30, 10:32

I don't think anyone likes the font I'm using. Guess I'm weird in that I like it.

Does anyone know what the 'proper' font to use is? It would take only seconds to change it, and I have some other changes that I'd like to roll in as well.
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2005-04-30, 10:40

Quote:
Originally Posted by Mac+
OK - my 2 cents ... that mode stuff I wrote ages ago for what was then a much more simple app. I didn't figure that it would be quoted verbatim, but when it was I just thought to myself - "Hey, nice".

I think I emailed about altering those descriptions and would be happy to do so - but not this week ... assignments are due. I think (iirc) one or two had descriptions of how they can sometimes be used musically, and I think I also sent an email with a suggestion about creating a spearate string for each scale so the letter names appeared correctly in the description setting too.
Oh, I thought you knew I was going to be using your mode stuff word for word. That's why you're mentioned on the About Musical Scales window. If you hadn't written those descriptions they never would've appeared in the program.

You did email me about fixing the descriptions so the note names match the actual scale selected. This is something I want to do but adding this could be a pain since I'd rather do it programmatically as opposed to creating a string for every scale for every mode. I figured the payoff wasn't there when I compared the time to fix the strings vs. the time to add instrument selection and scale types.

I guess I need to compile all these little quirks into a list so I know what everyone wants for v1.1. The next release won't probably happen for a couple of months and I'm thinking it'll just tie up these types of loose ends.

What I'd really like to figure out is, where to go to bring this program to version 2.0.
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2005-05-09, 07:24

If you have Jaguar, you'll need a different compile in order to run this program. I got it working yesterday (after installing Jaguar on an external drive and rebuilding/recompiling my program in Project Builder) so if anyone needs a version for Jaguar, PM me and I'll get you a copy.

BTW, after working with Panther and now Tiger, I have to say that Jaguar looks like ass.
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2005-10-24, 19:02

Well, it was later then I wanted, but I've released v1.1.

Guess I should've reread this thread before I put up the 1.1 update as almost none of the enhancements in this thread have been implemented so I'll have to seriously look at adding the changes you folks have suggested.

The major points of this update are that I've added a tempo slider so you can adjust tempo from 1 to 360 beats per minute. I've also nailed just about every memory leak I could find. There is still a string leaking out on me, but that seems to be static, as in more leaks don't develop as you use the program.

Previously I was leaking note objects every time new scales or chords were generated. This took me a good part of two months to figure out but I'm done with fixing leaks so hopefully I can add some features before the December holidays.

Mac+ - The change from Chicago to Lucida Grande (default font) is now at the top of my list.

Somehow I plan on adding note/chord display on the fretboard as well as a sheet music representation. I'm also thinking of adding some fun game type learning exercises too. I might set up the program so it displays sheet music and you play the music and my program will figure out whether you played the passage correctly. This could be tricky but I like challenges.

So, these are the immediate things I'll work on getting out of the way:

Updated scale/mode descriptions. With all the new scales the original descriptions need to be updated. This will take some work but should be doable. My problem is while Mac+ provided a good starting point for the major scale modes, I could use some help with melodic/harmonic minor scales.

Updated scale mode selection names. I haven't found any standardized melodic/harmonic minor mode names so I'll use whatever seems to be the most popular. Maybe I'll add something to the minor mode descriptions with an a.k.a. sentence or something.

Change the Chicago font to Lucida Grande. I think everyone unanimously hates my font selection. At least the fonts aren't as horrible as they were in my first public release.

Let me know if this works for you.

Last edited by bassplayinMacFiend : 2005-10-24 at 19:15.
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2005-10-24, 19:13

Oh, here's a screenshot of v1.1

  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2005-10-25, 16:14

Just for ha-has, I dug up version 0.1. This image has been shrunk to 75% of its original size, so you can see how much space was wasted way back at the beginning of this app. It certainly has come a long way.

  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2005-10-26, 21:24

Quote:
Originally Posted by bassplayinMacFiend
Updated scale mode selection names. I haven't found any standardized melodic/harmonic minor mode names so I'll use whatever seems to be the most popular. Maybe I'll add something to the minor mode descriptions with an a.k.a. sentence or something.

Change the Chicago font to Lucida Grande. I think everyone unanimously hates my font selection. At least the fonts aren't as horrible as they were in my first public release.
I've done these changes but I'm not putting up another release until I get the descriptions updated. That could take another week or two to put together.
  quote
Mac+
9" monochrome
 
Join Date: May 2004
Location: 🇦🇺
 
2005-10-26, 23:48

Hey bpmf - nice to know you're still working on this.

I remember your early versions - I think you may have added a slide out draw (a'la iCal and Panther Mail) and got rid of some radio buttons at my request at one point. Correct me if I'm wrong. These days, I prefer the all in one window design.

I should redo the Major modes for you with construction before description and usage. I'd still like to see the notes change automatically for each new mode though. Wait, on second thought - that is redundant since the notes would be displayed on the window above anyway. Cool - I just saved you some string programming work.

Not to cluey wrt minor modes and I don't have all my music texts with me up here - but I'll see what I can do.

Oh, btw, you can feel free to edit what I write to suit your app the way you would like it. That's what I meant when I wrote I didn't think I would be quoted verbatim originally - I realised you would credit me, but I thought you might tweak them a bit as you saw fit.
  quote
Mac+
9" monochrome
 
Join Date: May 2004
Location: 🇦🇺
 
2005-10-26, 23:52

OK - I just downloaded the most recent update. Nice.

How about 2 octaves of each scale up and down?

If you think that would confuse the issue - then how about adding an option to allow for this (should not be too hard to program)? It would be a great "play along" tool, especially with the tempo slider, for budding new musos. This could also apply to the arpeggios btw.

Also, maybe the name of the app deserves a change as you also have the chords and the option of arpeggios as well. Don't "iTunes" this app on me!

iPractise perhaps?
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2005-10-27, 08:01

Mac+,

Octaves are planned and should be pretty easy to implement. What I haven't figure out yet is where to put the octave button. It would affect the octave when playing back all the scales & chords so it should go on the bottom where the tempo slider is, but I'm worried about it getting crowded in that section of the screen.

I have to implement octaves anyway if I want to show the scales / chords in bass clef as well as treble clef. Right now the lowest note is concert A, which is the 2nd lowest (tonally) string on a bass. I'll need to go to at least the E below concert A to cover a 4 string bass and the B below that if I want to cover 5 string bass.

At one point I had drawers coming out of everyplace. I had the chords on a drawer that came out of the bottom of the main window, and mode descriptions were on a drawer that came out of the right of the main window. All I needed was one more drawer and the GUI would've practically been a cross of some kind. It was this issue that forced me to rethink the GUI. I'm not totally thrilled with using a drawer to pick the playback instrument, but I haven't come up with an idea I like to replace it.

I still think Musical Scales is an appropriate name for my program. It's main function is to derive scales & chords from those scales. Or on the other tab, pick a note & a chord, and a scale is derived from the combination. I think showing sheet music still fits, but I'm seriously considering ending development of this program.

I'm thinking for the practice stuff I might start a new program from scratch. I'd use the scale generation and music playback pieces from Musical Scales inside the new program but my new program (iPractice or what-have-you) would be more centered around learning theory instead of just deriving it and spitting it out on screen for you.

I've received permission from Daniel Currie, the author of Perfect Pitch ( http://los.dtcurrie.net/projects/ ) to use his source code as I see fit. I plan on modifying this code so that not only would you be able to tune your instrument through my practice program, but as you play back pieces of sheet music my program would put on screen, this code would detect whether or not you played back the sheet music correctly and point out any errors you may have made so you can correct and learn from your mistakes. The real trick will be seeing if you matched the same tempo (quarter note, 8th note, etc.) that was shown on the sheet music.

Eventually if I keep developing more of these programs, I see them working together as a suite of applications, like iLife for music, or iMusic. I'll need to build a metronome / sequencer and something that'll allow generation/printing of sheet music. The thing is, most of this stuff already exists so I'd be reinventing some wheels, but I'm hoping somehow to tie it all together in a way to make the whole package more then a sum of its parts.

Last edited by bassplayinMacFiend : 2005-10-27 at 08:06.
  quote
Posting Rules Navigation
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Post Reply

Forum Jump
Thread Tools
Similar Threads
Thread Thread Starter Forum Replies Last Post
Apple up-to-date program applies to ship date bosox Speculation and Rumors 0 2005-04-12 16:13
I've Created A Simple Music Scale Program bassplayinMacFiend Third-Party Products 63 2005-02-25 11:01
A Question about applecare program mansuper1 Apple Products 10 2005-01-07 21:14
Have An Idea For A Program bassplayinMacFiend Third-Party Products 9 2004-10-07 20:30
how do I install a program on all accounts!! malimo Genius Bar 4 2004-08-25 21:35


« Previous Thread | Next Thread »

All times are GMT -5. The time now is 09:43.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004 - 2024, AppleNova