#1
http://www.fretview.com

Developed this to help with my basic and advanced theory

It basically helps you find what scales and keys notes you have selected belong to.

Still working on the interface and functionality but any constructive criticism would be appreciated!

Thanks.
#3
Try different coloring for different notes and bigger circles? Also "t" and "e" instead of "10" and "11" are acceptable standards. Cool idea, though
Glad to cross paths with you on this adventure called life
Quote by Jet Penguin
lots of flirting with the other key without confirming. JUST LIKE THEIR LOVE IN THE MOVIE OH DAMN.
Quote by Hail
you're acting like you have perfect pitch or something
#4
It's a shame you're only using sharp enharmonics. Is there no way you can use flat alternatives where appropriate?
It's the drawback to most apps of this kind that I've seen.

Eg, If I want an Eb major scale, what I get from your app is: D# F G G# A# C D - which is theoretical nonsense.

If you could fix this, it would really make your app stand out from the dozens of similar ones out there. (But then I guess that suggests it's too difficult to do, or others would be doing it .)

The rule (if it helps) is that any 7-note scale should have one (and only one) of each note letter. If you have a D, you can't have a D# - it must be Eb. If you have a D#, you can't have a D. (This applies even if it results in double sharps or double flats or, more often - the notes B#, Cb, Fb and E#. Those exist in quite common scales.)
For 8 note scales, obviously the rule can't be followed, but there should still only need to be one instance of a repeated note letter,
For scales with less than 7 notes, it might not seem to matter so much, but still, C blues scale has an Eb, not a D# - even though there is no D in the scale.

Also - maybe easier to fix! - the "view fret numbers" option is a little redundant because you already have the fret numbers beneath - they can be easily read off from there. Much better to have a "scale degree numbers" option (R-2-3-4-5-6-7)

There are plenty of chord and scale generator sites out there, and I'd say you need to be looking at those and thinking about what they can't offer - how can you improve on those? Even if you can't improve the info (eg enharmonic correction), you might be able to improve the look or usability, or the number of options or functions. That's how you get a killer app.

Good luck!
Last edited by jongtr at Jan 19, 2016,
#5
I appreciate the feedback. I did not know the rule about only having one letter per scale no repetitions but I will look into how I can fix that.

The scale degree numbers is a good idea, I could maybe use that as an additional checkbox.

Thanks again guys.
#7
Quote by penner
Thinking about how to implement that makes my head hurt.
If you mean the enharmonic thing, that probably explains why no one else has managed it either! (at least not in simply apps like this).
#8
This may or may not help. It's a chromatic scale chart, showing all the possible (common) names for each note, over two octaves.
Half-steps:  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
    Sharps:        A# .  B# C# .  D# .  E# F# .  G# .  A# .  B# C# .  D# .  E# F# .  G#  ...
  Naturals:     A  .  B  C  .  D  .  E  F  .  G  .  A  .  B  C  .  D  .  E  F  .  G  .  A... 
     Flats:  Ab .  Bb Cb .  Db .  Eb Fb .  Gb .  Ab .  Bb Cb .  Db .  Eb Fb .  Gb .  Ab  ...
Notice only A, D and G have no enharmonic doubles (describing the same half-step). (On very rare occasions - or in very rare scales - those pitches crop up as double sharps or flats, but I doubt you need to worry about that. If any scale did result in one of those - just don't allow that scale!)

Each row forms one major scale already: C# major, C major and Cb major.
All other major scales are formed by taking notes from either the top two rows, or the bottom two rows - but not the top and bottom, and not all three. If you follow that - applying the major scale formula from any point - you won't double any notes, and you won't mix sharps and flats.
And you won't get scales like D# major, because it's not possible. (Because you'll find your 3rd note has to be G, which breaks the rule - you've skipped either E or F - so you go back and start from Eb, and then it all pans out correctly.)

However (there's always a however...) - the over-riding rule is "one of each note", as I said. With major scales (and all of their modes of course) that happens to result in not mixing sharps and flats, which is a handy additional rule.
But in a few other scales, following the one of each note rule does result in a mixture:
D harmonic minor = D E F G A Bb C#
G harmonic minor = G A Bb C D Eb F#
G melodic minor = G A Bb C D E F#

I can't imagine how you might code for that....
Last edited by jongtr at Jan 20, 2016,
#9
^he also covers non-diatonic scales, so in those cases it wouldn't apply



PC: 0 1 2 3 4 5 6 7 8 9 t e
NN: C C# D D# E F F# G G# A A# B
AN: B# Db Eb Fb E# Gb Ab Bb Cb

PC = pitch class
NN = note name
AN = alternative (note) name (if any)

1. Enter scale starting note and scale.
2. Check if diatonic.
N => pass
Y
- Write down letter names in order based on scale starting note
- Use pitch classes and scale formulae (+1 = half-step; +2 = whole-step;
+3 = 1.5 steps) to write the specific name.
- Print fingerboard.


Example:
Entered in Bb, harmonic minor.
Diatonic.
1. B C D E F G A
2. Starting note Bb, adjust.
Bb C D E F G A
3. Scale formula: W H W W H WH (H)
(t + 2) mod 12 = 0
Bb C good
0 + 1 = 1, need D name, retrieve Db
Bb C Db good
...
6 + 3 = 9
A type note, retrieve A
Bb C Db Eb F Gb A
4. Print all frets with note names.

Glad to cross paths with you on this adventure called life
Quote by Jet Penguin
lots of flirting with the other key without confirming. JUST LIKE THEIR LOVE IN THE MOVIE OH DAMN.
Quote by Hail
you're acting like you have perfect pitch or something
#11
Quote by NeoMvsEu
^he also covers non-diatonic scales, so in those cases it wouldn't apply
Right.
Quote by NeoMvsEu



PC: 0 1 2 3 4 5 6 7 8 9 t e
NN: C C# D D# E F F# G G# A A# B
AN: B# Db Eb Fb E# Gb Ab Bb Cb

PC = pitch class
NN = note name
AN = alternative (note) name (if any)

1. Enter scale starting note and scale.
2. Check if diatonic.
N => pass
Y
- Write down letter names in order based on scale starting note
- Use pitch classes and scale formulae (+1 = half-step; +2 = whole-step;
+3 = 1.5 steps) to write the specific name.
- Print fingerboard.


Example:
Entered in Bb, harmonic minor.
Diatonic.
1. B C D E F G A
2. Starting note Bb, adjust.
Bb C D E F G A
3. Scale formula: W H W W H WH (H)
(t + 2) mod 12 = 0
Bb C good
0 + 1 = 1, need D name, retrieve Db
Bb C Db good
...
6 + 3 = 9
A type note, retrieve A
Bb C Db Eb F Gb A
4. Print all frets with note names.

Good thinking.
#13
Good question - could be useful function. I just googled and didn't find any that could - not online at least. All of them are designed the other way - you select the scale you want and they display it.

This one claims to do it, but doesn't seem to work:
http://www.all-guitar-chords.com/reverse_scales.php

These two might, but you need to download them (I'm sure I can leave that to you )
http://chord-scale-generator.en.softonic.com/
http://www.pluck-n-play.com/en/scale-finder.html
Last edited by jongtr at Jan 20, 2016,
#15
it seems a data table of ALL 12 keys needs to be established with actual named notes not enharmonic..

while your effort is noted..there are many "apps" of this type that are approximations of diatonic theory -- naming notes correctly to the key they are in ,, ie A# is NOT in the key of F -- as jon pointed out..on this forum there are so many people new to guitar that find learning the fretboard "Chinese arithmetic" and one major reason is learning the correct note name to the key they are in..and because of that-learning intervals becomes a major task rather than relative association..ie..what is the relative minor of A major..some answer-Gb .. and on it goes-even though there is no Gb in the A major scale..
play well

wolf
#16
My suggestion is limit the app to the area where your knowledge is the strongest, and evolve it as it grows. You have a gift and vision but it can only be as good as your own understanding of the subject.

Once you establish a Tonal center, and understand the intervals, and their roles, for example, knowing where a bb7 is used or what is a 1,2 3 #4 5 6 b7...things of that nature then you can pretty much determine anything that your app might do. To me that's ultimately a better approach. An app that helps someone learn to fish as opposed to something that gives a person a fish.

But much respect for even trying. Clearly you have put some work into it.

Best,

Sean
#17
Yeah what the app does is it generates all the scales based on the shapes of the scales (e.g. 0,2,3,5,7,8,10) multiplied by the amount of notes (A through G) and then filters it down based on the notes you have selected

For it to pay attention to scale rules and theory there would have to be a bunch of exceptions that would have to be built into that algorithm. Would take some work but probably ultimately possible

Thanks everyone for checking it out - feel free to use it as I improve it
#18
Looks really good, I can see it being a valuable tool! Can definitely see myself sharing it as a tip to my students when it's done. Then for criticism/ideas, here's three things I would add/change if I were you.

First of all I'd attach a soundfile to each fret, so when I click a fret and it shows the note, it also plays the note with a guitar sound. And obviously there should be an on/off button for this feature. Alot of work I know, but I think it would be appreciated.

Then connected to that with adding sounds, I'd also record a soundfile for the scales in the most common position. So for example if they mark A pentatonic minor in the bottom right box, they would also have the option to hear how it sounds. Once again, alot of work, but extremely helpful.

Then thirdly I'd change the colours and layout of the fretboard. Having it there and the functionality I like, but the colours don't blend smooth to me, and all the dots makes my eyes grow weary. I'd keep the string names and fret numbers, those are helpful. But I would rethink the layout of the fretboard when it comes to the dots, maybe go with showing strings instead, and putting something more subtle and clickable over (if it's even needed, could also just make it an invisible button and write shortly how it works I guess).

That's what I thought of right away atleast. Keep in mind that I love your idea and you've done a great job, this is just meant to be helpful tips for further improvements, NOT critique with the intent of bashing your creation.

//Robert
Last edited by Arzosah at Feb 3, 2016,
#19
O_o a fellow programmer!

Anyways, I looked around, I would like to give some feedback.

First off, congrats on the website

on the other note, can you add other tunings? (like D Standard, Drop C, C Standard, Drop B ,etc.)
And hopefully in the future, support for 7String drop A tunings?
#20
Quote by Sean0913
My suggestion is limit the app to the area where your knowledge is the strongest, and evolve it as it grows. You have a gift and vision but it can only be as good as your own understanding of the subject.

Once you establish a Tonal center, and understand the intervals, and their roles, for example, knowing where a bb7 is used or what is a 1,2 3 #4 5 6 b7...things of that nature then you can pretty much determine anything that your app might do. To me that's ultimately a better approach. An app that helps someone learn to fish as opposed to something that gives a person a fish.

But much respect for even trying. Clearly you have put some work into it.

Best,

Sean


Sean, check your message inbox.
#22
Great job on this accomplishment. This could come in very handy for many guitarists.

What language and/or IDE did you use to program this?
#23
The enharmonic problem is still there. Is there really no way you can have correct enharmonic choices in your database?

This is not a 50/50 choice in practice either. eg, for some sharps/flats, you could say each choice is as common as the other. The notes D# and Eb are probably about as common as each other. But there is no D# major scale, nor any D# scale with a major 3rd (D# minor does exist).
Likewise, there are no such things as A# or G# major scales. But Bb major and Ab major are very common. Even as a single note, Bb (which appears in the major scales of F, Bb, Eb, Ab, Db, Gb, and Cb) is more common than A# (which is only in B, F# and C#).

You can have both enharmonic choices in your left hand column, but if you want to display (eg) a D# major scale, your program should flip it to Eb major. (But it would display D# minor OK.)
To be able to display a D# major scale correctly, you would need double sharps (Fx and Cx) - double sharps (and double flats) do exist, but not as part of major scales. (But that would be another complication: e.g., to display G# harmonic minor correctly, you'd need Fx, not plain G.)

There are other issues with it, but this is the most serious. I do admire your ambition and programming skills, but the theoretical side needs improvement .

The theoretical rules are logical and consistent (such as one of each letter for any 7-note scale), but I can see the exceptions would prove difficult for a program to implement. Eg, blues scale has to have a repeated letter - but which one should repeat? Do you show 4 and #4, or b5 and 5? Diminished scales need two of one letter, but which one should be doubled? (It's a little easier - in theory - with bebop scales, where the doubled letter is conventionally written as a sharp version of the one below.)

And there are occasions where the one-of-each note rule means that some 7-note scales will need notes such as B#, E#, Cb or Fb - and some harmonic minor scales will need double sharps.

I suspect all these issues explain why you can't find sites like yours that work correctly. All the ones I've seen make the same enharmonic mistakes. It must just be too difficult to program correctly. I imagine many give up trying.
Last edited by jongtr at Jun 8, 2016,
#24
Well this is exactly the functionality I've always wanted !!! Great job. The only thing I would improve is the graphics. Your UI is so well laid out and clean - very logical - I've added this to my favorites.

I don't have the patience or the time to look up the proper names of new shapes that I come up with, so this really is a timesaver when being curious about what a strange set of notes may be related to.

I think it's also a great tool for composing and for expanding current scale knowledge, since you have so many related options that show up when entering a few notes. It's fun to have all the different options that include a few given notes being one click away.

You should look at incorporating chords or creating a separate app for that - using the same approach and UI.

Well done!
#25
Quote by reverb66
Well this is exactly the functionality I've always wanted !!! Great job. The only thing I would improve is the graphics. Your UI is so well laid out and clean - very logical - I've added this to my favorites.

I don't have the patience or the time to look up the proper names of new shapes that I come up with, so this really is a timesaver when being curious about what a strange set of notes may be related to.
But it won't tell you that. Or rather, it will probably give you a whole collection of scale names, one (or more) of which may be correct, but maybe none of which will be.
IOW, don't bank on this giving you the "proper names" (if that's what concerns you). A whole load of very common proper names are missing from the list, and a whole load of extremely rare names (most of them never used, ever, in western music) are included.
Quote by reverb66

I think it's also a great tool for composing and for expanding current scale knowledge, since you have so many related options that show up when entering a few notes.

It's fun to have all the different options that include a few given notes being one click away.
Yes, that's a good reason for showing so many scale options on the list. If I was a beginner, I suspect I'd be intrigued by all those fancy ethnic names, and enjoy playing around with them.
Quote by reverb66

You should look at incorporating chords or creating a separate app for that - using the same approach and UI.
Well done!
I think he'd need to brush up on his theory before tackling that .

There are other sites that will identify chords for you, if that's what you want - although most of them suffer similar problems (wrong enharmonics, and/or superfluous and misleading information).

It's OK to not "have the patience" to find out proper theoretical terms. You can play perfectly well without that knowledge. But it's not a great idea to learn the wrong names.

It's like looking up how to spell "music", and being given various options such as "moozic, myewzic, muzick, moosick, mioozik," etc - maybe with "music" somewhere down the list if you're lucky - and thinking that any of them are OK. It doesn't matter if you're only speaking, because only the sound matters (which is like playing music - theory knowledge not needed). If you were using a voice-recognition software to translate speech into written words - you'd expect it to use correct spelling, yes, not just phonetic syllables?

IOW - for all the good things about that site - it's lacking an essential level of theoretical discrimination: something else that needs to be coded in.
Last edited by jongtr at Jun 8, 2016,
#26
Quote by carljohnfred
Great job on this accomplishment. This could come in very handy for many guitarists.

What language and/or IDE did you use to program this?


This is done in javascript. Should work on mobile browsers too.
Last edited by penner at Jun 28, 2016,
#27
Quote by jongtr
The enharmonic problem is still there. Is there really no way you can have correct enharmonic choices in your database?

This is not a 50/50 choice in practice either. eg, for some sharps/flats, you could say each choice is as common as the other. The notes D# and Eb are probably about as common as each other. But there is no D# major scale, nor any D# scale with a major 3rd (D# minor does exist).
Likewise, there are no such things as A# or G# major scales. But Bb major and Ab major are very common. Even as a single note, Bb (which appears in the major scales of F, Bb, Eb, Ab, Db, Gb, and Cb) is more common than A# (which is only in B, F# and C#).

You can have both enharmonic choices in your left hand column, but if you want to display (eg) a D# major scale, your program should flip it to Eb major. (But it would display D# minor OK.)
To be able to display a D# major scale correctly, you would need double sharps (Fx and Cx) - double sharps (and double flats) do exist, but not as part of major scales. (But that would be another complication: e.g., to display G# harmonic minor correctly, you'd need Fx, not plain G.)

There are other issues with it, but this is the most serious. I do admire your ambition and programming skills, but the theoretical side needs improvement .

The theoretical rules are logical and consistent (such as one of each letter for any 7-note scale), but I can see the exceptions would prove difficult for a program to implement. Eg, blues scale has to have a repeated letter - but which one should repeat? Do you show 4 and #4, or b5 and 5? Diminished scales need two of one letter, but which one should be doubled? (It's a little easier - in theory - with bebop scales, where the doubled letter is conventionally written as a sharp version of the one below.)

And there are occasions where the one-of-each note rule means that some 7-note scales will need notes such as B#, E#, Cb or Fb - and some harmonic minor scales will need double sharps.

I suspect all these issues explain why you can't find sites like yours that work correctly. All the ones I've seen make the same enharmonic mistakes. It must just be too difficult to program correctly. I imagine many give up trying.


It is very difficult to even envision how that would work. And it would only work with 7 note scales. I include other scales that include more than that set of notes. It is definitely something that I want to keep on my radar, but it is unfortunately not how my algorithm constructs scales at this moment. It constructs them based purely on "E", "F", "F#", "G", "G#", "A", "A#", "B", "C", "C#", "D", "D#" and constructs shapes based on that (i.e. E Major would be 0, 2, 4, 5, 7, 9, 11 or E F# G# A etc). It basically constructs every major for every note, and then filters it down for the notes you have selected and shows you which Major Scales contain those notes. And then it does that for every type of scale.

I'm actually surprised the performance is so zippy based on what it is doing in the background.

Anyways, good notes, thank you, and if I'm able to construct these scenarios (E# Db Major etc) I will let you know.
#28
It's something I will look into. It would only work for 7 note scales, and it would have to be coded in based on exceptions because of how the app is currently developed. I think you're more of a music nerd and I'm more a computer nerd lol. If I had a team of developers I'm sure I could crush it. But in the meantime it will take time.

Just because the scales aren't correctly named, I wouldn't venture as far as saying the app isn't useful though. It at least gives you an idea of what scale you want to play something in (or what scale you COULD play something in) and then from there you can do more research about the scale. Maybe the solution is to provide of viewing window of scale clarification to show the correct name and numeration of a scale after it is selected.
#29
Wow. I just bought the app and the first question I have is where is the enharmonic transposing button? Now after reading your posts I can't believe they don't have one. That is a basic to transposing! You would almost never transpose a tune to D#. I want to sing John Lennon's "Imagine" in Eb not D#.
Last edited by janethammer at Jan 31, 2017,
#30
Quote by janethammer
Wow. I just bought the app and the first question I have is where is the enharmonic transposing button? Now after reading your posts I can't believe they don't have one. That is a basic to transposing! You would almost never transpose a tune to D#. I want to sing John Lennon's "Imagine" in Eb not D#.


when I first read the above posts and replies I found it very hard to understand why there are no enharmonic notes..jongtr is a very knowledgeable music contributor on this forum and it seemed to frustrate him also that there was no "workaround"..then..penner showed us his "database" which is a chromatic scale that contains ONLY sharp notes ... so garbage in/garbage out..the data base would have to include ALL seven note keys with correct spelling to produce key based scales with correct note spelling..as penner said in one of his posts..he did not realize "theory rules" regarding correct note spelling in regards to "key based scales"

while the current app may be useful..to a player that can read A# and know it should be Bb..is one thing..to a new student of music..seeing and using A# in the key of F may create some difficulty along the way..
play well

wolf
#32
OP has a contact tab on the site where you can communicate about these issues.

This thread is past its time; let it die, and contact the guy via either PM or the contact form