Live data from Hacker News

Pianojacq, an easy way to learn to play the piano

jacquesmattheij.com

81–90 of 179 posts

Re: Pianojacq, an easy way to learn to play the piano

#81

Earlier quoted context omitted.

> MIDI files do not take into account stuff like key, time signature, etc. They actually do. What they don't take into account is whether a particular black key is a sharp or a flat, and this causes all kinds of headaches. https://en.wikipedia.org/wiki/Enharmonic

I stand corrected. Enharmonic stuff has to be a nightmare.

That's putting it mildly, but I'm slowly getting more grip on it, fortunately a lot of people far smarter than me have spent a lot of time on this problem and bit by bit I'm implementing their thoughts into software.

Re: Pianojacq, an easy way to learn to play the piano

#82

Had nearly the same idea for the exact same reasons, but wanted it to work on an iPad. Safari has no WebMIDI, so I ended up using WebAudio paired with pitch detection by consensus instead. Here's the result - https://github.com/apankrat/note-detector It's not without issues still, but tends to do a reasonably good job at what it aims to do.

Oh, neat! That's very nice, we were actually discussing doing this the other day using FFTs to make it work with real pianos that do not have a silent option installed.

Thanks, yours is very nice too :)

For what it's worth, the auto-correlation route is simpler and more reliable. FFT alone is not enough, because the spectrum tends to be rather ambiguous. There's still a pattern to it for every note played, so it should be possible to deduce a note with a neural net. But I just didn't have time for that, maybe later.

PS. Give my thingy a try if you have a moment. I'm curious if it actually works with any pianos other than mine.

Re: Pianojacq, an easy way to learn to play the piano

#83

Earlier quoted context omitted.

Oh, neat! That's very nice, we were actually discussing doing this the other day using FFTs to make it work with real pianos that do not have a silent option installed.

Thanks, yours is very nice too :) For what it's worth, the auto-correlation route is simpler and more reliable. FFT alone is not enough, because the spectrum tends to be rather ambiguous. There's still a pattern to it for every note played, so it should be possible to deduce a note with a neural net. But I just didn't have time for that, maybe later. PS. Give my thingy a try if you have a moment. I'm curious if it ac…

Yes, I know about the auto correlation trick, especially on the low end of the spectrum. I wrote an MP3->midi convertor that is very fast and does not use the GPU or any kind of deep learning, it also gives results that a year ago were SOTA but in the meantime have been passed by deep learning based techniques.

I will definitely use your software. What would be great is to have a 'virtual midi device'. If it works well enough are you open to licensing it? We will sooner or later hit this problem and such a component would make our lives a lot easier, it would also allow me to practice on my real piano using the software, which if I didn't want to play the piano I'd give my left arm for.

On another note: when you know what should be played it is actually easier: you only need to output a '1' or a '0', what is played is what is expected vs what is played is not what is expected.

This may be a simpler problem to solve, and in that context it might even be able to detect chords.

Re: Pianojacq, an easy way to learn to play the piano

#84
post #79

This will not teach you to play piano. It will teach you how to play beginner piano badly, and then will create intense confusion if you try to learn harder pieces because you will not have learned basic finger techniques - which include counter-intuitive finger-over/under moves and unexpected hand position changes that anticipate what you need to play next. Piano sheet music includes these finger position hints. Unf…

Are you gatekeeping music?

Hey, that is the usual answer to "it's really hard to learn how to do something" here: music, programming, occasionally medicine.

It's true, getting very good is a great deal of work. But, you don't have to be a virtuoso to get some benefits. An app won't teach you to play well enough to give a concert at Carnegie Hall. But, statistically speaking, you aren't going to play Carnegie Hall at all.

Re: Pianojacq, an easy way to learn to play the piano

#85
post #75

I can imagine this being really useful for improving sight-reading. However, for me what made piano a whole lot more fun was ditching the sheet music and opting to learn about chords, all the different ways to voice them, and the various scales that fit well on top of them. I started taking lessons with a pro jazz pianist (instead of a more typical classically-focused piano teacher), I gave up on sheet music altogeth…

Interesting track, there are a number of pianists (very good ones) that went that route. Keith Jarrett for instance, and Friedrich Gulda.

Keith Jarrett is one of my piano heroes :)

The conventional way of learning piano has a student learning sheet-music pieces that get increasingly difficult as the student improves. It's a fairly linear path, and the vast majority of students will never be able to play a difficult piece like, say, Chopin's Fantaisie Impromptu, as well as a top performer.

Similarly the vast majority of students going the chords/voicings/improvisation route will never be able to play Over The Rainbow as well as Keith Jarrett, but they can at least have the satisfaction and enjoyment of doing it in their own unique way.

Composing your own music takes it a step further again.

Re: Pianojacq, an easy way to learn to play the piano

#86
post #59

Earlier quoted context omitted.

I'm learning as an adult. My piano teacher keeps stressing musicality, feeling the music, feeling the beat, everything like that is more important than technique.

The interesting thing for me is that this software taught me more about chords, beats, timing and so on than any of the teachers that I've had over the years because it is endlessly patient.

I guess. The teacher is the guide, to give direction, not to sit through the exercises you need to do with you.

Re: Pianojacq, an easy way to learn to play the piano

#87

Earlier quoted context omitted.

I stand corrected. Enharmonic stuff has to be a nightmare.

That's putting it mildly, but I'm slowly getting more grip on it, fortunately a lot of people far smarter than me have spent a lot of time on this problem and bit by bit I'm implementing their thoughts into software.

A fun example is this bar from Liebenstraum no 3, https://imgur.com/a/ud1VlJF

It's the second bar on, the left hand goes A F# B# D# B# F# - Aflat F# C Eflat C F#

Only the first note has actually changed though.

Enharmonics in the same bar for the same pattern. I suppose there's some musicological explanation for this, maybe something along the lines of working towards a key change, but good luck intuiting this in software...

Re: Pianojacq, an easy way to learn to play the piano

#88
post #75

I can imagine this being really useful for improving sight-reading. However, for me what made piano a whole lot more fun was ditching the sheet music and opting to learn about chords, all the different ways to voice them, and the various scales that fit well on top of them. I started taking lessons with a pro jazz pianist (instead of a more typical classically-focused piano teacher), I gave up on sheet music altogeth…

> "I gave up on sheet music altogether and started working off lead sheets instead..."

I've not taken the plunge yet, but I was convinced this was the way to learn by Scott the Piano guy infomercial on TV. https://youtu.be/k50uk8elR0M

Some day...

Re: Pianojacq, an easy way to learn to play the piano

#89
post #62

Earlier quoted context omitted.

> There's nothing wrong with the idea of gameifying piano I wonder whether that's actually true. Or maybe it depends on what level you're trying to achieve. If you want to become a good piano player, the feedback mechanism that corrects your playing should actually come from listening yourself. A large part of the challenge in becoming a good player is figuring out what to listen for -- this is also why you need a te…

There was a lot of work done to the the timing as accurate as the chosen environment (the browser) allows and the grading takes into account both what you play as well as when you play it. There are more dimensions to add still: note release point and the volume at which the note is played. I think the software actually helps you to spot subtle errors quite quickly, but you'd have to try it to see for yourself.

FWIW both release point and volume are available to the software (MIDI includes strength/velocity of keypresses, vibrato, and release events)

Re: Pianojacq, an easy way to learn to play the piano

#90
post #75

I can imagine this being really useful for improving sight-reading. However, for me what made piano a whole lot more fun was ditching the sheet music and opting to learn about chords, all the different ways to voice them, and the various scales that fit well on top of them. I started taking lessons with a pro jazz pianist (instead of a more typical classically-focused piano teacher), I gave up on sheet music altogeth…

> "I gave up on sheet music altogether and started working off lead sheets instead..." I've not taken the plunge yet, but I was convinced this was the way to learn by Scott the Piano guy infomercial on TV. https://youtu.be/k50uk8elR0M Some day...

I've not tried anything of his myself, but Facebook keeps showing me his ads and it looks good. Good luck with it!
Post reply on HN