
Show HN: Note Kitchen – Learn piano chords and scales - OzzyB
http://note.kitchen
======
saebekassebil
Looks really nice and it's fun to play around with. Maybe a control for
inversing the chords would be fun? That would mean support for chords like
A7/c# and maybe also closer chord voicings.

I should also add that the app became much more fun when I accidentally read
the "Help" menu and became aware of "play" and "root" \- maybe that
information should be a bit more visible?

I'm interested in what if any library you've used for the theory - did you
just built one yourself? You could take a look at
teoria([https://github.com/saebekassebil/teoria](https://github.com/saebekassebil/teoria))
which is a by now pretty seasoned music theory library in js, with a chord
parser included.

EDIT: (PS: Also add9 add11 chords would be nice)

~~~
nebspetrovic
Thanks! Chord inversion is definitely on my todo list.

Your point about the help page is really good, I'm going to figure out a
better way to introduce the feature to new users. I was primarily thinking of
users coming in via my YouTube channel in which I made a tutorial video, but I
hadn't really thought about organic traffic.

For the theory I just wrote it myself, you can check it out here:
[https://github.com/nebs/notekitchen](https://github.com/nebs/notekitchen)

Feel free to submit a PR if you find any bugs or inefficiencies.

I'll check out Teoria, haven't heard of it before.

------
s_m
Very cool! Relatedly, I made something to help me come up with chord
progressions. It's hooked up to Web Audio and Web MIDI, so it can either play
the sounds in-browser or in my DAW. Please feel free to take a look and steal
code ideas.

app: [https://chord-progression-helper.glitch.me/](https://chord-progression-
helper.glitch.me/)

src: [https://glitch.com/edit/#!/chord-progression-
helper](https://glitch.com/edit/#!/chord-progression-helper)

~~~
nebspetrovic
Thanks I'll check that out.

------
JDevlieghere
In addition to what everyone else has said, something I'd find really useful
would be going in the other direction. Just mark some keys and it tells you
what chord you're playing.

~~~
nebspetrovic
Thanks for the feature request! I've had this feature request many time, it's
on my list. But like UncleMeat said, it's a bit trickier because there isn't a
1-1 mapping. So I'll have to find some elegant UI pattern for this. I want to
keep Note Kitchen very minimal and simple so I have to be careful about too
many menus and buttons, etc.

------
allannienhuis
it looks like I can click on the tiny keyboard, but nothing happens when I do,
other than the color changing. I'm really not sure what I'm supposed to do
with this, or how it will help me learn chords and scales.

~~~
foobar1962
I don't understand the praise it's getting.

If I'm shown a keyboard I expect to click it and make sound (thanks, MYST).
This does nothing.

The only instructions "e.g. Cm7b5" means nothing to me. I can only assume its
target market is the people that understand whatever this notation is, in
which case they don't need to learn.

FAIL.

~~~
swsieber
That's rather dismissive. I'd say if you don't understand the praise, you
aren't the target audience, not that it's a terrible product.

I don't know/play piano. I know the basic music theory behind the notation. I
think this tool is great.

This tool appears to be aimed at piano noobs with some music background.

------
porjo
Great! Some suggestions for improvement: \- make the keyboard bigger on screen
\- put a play button on screen \- allow the whole chord to be played at once
aswell as arpeggiated \- allow chord inversions (left/right key?)

~~~
nebspetrovic
Great suggestions thanks! I'm writing this down.

------
nebspetrovic
(I'm the author of Note Kitchen)

Thanks everyone for all the great feedback! I've written everything down. I
totally agree that the UI isn't very intuitive for first time user. So I will
find a way to make the first time UX a little more pleasant.

My philosophy for this app is to keep it very minimal. Although I may have
gotten too far down this path lol.

In the mean time here's a YouTube video that explains all the features:
[https://youtu.be/LFVomixflio](https://youtu.be/LFVomixflio)

Also if you want to check out the code:
[https://github.com/nebs/notekitchen](https://github.com/nebs/notekitchen)

Feel free to submit PRs. Web development isn't my strong suit so if you notice
anything weird in there let me know!

Thanks again for checking out Note Kitchen and provided all the great feedback
and suggestions!

------
farktronix
This is great, but it doesn't recognize key names in lowercase. The first
thing I typed was the example, but I didn't capitalize the 'C' and nothing
appeared for 'cm7b5'

~~~
SwellJoe
I wouldn't expect it to work with lowercase...if the flat indicator is 'b',
it'd be a little tricky to parse something like "c9/bb". (And by "tricky to
parse", I mean for both humans and computers.)

Edit: And, while we're at it, some jazz charts use "M" to indicate major and
"m" to indicate minor, so your example is ambiguous.

------
itsbonczek
Shameless plug: I built something similar awhile back as an excuse to learn
the basics of React [http://chordial.us/](http://chordial.us/).

~~~
memset
Neat!

Just one piece of feedback - for your diminished chord, you spell C dim as C,
Eb, F#. Technically this should be C, Eb, Gb. This is because the definition
of a diminished is two minor thirds, and the way you have it spelled is a
minor third followed by an augmented second. While these are enharmonically
the same, from a theory perspective, the spelling is not correct!

Otherwise really neat!

~~~
itsbonczek
This is really great feedback, thanks! The chord generator I wrote currently
treats F# and Gb (and the other enharmonically similar notes) as
interchangeable, when clearly it shouldn't. Now I have a good excuse to
revisit this code on a future rainy day. Hopefully I left myself some good
comments...

------
intrasight
Does absolutely nothing on my computer except alternate between two color
schemes.

~~~
DonaldFisk
You need to type the name of a chord, e.g. Cm, and it will show you the notes
that make up the chord on the keyboard.

------
agildehaus
This didn't really teach me piano chords and scales. It seems like you should
already know a thing or two about them to use it.

------
sarreph
Lovely UI...

I'm interested to know what DB you used for searching chords? I tried to
create something similar in React with MIDI support a while back but couldn't
get the library (unfortunately, its name I've forgotten) I was working with to
play ball with some of the _tastier_ chord combos :)

~~~
wrs
You don't need to search a DB for chords. It's a purely mechanical process to
generate the notes from the symbol.

------
SwellJoe
Minor bug: "C6add9" includes an extraneous dominant 7, when it should just be
13569.

------
meatbags
Neat! Would be cool if you could also reverse the input, generate the chords
from selecting the keys. Also, it would be nice to hear the chord being played
(a library like MIDI-js would suffice).

~~~
anamexis
Note - I got bit by MIDIjs including Coinhive cryptocurrency mining scripts.

At the time (a few months ago), they had no mention of this on their website,
so it took me quite by surprise. I see they have since added a disclaimer and
are selling a "pro" version without this.

------
ekglimmer
This is really neat. Would love to see a version for guitar as well, but would
be a little more difficult to display I imagine.

~~~
bazzargh
Not that hard. I wrote a thing... jeez... 20 odd years ago
[https://ctan.org/tex-archive/support/pstab?lang=en](https://ctan.org/tex-
archive/support/pstab?lang=en) ... which let you typeset guitar tablature,
chords, and so on.

I expect you really mean: find a way to play a given chord without breaking
your fingers, but when playing classical guitar you'll move your hand while
playing arpeggios, so you're not constrained to just positions you can strum.
You can solve for that, it's just not that useful.

The code's a bit embarrassing, the only program of any size I wrote in
postscript - at the time it seemed the best way to 'write once, run anywhere
useful' given the 286's, mac classics, and Sparc 2's I had access to; it ran
on on the office Laserwriter.

Best thing about writing it is, I got a letter from a guy who used it to
publish a book of banjo music in new zealand, because it was the only thing he
could find at the time that handled 5 stringed instruments.

------
swamy_g
It'd be nice if the piano is bigger and can actually make sounds of the
chords.

------
david90
Nice job! It'd be even better to play the chord with sound

------
dave84
Huh, it has the modes in there too. Nice little tool.

~~~
rosstex
How do you input a mode?

~~~
dave84
Just type the name of it, like “C Dorian”

------
kthejoker2
Doesn't seem to work on Chrome mobile.

