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!
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.
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.
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.
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
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…
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...
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
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.
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.
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.
> 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.
If you can afford it, take some lessons in-person!