Hacker News new | past | comments | ask | show | jobs | submit login
Show HN: Scale Heaven – Browse and play any scale/chord, chord progression (scale-heaven.com)
231 points by seanitzel on Oct 3, 2019 | hide | past | favorite | 61 comments



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


It's actually weird because the search option also searches through the aliases of scales, so those aliases might not be present in my database...


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.


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


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), 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.


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 :)


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! :-)


Thank you!

And added to the to do list :)



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.


Good point, added to to do list :)


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


Wow, thats fedinitely too long!

Ill check it out :)


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/2475

https://ianring.com/musictheory/scales/traditions/exoticisms

2. "Modal Jazz Composition and Harmony" by Ron Miller: https://archive.org/stream/BooksOnMusicTheoryHarmonyCounterp...

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


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!


Thanks for the feedback!

- Yes, im indded using the web audio api, which is unfortunately problematic...

- Your settings are saved so you will have to switch only once, but actually i really might consider default to it.

- I'll add a one time payment option :)

I'm so glad to hear that, i really put my heart and soul into it!


> 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/

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?


I'll look into it, thank you.

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


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.


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


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"


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.


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


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 :-)


Haha i understand :)


By "min 3rd" you mean "minor 3rd", that is, an interval with 3 semitones?

E.g., an example of a minor 3rd would be an A and the first C above that A? E.g., on violin could play the A the first A on the D string and the C the first C on A string?


Yes, my preferred way of looking at chords is superimposed intervals. The four chord qualities (major, minor, augmented, diminished) are built like:

- Diminished: Minor Third + Minor Third

- Minor: Minor 3rd + Major Third

- Major: Major 3rd + Minor Third

- Augmented: Major Third + Major Third

With the intervals being between the tonic and third, third and fifth. So for your example, that would be A, C, Eb as a diminished triad.


Even though i was careful with chord naming ill look into it, and about the feature request - expect it in a future update :)


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...


You might like http://guitardashboard.com/ as well!


Thanks, that looks awesome!


Ofcourse, expect it in a future update!


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.


Taken, will be changed :)


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.


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


I'm getting a blank white page on Firefox.


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


Best to use chrome.


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/


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


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

The app has been tested thoroughly :)


Bass Guitar standard tuning goes to E1...


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.


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


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

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


Yea that is possible, but i dont understand what does the last sentence contribute.

None the less, i will try to add those lower notes(which is way more complicated than it sounds for various reasons).


Fantastic post, comments and further links!


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


This happened to me on Chrome in Linux. I turned off my adblock and the grey overlay went away.


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


Same issue present when used as standalone.


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


You're welcome!


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


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


So glad to hear!


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


Thank you! :)


Thanks for this.


Your'e welcome!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: