
Show HN: Scale Heaven – Browse and play any scale/chord, chord progression - seanitzel
https://scale-heaven.com/
======
peapicker
Took me a few tries to find "Hungarian Folk or Byzantine Major Gypsy" scale as
I first tried the other aliases:

1\. Double Harmonic (main English language theoretical name) [1]

2\. Byzantine (finds it, but in my experience is known as "Byzatine scale" and
"Major Gypsy" is another scale name -- it is weird to see them glued together.

3\. Mayamalavagowla

4\. Bhairav Raga

5\. Arabic (Hijaz Kar)

It would be nice if a given scale had all its known names attached to it.

[1]
[https://en.wikipedia.org/wiki/Double_harmonic_scale](https://en.wikipedia.org/wiki/Double_harmonic_scale)

~~~
slothtrop
Yeah it could use a more accessible categorization for named exotic scales.
The amount crammed in there is impressive but depending on what you're looking
for, it's too much.

~~~
seanitzel
I tried to categorize it in a comfortable way, but I'll look into changing it
to a more convenient alternative.

------
gabergg
This is really great! For your progressions section, are all of the
progressions added manually? It would be cool to have a way to generate or
manipulate them more flexibly.

I'm the founder of Songcraft ([https://songcraft.io](https://songcraft.io)),
an online songwriting platform, and we've tackled some of the same problems.
It'd be great to connect! My email is in my profile if you're up for a chat.

~~~
seanitzel
The progressions are indeed added manually, I started looking into ways of
generating them in a different way but dropped it atm because i'm too busy
haha

And i mailed you :)

------
dropin685
Nice work! And I have a modest suggestion. I'll illustrate with an example.
Let's say I'm browsing scales. I select scale type "classic," and I choose C
as the tonic then hit Go. The screen changes, and I see a bunch of scales,
including C major (which has no accidentals). Okay, say my theory is rusty (it
is, actually!) and I'm thinking about modes. I want to verify that A natural
minor also has no accidentals, and likewise D dorian. To do that, it seems I
have to back up to the previous screen so I can change the tonic from C to A,
then hit Go again. Then I back up to the previous screen so I can change the
tonic from A to D, then hit Go again. Can that be streamlined a bit so the
tonic can be changed without going back to the previous screen? Something to
consider adding to your to-do list! :-)

~~~
seanitzel
Thank you!

And added to the to do list :)

------
seanitzel
You can also find it on the play store -
[https://play.google.com/store/apps/details?id=com.scales.sca...](https://play.google.com/store/apps/details?id=com.scales.scaleheaven)

------
shitgoose
The relationship between "Compose" and "Composer" is not clear. You probably
can merge it in one screen. Otherwise great app for a total beginner like me!
Thanks! And by the way, ditto the dark mode request.

~~~
seanitzel
Good point, added to to do list :)

------
theflyinghorse
Awesome! I'll experiment with it tonight.

edit: One comment - when I clicked on chords progression it took probably
10-20 seconds to load but there was no indication of loading so I originally
thought that perhaps the section was unavailable

~~~
seanitzel
Wow, thats fedinitely too long!

Ill check it out :)

------
troydavis
For anyone into understanding and composing in less-common keys, also check
these out:

1\. Ian Ring's Scale Finder and directory, which is as close to a canonical
scale reference as exists online:

