User Name
Password
AppleNova Forums » Third-Party Products »

I've Created A Simple Music Scale Program


Register Members List Calendar Search FAQ Posting Guidelines
I've Created A Simple Music Scale Program
Page 1 of 3 [1] 2 3  Next Thread Tools
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2004-07-28, 13:35

I've created a simple musical scale program. You select what the starting note is, and which mode to use and the resulting scale tones are output. This is a version 0.1 program so the menus aren't pretty, but if you would check it out and let me know what you think I'd greatly appreciate it.

Here's the link to my page.
  quote
Mac+
9" monochrome
 
Join Date: May 2004
Location: 🇦🇺
 
2004-07-28, 19:10

Hey, congratulations bpMF. Nice effort!

It's a good start - but here are a few pointers:
  1. Don't use enharmonic spelling for scales such as A. For instance, even though C# and Db are the same note - A major can't have a Db and a D ... that is why the note is referred to as C#. (also it is part of the key sig!)
  2. For enhamronic scales such as A#/Bb - it would be clearer if you provided the answer on two separate lines. Something like this perhaps?

    Code:
    A# (ionian): A# B# C+ D# E# F+ G+ A# Bb (ionian): Bb C D Eb F G A Bb
  3. Also note that strictly speaking the A# scale is not A# C D D# F G A ... see the correct version in my example above.
  4. I would also add the upper tonic to complete the scale - this confirms the semitone/tone pattern for every scale. Do you know what I mean? For example, the ionian scale follows a TTsTTTS pattern. If you do not include the upper tonic, then the pattern is just TTsTTT ... ? (incomplete)
  5. It would also be cool to see the notes highlighted on a keyboard - or in your case a fret board - but I understand that would be a huge undertaking!

I look forward to seeing the next version!
Btw - what did you write that program with? (what code/language?)

All I want is a simple life
twitter
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2004-07-28, 21:49

Mac+,

Thanks for your reply and taking the time to voice your opinions.

Right now I use 2 strings, one holds the note names and the other holds the TTSTTTS string. I use modulo math so I can do all the scales/modes with only these two strings. Because of this, the enharmonics aren't posted in the way you described (this is v 0.1 ).

I've been scheming on a way to stick with the same two strings and use the space between the previous and current notes to calculate the proper name for the enharmonic. Even doing this won't work for all scales, particularly the Locrian mode because so many notes are flatted (2,3,5,6,7).

I don't want to go the route of creating a different string for each scale/mode combo, so I'm willing to live with some slight imperfections in describing the scale. The scales I display still show the proper notes, which is the most important part to me.

My next update will address some cosmetic issues and will try to show the scales closer to what you show in your example. Also, I will show the chord notes for the 7 chords in each scales. The user will be able to select between displaying triad, 7th, or 2 octave extended chords.

I hadn't planned on showing fretboard / keyboard finger placement as I meant it for any musician to use it to practice scales and modes on their instrument. It is a good idea though and I'll think about adding that in.

I programmed this using XCode/Interface Builder, and Objective-C to create a Cocoa program. This is my first program after taking a 2 day crash course in Xcode/Interface Builder. Gotta give props to Eric at www.macdev.ca . I already knew C & Java but didn't have a grasp on how to use Apple's tools so I took Eric's class.
  quote
Mac+
9" monochrome
 
Join Date: May 2004
Location: 🇦🇺
 
2004-07-28, 22:14

You might find this interesting and helpful too: Ebony&Ivory
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2004-07-29, 07:21

Thanks for the link, Mac+. Guess I'm reinventing the wheel to a certain degree. Oh well, at least I'm getting over the Mac programming learning curve.
  quote
Mac+
9" monochrome
 
Join Date: May 2004
Location: 🇦🇺
 
2004-07-29, 08:11

Don't worry about reinventing the wheel bpMF - I'm envious of your ability to write code and get a GUI onto an application. Keep it up!

