News for hackers. Stuff that matters.
Re:Show HN: I made a MIDI tool to teach me piano by klodolph on Friday July 08, 2022 @10:01PM (#32030593)
Do note that you can’t detect bad technique over MIDI. Fingering, which finger goes over or under which other finger, posture, the angle you hold your hand, etc.

If you can afford it, take some lessons in-person!

Re:Show HN: I made a MIDI tool to teach me piano by loxias on Friday July 08, 2022 @10:36PM (#32030893)
Seconding this.

I wrote a similar tool to help my friend practice piano (being a software person who dabbles in music, seemed like a reasonable idea).

To make sure I was "barking up the right tree" (metaphorically), I also shadowed her for a few piano lessons from a professional. Boy was I wrong!!

It's not that teaching/improving technique via app would be impossible, more that the things involved were completely not what I expected. Lots of stuff having to do with curling her fingers the right way, "don't use that finger, use this other one", "You'll have an easier time if you X instead of Y" &c &c &c.

I still want to someday make a tool to help self-train at piano, but now I realize it's gonna involve a lot of computer vision, rigid body dynamics, and a whole mess of stuff.

Re:Show HN: I made a MIDI tool to teach me piano by xhevahir on Saturday July 09, 2022 @02:05AM (#32032301)
The fingering question is being researched in ML. One such project is linked here: http://eita-nakamura.github.io/
Re:Show HN: I made a MIDI tool to teach me piano by loxias on Saturday July 09, 2022 @03:11AM (#32032643)
WOW THANKS.

Er, uh, I mean, thanks for that link! I have a DSP (audio and MIR specifically) background and... (huge paragraph removed)

I'll just say thanks again.

(and your GLASSTONE submission, 6 years ago, is also the sort of link I enjoy)

Re:Show HN: I made a MIDI tool to teach me piano by FinalDestiny on Friday July 08, 2022 @10:48PM (#32030998)
Agree with both of y'all. It was a mistake to say I'm learning the piano with this tool!

I typically use https://www.basicmusictheory.com/c-major-scale to look up scales when I forget. For me this is going to be a quicker & more fun reference manual

Re:Show HN: I made a MIDI tool to teach me piano by loxias on Friday July 08, 2022 @11:07PM (#32031157)
Er..I should have also added something like:

All that being said, don't sell your self short. You made a cool tool that makes your process easier and you deserve to be proud of that. :)

Just.. don't fall into the very common trap of thinking "I can build a machine that'll entirely replace $X!" ;-) We can build machines that make $X easier, and easier, and easier but eventually you want a human being there to direct things ;-)

This isn't a diss at ALL, and, full disclosure, I once instrumented a tennis racket ("What if there was a tennis racket that improved your tennis?") and recently started dabbling with the idea of using webcams to teach myself yoga. Note that I know nothing about either tennis or yoga. :)

Edit: Holy crap OP, you know how to SHIP! Impressive home page. I salute you.

Re:Show HN: I made a MIDI tool to teach me piano by djmips on Saturday July 09, 2022 @02:27AM (#32032425)
It's been pointed out here a few times that piano keyboards depicted in User interfaces are mostly wrong. The common mistake is not having the key widths at the top be the same width. Just check out a real keyboard.

see https://news.ycombinator.com/item?id=29941801#29943285

Re:Show HN: I made a MIDI tool to teach me piano by FinalDestiny on Friday July 08, 2022 @09:12PM (#32030245)
It's built using Tauri + React and uses midir to handle the MIDI so it's completely cross-platform. Hope y'all find it useful
Re:Show HN: I made a MIDI tool to teach me piano by sabellito on Friday July 08, 2022 @10:11PM (#32030674)
Great project, I'm building something similar but for EWI, I'll probably use your approach to some aspects.

Question: wouldn't using the Web MIDI api work cross-platform as well?

Re:Show HN: I made a MIDI tool to teach me piano by FinalDestiny on Friday July 08, 2022 @10:28PM (#32030818)
https://caniuse.com/?search=midi

It depends on the browser support I think. Luckily I bypassed all that with midir. The MIDI events are emitted to React from Rust: https://github.com/ZaneH/piano-trainer/blob/6cbc15df3f529d86...

Re:Show HN: I made a MIDI tool to teach me piano by sabellito on Friday July 08, 2022 @10:57PM (#32031088)
Indeed Web MIDI doesn't work on Firefox, for example. But I was under the impression that the webviews Tauri uses are all chromium based.

Regardless, it was just curiosity on my part - the approach you chose not only is cross-platform now, but also future proof.

Re:Show HN: I made a MIDI tool to teach me piano by FinalDestiny on Friday July 08, 2022 @11:03PM (#32031133)
Hopefully! I haven't done the tests but I think you're right. It would support WebMIDI out of the box and you could use webmidi or some other framework on top of it
Re:Show HN: I made a MIDI tool to teach me piano by Quitsmokin on Friday July 08, 2022 @09:27PM (#32030352)
I just got a new synthesizer and this will help practice on a small scale length, nice job!
Re:Show HN: I made a MIDI tool to teach me piano by FinalDestiny on Friday July 08, 2022 @09:30PM (#32030373)
Thank you! I make beats so I typically only use one or two octaves as well. Love the synths. Which kind?
Re:Show HN: I made a MIDI tool to teach me piano by acomjean on Friday July 08, 2022 @10:44PM (#32030959)
I have a Tini midi controller. It’s only a couple octaves but has 8 finger drumming pads. I like those for my limited beat making ability. It’s an akai and it’s was pretty cheap and pretty fun. I use it more than my full size keyboard which doesn’t fit on my desk…

I often wondered how well those keyboard with light up keys work for learning…

Re:Show HN: I made a MIDI tool to teach me piano by alfiedotwtf on Friday July 08, 2022 @09:33PM (#32030397)
Details on the new synth? Just curious...
Re:Show HN: I made a MIDI tool to teach me piano by Quitsmokin on Friday July 08, 2022 @10:14PM (#32030697)
Finally pulled the trigger on the op-1 and am loving it hence this is actually perfect for me
Re:Show HN: I made a MIDI tool to teach me piano by loxias on Friday July 08, 2022 @10:44PM (#32030967)
Nice.

op-1 is such a beautiful and excellent sounding machine. i'm sure it'll bring you decades of joy.

I could never bring myself to buy one, we(now defunct music tech startup) estimated the BOM cost between $40-140, and I couldn't get over the psychological hump to pay $849 for it. That was about a decade ago and of COURSE every time I see an op-1 on a friend or coworkers desk I have to play with it for an hour or so...

Nice.

Re:Show HN: I made a MIDI tool to teach me piano by FinalDestiny on Friday July 08, 2022 @10:49PM (#32031015)
Congrats! I bought one on Amazon and returned it within 30 days. Had a blast
Re:Show HN: I made a MIDI tool to teach me piano by bluGill on Saturday July 09, 2022 @12:21AM (#32031633)
Neat, but you should really have helped a different project if possible https://github.com/pianobooster/PianoBooster attack least make.it's clear why two exists if they are different
Re:Show HN: I made a MIDI tool to teach me piano by tgv on Saturday July 09, 2022 @03:17AM (#32032680)
You can't demand anything from a random person, can you?
Re:Show HN: I made a MIDI tool to teach me piano by bluGill on Saturday July 09, 2022 @07:52AM (#32034164)
No, but I can give advice... the open source world has a lot of half backed abandonware programs that almost do something useful. Improving one instead of starting from scratch isn't as sexy but will make the world better in the end.
Re:Show HN: I made a MIDI tool to teach me piano by mdp2021 on Saturday July 09, 2022 @03:21AM (#32032696)
Great! I think the good companion "GNU Solfege" should be mentioned, for those who do not know it.
Re:Show HN: I made a MIDI tool to teach me piano by todotask on Friday July 08, 2022 @10:25PM (#32030790)
I had built a notation and MIDI keyboard entire from scratch and hook up to MIDI keyboard. Until, I discovered Nobuyuki Tsujii’s talent.
Re:Show HN: I made a MIDI tool to teach me piano by chris_st on Friday July 08, 2022 @09:12PM (#32030247)
Looks interesting! Might be nice to have some basic songs to learn.
Re:Show HN: I made a MIDI tool to teach me piano by cdong on Friday July 08, 2022 @09:17PM (#32030281)
Nice, played around the app it was super interesting and fun
Re:Show HN: I made a MIDI tool to teach me piano by jacquesm on Saturday July 09, 2022 @03:06AM (#32032616)
Very neat! I love software like this.
Re:Show HN: I made a MIDI tool to teach me piano by nostromo177 on Friday July 08, 2022 @09:06PM (#32030213)
Why not get a piano and practice scales?
Re:Show HN: I made a MIDI tool to teach me piano by FinalDestiny on Friday July 08, 2022 @09:09PM (#32030232)
It supports MIDI pianos if you've got one

And the program helps you memorize & practice scales, fifths and chords

I'm also using it as a reference sheet

Re:Show HN: I made a MIDI tool to teach me piano by jimbob45 on Friday July 08, 2022 @10:16PM (#32030711)
Scales are useless. I’ve been playing 20+ years and just figured out the scales I needed for the parts they were required on when they came up.

You might as well practice implementing data structures as a beginner. You’ll burn out long before you’ve built anything interesting or useful.

Re:Show HN: I made a MIDI tool to teach me piano by zarzavat on Friday July 08, 2022 @11:28PM (#32031298)
The main benefit of scales is to learn common fingerings. Most music is made from scales, so practicing scales in isolation will bake in the correct fingerings for many common sequences of notes. It will also mean that you have exposure to "odd" keys, which makes you a more rounded player.

Once you get to a certain level of proficiency, you can just "hear" scales and you don't need to practice them any more (aside from for warmups and physical training). However beginners don't have the advantage of this ability.

Re:Show HN: I made a MIDI tool to teach me piano by yesenadam on Saturday July 09, 2022 @05:58AM (#32033498)
Jazz pianist here, I also strongly disagree that scales are useless. I had 90 minute classical piano lessons once a week from 6 years old to 16, 30 minutes of that learning scales, which in later years includes contrary motion, arpeggios etc. I'm so grateful my teacher put in the time! I practised them every day until my 30s. There's nothing better for feeling where in your hand you're rusty, always trying to make them sound as musical and even as possible. Also when you do them regularly, you can feel when certain hand movements are more difficult or rougher than usual - they're the best way of knowing exactly where you're at physically.

Not sure what you mean "you can just 'hear' scales". "You don't need to practice them any more"...except for the main reason you play them, for "warmups and physical training"? i.e. you do need to practice them. Or at least, they're the best thing to practise, I've found.

The first few years, they're so your fingers naturally play good fingerings on most things without having to think about it, and finger muscle training. After that, they're for, I guess, warming up and what I'd call more maintaining and recovering peak muscle condition than "training". 5 minutes of very fast, musical-as-possible scales and unless in peak form, your arms are falling off with muscle fatigue hehe.

Also I went through Liszt's book once and wrote down the exercises I found the most difficult, and practiced them for years. Also learnt Ravel's LH Concerto to strengthen my left hand.. But scales always.

Re:Show HN: I made a MIDI tool to teach me piano by zarzavat on Saturday July 09, 2022 @11:41AM (#32036068)
> Not sure what you mean "you can just 'hear' scales". "You don't need to practice them any more"...except for the main reason you play them, for "warmups and physical training"? i.e. you do need to practice them. Or at least, they're the best thing to practise, I've found.

Beginners will learn the "D major" scale or a "E harmonic minor" as separate units.

Whereas advanced players have the hand-ear coordination to think of "a major scale" as being a 'sound' (intervalic sequence) that can be transposed to any key. For me, it's much more important to be able to sing a particular scale pattern, once I can sing it then I can play it on any instrument that I have proficiency at.

For physicality/warmups, the kinds of scales that I like to practice are symmetric scales (e.g. chromatic, diminished, wholetone, etc). When practicing scales for physicality it's especially beneficial to use the metronome.

Re:Show HN: I made a MIDI tool to teach me piano by bloolizard on Friday July 08, 2022 @09:37PM (#32030435)
nice, will give it a try!