[https://ianring.com/musictheory/scales/finder.php](https://ianring.com/musictheory/scales/finder.php)

[https://ianring.com/musictheory/scales/2475](https://ianring.com/musictheory/scales/2475)

[https://ianring.com/musictheory/scales/traditions/exoticisms](https://ianring.com/musictheory/scales/traditions/exoticisms)

2\. "Modal Jazz Composition and Harmony" by Ron Miller:
[https://archive.org/stream/BooksOnMusicTheoryHarmonyCounterp...](https://archive.org/stream/BooksOnMusicTheoryHarmonyCounterpointOrchestrationinEnglishJazzToo/_misc,%20jazz%20related/Miller%20Ron_Modal%20Jazz,%20Composition%20and%20Harmony#page/n1/mode/2up)

3\. "Musical Scales of the World," by Michael Hewitt:
[https://www.amazon.com/Musical-Scales-World-Michael-
Hewitt-e...](https://www.amazon.com/Musical-Scales-World-Michael-Hewitt-
ebook/dp/B00B770AQE/) (available on Kindle)

------
birracerveza
This is great!

Only two feedbacks:

\- Sometimes the audio lags out a lot. I know it's probably impossible to get
low latency audio via Web Audio API (which I suppose you are using) but yeah.

\- Dark mode > everything else ever. I would default to it.

\- I want to donate to you, but Patreon is a turnoff. I'd rather use Paypal or
a similar one-time payment option.

Regardless, it seems to be an incredibly useful tool. I've been looking for
something like this for a long time. Again, thank you!

~~~
re
> Sometimes the audio lags out a lot. I know it's probably impossible to get
> low latency audio via Web Audio API

The Web Audio API lets you trade off how far in advance you schedule things --
so if you want to be able to react to events faster, you can use a smaller
buffer, but if you want to ensure that things don't lag out, you can use a
larger one. There's a good overview here:
[https://www.html5rocks.com/en/tutorials/audio/scheduling/](https://www.html5rocks.com/en/tutorials/audio/scheduling/)

The only issue with the audio that I noticed is that when playing the
progression with the metronome, the metronome timing seemed fairly uneven and
also tended to come in slightly before the piano sound. I didn't notice any
timing issues with the piano alone though -- are they scheduled using
different mechanisms?

~~~
seanitzel
I'll look into it, thank you.

And weird, they are scheduled using exactly the same mechanism.

------
holy_city
This is really cool! I think the chord naming has some bugs, but it's been
awhile since I studied theory. For example all the diminished triads are
labeled "min 7-5" which is kind of alien to me (and wrong, there's no 7),
shouldn't it be "dim" or "o"?

Feature request: viewing the intervals on a keyboard/fretboard, with different
colors/numbering for each scale degree.

~~~
jrd259
In jazz notation it's common to use minus sign to mean minor or flat. That
particular chord (the half-diminished) is written as -7b5

~~~
holy_city
It's not half diminished though, since there's no 7? I'm talking about just
the diminished triad (min 3rd + min 3rd). It's been years since I read jazz
notation (classical background), but I thought that was just written "dim"

~~~
kmill
The triadic diminished chords are labeled dim, but the diminished 7th version
does indeed seem to be labeled as a half diminished chord. Maybe a circle
isn't being rendered for the 7. (It's a bit painful seeing it spelled as C Eb
Gb A rather than C Eb Gb Bbb. If you play a string instrument, you might tune
an A differently from a Bbb, so it's not just a theoretical difference.)

Also, if you're seeing sevenths thrown in, it might be because in jazz chords
are more for suggesting a scale than the actual pitches of the harmony. At
least, that's how I understand it as a classical musician.

~~~
seanitzel
I'm working on the spellings to be as accurate as possible :)

~~~
kmill
I didn't mean to be so harsh here: it's more like the pain that classical
singers feel when they hear vowels pronounced "incorrectly" on the radio :-)

~~~
seanitzel
Haha i understand :)

------
theboulevardier
Looks cool! Any chance of mapping the scales to a guitar fretboard? My
favourite way to learn scales is just jamming along to a backing track with
the scale on a fretboard in front of me. Like this: [http://www.all-guitar-
chords.com/guitar_scales.php?scch=E&sc...](http://www.all-guitar-
chords.com/guitar_scales.php?scch=E&scchnam=Pentatonic+Minor&get2=Get&t=0&choice=1)

~~~
jihadjihad
You might like [http://guitardashboard.com/](http://guitardashboard.com/) as
well!

~~~
theboulevardier
Thanks, that looks awesome!

------
firefwing24
From a User Experience, I would prefer the 4 buttons on the main page to be a
button, rather than having the press the text to make it work.

~~~
seanitzel
Taken, will be changed :)

------
castor_
Hi! It's very great work indeed. Though I think it would be better, music
theory-wise, not to mistake F for E#. For example, when I run the Chord Heaven
with C# as the root, it gives C# F G#, instead of C# E# G#. Even if the
frequencies of the notes are the same (in equal temperament, obviously), it
doesn't convey the same harmonic meaning.

~~~
seanitzel
I'm looking into ways to improve the pitch spelling algorithm, which is a
really complicated thing...

------
d-d
I'm getting a blank white page on Firefox.

~~~
djaychela
Works fine for me on Firefox - 69.0.1 on macOS 10.14.

------
jihadjihad
Looks great! I'll throw this out here as well since I also saw it on HN a
while ago, I use it all the time:
[http://guitardashboard.com/](http://guitardashboard.com/)

------
tantalor
Bug: In guitar mode I only hear 2 tones for 3-tone chords (expected 3 tones).

~~~
seanitzel
Check the octave you are on, there is no C2 note on a guitar...

The app has been tested thoroughly :)

~~~
tantalor
Yep was in C2.

Not a guitar player, but I think you can tune a guitar to play that note.

No amount of testing will protect against incorrect design.

~~~
fenwick67
Not sure why you're being downvoted, drop-C tuning is a real thing people do
(which would bring you down to C2):

[https://en.m.wikipedia.org/wiki/Drop_C_tuning](https://en.m.wikipedia.org/wiki/Drop_C_tuning)

~~~
seanitzel
It might be a real thing, but it's still not a bug.

it's a feature that i will definitely look into adding.

------
craigr1972
Fantastic post, comments and further links!

------
simmer
Excited to try this buuuut... on iOS, there's grey touch-blocking overlay over
the entire interface with no way to dismiss it.

~~~
seanitzel
Also, it's a pwa so you can install it as a standalone app and use it offline
etc :)

~~~
simmer
Same issue present when used as standalone.

------
sixstringtheory
Can’t wait to play with the progressions. It’s an area I’ve been looking to
improve for some time, thanks!

~~~
seanitzel
You're welcome!

------
fuzzfactor
This is a completely blank page using the Tor browser in Tails Linux.

------
cwilby
THANK YOU. I've been passively searching for something like this for years.

~~~
seanitzel
So glad to hear!

------
tylerscott
This is a wonderful app. Also kudos for the Note-Art lib.

~~~
seanitzel
Thank you! :)

------
tanseydavid
Thanks for this.

~~~
seanitzel
Your'e welcome!