If I can help with the theory or other musical aspects don't hesitate to send me a question. Happy to help on that side in whatever way possible.

Quote:
My next update will address some cosmetic issues and will try to show the scales closer to what you show in your example. Also, I will show the chord notes for the 7 chords in each scales. The user will be able to select between displaying triad, 7th, or 2 octave extended chords.
With regard to the GUI - it might be more streamlined if you offer a drop down menu for the modes perhaps? You might also want to offer the user an explanation of each mode too - you know, a small box of facts to enlighten them as to how the scale is constructed. I realise the app is really about finding the notes in each scale - but if you're doing this "for kicks" then you can afford to go the "whole hog" on it and really fine tune it as best you can. I'm sure there will be some good coding lessons in there somewhere!

(If you do also incorporate the chords - you might wish to include explanations for them as well?)

Anyway, just my 2c.

All I want is a simple life
twitter
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2004-07-29, 10:02

Mac+,

If you want to do write-ups on the different modes, I'll gladly throw them in. I could change the mode radio buttons into a drop-down like you suggested, giving me the space to pop in a textfield with descriptions for each mode.

I was planning on adding a drawer to the bottom of the window that would pop out with chord information. In the drawer would be either radio buttons or another drop-down so the type of chord (triad, 7th, extended) could be selected, and the appropriate chords for the scale (for example, IMaj7, ii-7, iii-7, IVMaj7, V7, vi-7, vii-7b5 for Ionian) would then display in the drawer.

I don't know what kind of explanations to include for the chords but if you have anything to offer, again I'll gladly include them.

At least, that's the plan.

Of course, I'll credit you in the updated About screen for anything you contribute. Since this program is free (and will stay that way) I can't offer you any $$ but if you have a webpage, your credit on the About screen would be a link to your site.
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2004-07-31, 17:56

I've updated this program. Wrong Robot (Wrao) cooked me up an icon which I've added. I've also added the 8th note to complete the scale as Mac+ suggested.

The scale output is now selectable for copy operations as well.
  quote
Mac+
9" monochrome
 
Join Date: May 2004
Location: 🇦🇺
 
2004-07-31, 19:36

Hey bpMF - thanks for the offer, I will be happy to help out. I'm not fussed about $ - don't sweat that!

I'll try and work something up in the next few days and then I'll be in touch via PM. I presume a Word doc would be OK?

All I want is a simple life
twitter
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2004-07-31, 21:47

That works for me!

Thank you very much for your help!
  quote
Wrao
Yarp
 
Join Date: May 2004
Location: Road Warrior
 
2004-07-31, 22:30

hmm, I notice that the icon didn't retain transparencies...any clues why?

I'm curious partly because it looks way better with the transparency but also because I'd like to know how to make icons for real
  quote
wyvern
Member
 
Join Date: Jul 2004
Send a message via AIM to wyvern  
2004-07-31, 22:50

The developer tools come with utilities for creating icons with 8-bit alpha masks.
  quote
Wrao
Yarp
 
Join Date: May 2004
Location: Road Warrior
 
2004-08-01, 01:54

ah, I should probably install those then, I made the icon in photoshop, we tried a couple different formats but none seemed to work, so I gave fiend the .psd so that he might be able to do something on his end. Oh well.
  quote
Mr Beardsley
Member
 
Join Date: Jul 2004
Location: Colorado Springs
Send a message via AIM to Mr Beardsley  
2004-08-01, 09:05

Wrao,

You can make icons in photoshop. Go to http://www.railheaddesign.com
Under the various link you'll find a tutorial called "How to make icons the railhead way". It will walk you through how to make an OS X icon using Photoshop.

BPMF,

You'll want your icon in a .icns format. That way you can add it to your project in XCode. If you do that all of your alert and about boxes will use your icon instead of the generic application icon.

"Slow vehicle speeds with frequent stops would signal traffic congestion, for instance."

uh... it could also signal that my Mom is at the wheel...
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2004-08-01, 17:22

