# Piano Key/Scale/Chord Generator

**URL:** https://forum.kirupa.com/t/piano-key-scale-chord-generator/199491
**Category:** flash
**Created:** [September 3, 2006, 3:56am UTC](https://forum.kirupa.com/t/piano-key-scale-chord-generator/199491 "2006-09-03T03:56:32Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![S34N](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.kirupa.com/s34n/32/2149_2.png) [@S34N](https://forum.kirupa.com/u/S34N)
#### Post date: [September 3, 2006, 3:56am UTC](https://forum.kirupa.com/t/piano-key-scale-chord-generator/199491/1 "2006-09-03T03:56:32Z")

</div>

My notebook has shutoff twice while trying to make this post so bare with me. I’m trying to write a flash application for my Sony PSP that is basically what the title suggests a Key/Scale/Chord Generator. There is a lot of information that needs to be stored so let me give you some examples of interface ([here and [URL=“http://www.gootar.com/piano/”]here](http://www.gootar.com/scaler.html)) and music theory (below) to get a better understanding.

- C Major scale = “C-D-E-F-G-A-B” (notes of the scale)

and in that scale the following chords fall as follows:

C (C Major)  
Dm (D Minor)  
Em (E Minor)  
F (F Major)  
G (G Major)  
Am (A Minor)  
Bdim (B [SIZE=-1]Diminished)  
[/SIZE]\*[SIZE=-1]  
_Note: There are many more chords in the scale but I’m trying to keep it simple and add more as I go._

So what I’m wanting to do is first display the selected scale (on the virtual keyboard) and the chords that fall in that scale (in the list box). Then possibly be able to browse each chord in the list box and update the virtual keyboard with the “browsed/selected” chord. Also it’d be nice if you selected a certain “mode” (not in a musical sense) … for this exaple we say “Chord Mode” and picked a chord it’d show you what scales that chord belongs too (probably need some sort of sorting options as well). Of course, this is a lot of work and I’m not sure how to do all of it but my main concern for now is how to store the information. Arrays or XML are my first thoughts but I’m not sure. I’m open to suggestions.

This indeed is a big project for me but it’ll be worth it … if nothing else I will learn more flash and at the same time more music theory. BTW, if anyone has info on the PSP’s flash player limitations please let me know. I’m about to start looking at that to see if this is even possible to do on such a device as the PSP. Hopefully later I’ll be able to add sound to the app so you can hear the scale/chord being played.

## Updates:

I’ve made some progress on the interface and layout … as well as getting the man arrays assigned and filling up the lists boxes. Some of this stuff will probably change but the good news is so far things are going fairly well. I even did a test run on the PSP’s browser and it worked flawlessly \*(had some trouble at first because PSP only recognizes up to flash 7). \*I’m going to post my progress as I go along and if anyone wants to help have at it 🙂 I will include .fla and .swf for anyone that wants to help or just try it out on a PSP browser as it progresses.

\*\*\*Note: You need PSP Firmware 2.71 to use flash or one of the homebrew Flash players for 1.5 Firmware (I haven’t tested the homebrew Flash Players)

\*\*\*[Bliss Chorder.fla](http://thanox.com/bliss/Bliss%20Chorder.fla)  
[Bliss Chorder.swf](http://thanox.com/bliss/Bliss%20Chorder.swf)

Okay now I’m starting on the XML and I have to admit I’m kind of stumped. There’s a lot of data and I need to organize it in XML fashion.

So I have:

Key = CMaj  
±Scale = CDEFGAB  
±-Chords in the Scale = C, Dmin, Emin, F, G, Amin, Bdim  
±–Then the in dividal notes that make up the chords

I’m having trouble trying to organize all this info in XML format.

[/SIZE]