Wrao,

With the transparency enabled, you could barely see the icon. I had to grab the basic graphic without all of the cool effects you added. Believe me, I'd like it to look like what you sent me, but what you see was the best I could do with the icon composer program included with the dev tools.

Mr Beardsley,

Thank you for that information. I will check out the tutorial over at railhead as well.

Thank you guys for your continued interest!

[edit]
I checked out railhead's icon tutorial. Looks good but it relies on a $60 Photoshop plugin to do the work. Guess I'm not ready to spring for a full copy of Photoshop (I use Elements) and a plugin just to create icons.

Do you guys know of any other tutorials out there that don't rely on expensive software?

Last edited by bassplayinMacFiend : 2004-08-02 at 08:36.
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2004-08-05, 07:53

I'm working on getting the next update out this week. So far I've built a drawer that holds the 7 chords for the selected scale, but the chords aren't built correctly. I think I'll be revisiting my scale construction routine and creating an array instead of a string. Then I can just start at element x1, x2, etc. and take every other element to create the chords.

If nothing else, I'm getting over the learning curves object instantiation, modification, retrieval and destruction.

I'll post here again when the next update is complete.
  quote
Dave
Ninja Editor
 
Join Date: May 2004
Location: Bay Area, CA
 
2004-08-05, 15:13

Quote:
Originally Posted by Mac+
With regard to the GUI - it might be more streamlined if you offer a drop down menu for the modes perhaps? You might also want to offer the user an explanation of each mode too - you know, a small box of facts to enlighten them as to how the scale is constructed. I realise the app is really about finding the notes in each scale - but if you're doing this "for kicks" then you can afford to go the "whole hog" on it and really fine tune it as best you can. I'm sure there will be some good coding lessons in there somewhere!

(If you do also incorporate the chords - you might wish to include explanations for them as well?)

Anyway, just my 2c.
I concur. Especially with the bit about the GUI and drop-down menus.

Looks pretty cool though.
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2004-08-18, 07:27

I've released another update. This update adds the chord functionality I wanted. I still haven't tweaked the GUI to use dropdowns, that will be in my next update. With the chord drawer opened this program is eating up a bunch of screen space so I may just tweak the UI and release that as an update.

Anyway, program description, screenshot and download link can all be found here.

I'm still open to suggestions if anyone wants to add them in this thread.

Last edited by bassplayinMacFiend : 2004-08-18 at 07:57.
  quote
ast3r3x
25 chars of wasted space.
 
Join Date: May 2004
Send a message via AIM to ast3r3x  
2004-08-18, 07:31

My only suggestions is not to use type writer font as the headings It doesn't have to be a sans-serif font, but the current one is ugly. Since I know...oh basically nothing about music, I can only help with that.
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2004-08-19, 07:01

I've released yet another update. This latest update only changes the GUI, all of the functionality is the same. Here's a screenshot:



As you can see, I've taken Mac+ advice and switched to drop-downs instead of radio buttons, which reduces how much screen space my program uses.

Proper display of enharmonics is my next priority. Hopefully I can get the next update out the door within the next 2 weeks.

[edit]
ast3r3x,

What do you think of my new font selection?
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2004-08-19, 16:35

I fixed a refresh bug and posted an update. Come and get it while it's fresh and hot!

(Now I really have to do some practicing myself! )
  quote
Mac+
9" monochrome
 
Join Date: May 2004
Location: 🇦🇺
 
2004-08-22, 21:41

bpMF sorry about the loooong wait ... please check you PM - I don't know how to attach a Word.doc to a PM.
  quote
Brad
Selfish Heathen
 
Join Date: May 2004
Location: Zone of Pain
 
2004-08-22, 22:05

Quote:
Originally Posted by Mac+
bpMF sorry about the loooong wait ... please check you PM - I don't know how to attach a Word.doc to a PM.
Members cannot attach files here. You could just e-mail him and then, when you get his reply with his full e-mail address, attach the file to an e-mail.

The quality of this board depends on the quality of the posts. The only way to guarantee thoughtful, informative discussion is to write thoughtful, informative posts. AppleNova is not a real-time chat forum. You have time to compose messages and edit them before and after posting.
  quote
Mac+
9" monochrome
 
Join Date: May 2004
Location: 🇦🇺
 
2004-08-22, 22:20

Thanks Brad - I sent an email to sysadmin@applenova after I tried to contact bpMF via email, but have since sent another one asking them to ignore the previous email.

All I want is a simple life
twitter
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2004-08-23, 08:18

OK! I want to thank Mac+ for his contribution. Thanks man!

I'm shooting for another update within the next week or two. I've found a great MIDI framework at http://pete.yandell.com/software . I'm hoping Pete will allow me to use his software in my program. This way I can add chord playback using different instruments to make this program useful for as many musicians as possible.
  quote
Mac+
9" monochrome
 
Join Date: May 2004
Location: 🇦🇺
 
2004-09-05, 21:41

Hey bpMF check out this link below:

http://www.telacommunications.com/nu...c/keyboard.htm

Let me know what you think.
  quote
Mac+
9" monochrome
 
Join Date: May 2004
Location: 🇦🇺
 
2004-09-05, 22:12

also - check this page out - it has guitar voicings as well!

http://www.looknohands.com/chordhouse/
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2004-09-06, 08:06

Those are cool websites. I've also found www.guitarknowledgenet.com to be a great source for basic theory, mode explanations and such. It's server is based in Florida so Frances has taken out power to the server farm but it should be up soon.
  quote
Mac+
9" monochrome
 
Join Date: May 2004
Location: 🇦🇺
 
2004-09-06, 08:33

Wow - I just checked the Pete Yandell site (don't know how I missed it before - another Aussie ) - I wish I knew how to write code properly using Project Builder!

(If anybody could help me get started on a simple metronome program I would be forever grateful! - I only know a little bit of C, though.)

Also, bpMF I noticed on a screen shot above that you have the chords numbered as one, two, etc. Perhaps use Roman numerals, such as I, ii, iii, IV, V, vi, vii VII - to indicate MAJOR and minor chords - or consider: tonic, supertonic, mediant, subdominant, dominant, submediant, leading note, upper tonic.

All I want is a simple life
twitter
  quote
bassplayinMacFiend
Banging the Bottom End
 
Join Date: Jun 2004
 
2004-09-06, 18:32

Quote:
Originally Posted by Mac+
Wow - I just checked the Pete Yandell site (don't know how I missed it before - another Aussie ) - I wish I knew how to write code properly using Project Builder!

(If anybody could help me get started on a simple metronome program I would be forever grateful! - I only know a little bit of C, though.)

Also, bpMF I noticed on a screen shot above that you have the chords numbered as one, two, etc. Perhaps use Roman numerals, such as I, ii, iii, IV, V, vi, vii VII - to indicate MAJOR and minor chords - or consider: tonic, supertonic, mediant, subdominant, dominant, submediant, leading note, upper tonic.
Yea, I just wish Messr. Yandell would get back to me and let me know if I can use his MIDI Frameworks in my program. That reminds me, I should send him another email.

The reason I didn't use the Roman chord numbering scheme is I didn't have a way to rename the labels as modes changed. I'm working on storing the chords numerically to make it easier to play the chords as well as update the labels along with using proper enharmonics.

Unfortunately, Real Life(tm) has been sucking up all my available time as I need to remodel the condo before little bpMF gets here! I will definitely be uploading another update soon though.
  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

Page 1 of 3 [1] 2 3  Next

Post Reply

Forum Jump
Thread Tools
Similar Threads
Thread Thread Starter Forum Replies Last Post
iPod Evaluation Messiahtosh Apple Products 14 2005-01-18 13:36


« Previous Thread | Next Thread »

All times are GMT -5. The time now is 18:11.


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