14 ms·
Pianojacq, an easy way to learn to play the piano
- weinzierl 6y agoI had the opportunity to beta test it and while it still has rough edges my daughter and me had a lot of fun with it. Everyone learns differently but in my experience direct feedback is often such a boost in learning speed and efficiency that I wish there were more applications like this. Also the attitude towards user privacy is highly appreciated.
- block_dagger 6y agoI enjoyed PianoMarvel
- tgb 6y agoI used that too for ~6 months some years back and definitely got something out of it, though it was imperfect. There's too much lag in any such MIDI system for it to truly correct your timing and PianoMarvel doesn't even attempt to judge your volume or the duration of notes, if I remember correctly. But it gives you a reasonable progression of pieces from easy to harder and forces you to actually play them. Also some scores were poorly typeset, particularly things like trills. Overall, it helped me improve my ability to read sheet music fluently, which is what I primarily wanted out of it. I learned more with a teacher, of course.
- jacquesm 6y agoTrills and decoration in general (rolled chords) for instance are another area where anything midi based will fare poorly, because the 1:1 correspondence between note-heads and keys played is lost. We intend to try to reverse engineer such decorations and to show them properly. With trills and such it can be quite hard because it is perfectly possible to write out the same sequence, a trill is essentially a macro that expands to some number of notes (and some trills can be quite complex, for instance the first few bars of Partita 1 by JS Bach will throw you for a loop if you listen to them and then look at the score).
- mattstudio 6y agoYou may want to check out https://synthesiagame.com/ https://synthesiagame.com/ which is a commercial product that does the same thing. You don’t have to use the guitar hero style of notes, you can turn on proper sheet music.
- deleted 6y ago[deleted]
- ainiriand 6y agoI find it really bad taste to promote something this way. So a developer comes here to tell his story and open his mind a little about a great tool he developed and this is the only thing you have to say?
- Tokelin 6y agoIt is relevant to the discussion. I agree the tone and content could be a bit different, but then so can yours.
- williamdclt 6y agoI think you're being harsh, It was in no way a critique of PianoJacq and I personally appreciate getting an overview of what similar things are out there that I could also be interested in and how they relate
- weinzierl 6y agoSynthesisa is awesome. I think it is not a direct competition to pianojacq because while similar in some ways it is different in many ways too. murbard summarized some differences in another comment better than I could. In my opinion the two apps and a piano teacher complement each other.
- person_of_color 6y agoThere’s a cottage industry of piano learning apps, and an equivalent amount of people getting frustrated at the lack of progress and quitting
- jacquesm 6y agoThat's why we spent quite a bit of time on making interesting metrics that show your progress over time, even if it is small per increment the overall effect is substantial.
- drran 6y agoI had good experience with Android app made by soft²cat, but it long gone. Unlike other guitar-hero like apps, it waits for the note to be pressed, so I cannot miss it, and the app discards the note when I press the note earlier. It allows me to play melodies at my own tempo: slower or faster than the original, which is much easier for me.
- jacquesm 6y agoThe rate at which piano teaching apps come and go was one of the factors in our decision to ensure that the app would also work 'stand alone', it's just straight javascript and will work from a zip file taken from the repository. Just unzip and play, no toolchain required.
- person_of_color 6y agoSearch piano on iOS! It's depressing.
- jacquesm 6y agoWe purposefully chose not to make 'an app' right now but to work in the browser, this gives us a different form factor to play with and some pretty powerful tools to get to the point where we really understand the space well enough to make a move. Think of the present project as a study, a way to have a zero-tooling set-up that allows us to work on this without having to worry about platforms and other fast moving targets. The idea is to first make it work very well and to address all of the valid concerns raised in this thread (of which we for the most part were already aware, but HN wouldn't be HN without its brutal reception of any piece of work). Then when it is bullet proof against such criticism it can be launched to a much larger audience.
- murbard2 6y agoIt's funny, I've had almost the same experience: decided to start playing again during Covid, and wanted to use the midi port to gamify things a bit. I've been using Synthesia[1] on an iPad, which also lets you take an arbitrary MIDI file and practice it. On the off-chance that this will inspire the article's author for their development, or simply for the curious, this has been my experience with it: The primary mode of display is "Guitar Hero" style (it's hard to describe just look at this video to get an idea[2]) but it's possible to display the sheet music. It lets you practice and grades you depending on how close you're sticking to the score. It's very nice to be able to practice one hand separately while having the app play the other hand. I do fairly well reading sheet music but the first time deciphering it can be a bit tedious, using the app speeds this up considerably for me. Synthesia is almost great but it has a lot of small shortcomings which add up to a bad user experience, for example: - The conversion from MIDI to a readable score is very poor compared to, say, Musescore. The sharps and flats are generally off (e.g. randomly a double flat D will appear instead of a C, even though the score has a C, Musescore interprets the midi as a C, etc). - Not enough wiggle room when playing, e.g. if a chord is not arpeggiated in the midi file, you won't be able to move forward by arpeggiating. - The app really depends on you following the score exactly and linearly. It should also let the score follow you. For example, if you're playing at a given pace, miss, stop and repeat a bar, the app should detect that automatically instead of just carrying on expecting you to keep playing. [1] https://synthesiagame.com/ https://synthesiagame.com/ [2] https://www.youtube.com/watch?v=sleZ-hzrtRY https://www.youtube.com/watch?v=sleZ-hzrtRY
- microcolonel 6y agoAside from the relatively difficult problem of creating scores from MIDI; when practicing piano as a beginner it'd be interesting to have help in positioning/finger selection. I wonder how hard it would be to compute fingering plans (maybe even with a wingspan parameter).
- jacquesm 6y agoWe are working very hard on solving this in a very interesting and beautiful way. Stay tuned.
- jl2718 6y agoI did a lot of tab in my youth, but got nowhere with it; I think because I didn’t understand theory like chords, scales etc, and when exposed, I never recognized them. Ear players seem to be able to chord along to just about anything and then add detail until it resembles the original. There must be some way to help the learner recognize the theory while teaching rote.
- jacquesm 6y agoThis is something that is very high on my wishlist, what I would like to do (and some of the code is already in the project) is to detect chords as they are played and annotate them. But because there are a lot of ways to express the same chord this is not so simple. Work in progress!
- nitrogen 6y agoI once wanted to build something like a graph of chord transitions from thousands of different songs, with weights based on how often that transition occurs in a genre given the previous N chords. Maybe something like that would help with giving chords natural names for their context?
- jacquesm 6y agoYes, that is one avenue. I made a - hopefully exhaustive - list of chords the other day and I was surprised at how much I did not know. The next step is to analyze my midi file collection to see what kind of graph can be constructed and how the edges can be annotated. It's a very interesting problem. And in a way that is why I love this project: it combines both of the things I love.
- kzrdude 6y agoDo you mean guitar tabs? (By "tab")? Seeing the music theory and logic behinds chords and scales is a lot easier with keyboard instruments.
- drchopchop 6y agoThis may teach you to "play" piano, but the real question is whether this sort of rote memorization will really teach you how music fundamentally works. Seems a bit like re-typing Javascript programs in order to "learn" programming? Will you be able to improvise after enough of this? Play songs by ear? There are a few fundamental musical concepts that I'm not sure you easily pick up by rote memorization: * Most music is based around "chords", which have non-obvious mappings to physical keys. (They're linear intervals in frequency space, but that doesn't make it easy to realize that D/F#/A and Ab/C/Eb are two representations of essentially the same thing) * Likewise, songs can be transposed up or down without affecting their fundamental attributes. (They just sound "higher" or "lower"). However, to do that, you need to be able to shift +/- N keys which is tricky given the difficult layout of a piano. To really do this well, you need to understand the concept of scales/modes.
- jacquesm 6y agoNo, it teaches you how to read the scores pretty good actually. The 'rote memorization' can be pushed as well but that's not the goal here, the goal is to learn to read notes fast enough that you can actually play the music. (See attached video). As for improvisation and playing songs by ear: improv requires some knowledge about how music is structured, I have some ideas on showing what the underlying structure is but these have not yet been implemented, we are for now concentrating on accuracy of the rendering of the score (which is still plenty of work) and fingering. Playing by ear is mostly to have a good association between the keys and the sounds they make, this gets harder with chords. As with everything, practice makes perfect and doing this frequently seems to help me quite a bit by picking out songs by ear. So even if it isn't a direct goal of any of the modes of operation of the software it does seem to be a side effect. We will add an 'ear training' module at some point.
- drchopchop 6y agoI do like that you are showing the score, instead of doing some sort of Guitar Hero style / abstract grid. That will definitely help people that want to translate this into reading sheet music. And you may be right in that doing this enough will give you a sense of what keys make what sounds, which then can clue you into to how songs work "under the hood". Since you're rendering the score in realtime, you could let users transpose songs up and down which would really help them learn scales. Very nice project, though.
- jtwaleson 6y agoWow, thanks for creating this @jacquesm! I'm going to give this a spin tonight with my kids!
- jacquesm 6y agoHave fun! And if I can help let me know.
- jtwaleson 6y agoWorks like a charm with Linux/Chrome and my Roland HP504! Interesting that there's no hints in Chrome that anything is connected. For the product, a great next step would be a link to a suitable midi collection for beginners. The included Frere Jacques sample is very short, and the other midi's that I can find using google are two-handed right away.
- jacquesm 6y agoYes, material is our big next challenge, we really need to work on that. But I'm so happy that we got the software written as fast as we did, obviously it is built on a lot of hard work by others (Tone.js, VexFlow, Jquery, to name a few) but it was still quite a bit of work to get to this stage. The browser is a pretty hostile environment to write real time applications in. Note that you can make any piece playable with just the one hand and you can reduce the complexity of the chords to just about your level and then slowly increase it from there. That's the quickest way to get really nice result and to have fun doing it.
- TedDoesntTalk 6y ago> Unfortunately, because Mozilla is too busy improving the world instead of their browser and WebMIDI is not supported on Firefox you have to use Chrome Attention Mozilla
- rzodkiew 6y agoRegrettably it's not working on Firefox[1], but hey at least I can report wrongthink YouTube videos. [1] https://pianojacq.com/firefox.html https://pianojacq.com/firefox.html
- TedDoesntTalk 6y ago> Unfortunately, because Mozilla is too busy improving the world instead of their browser and WebMIDI is not supported on Firefox you have to use Chrome
- jacquesm 6y agoYes, very much regrettably, I now find myself using Chrome when I really would like to avoid that. But unfortunately there is no way around this right now that I've found to be reliable enough and easy enough to the point that I would advise users to go that route. Sorry. Note this 8(!) year old bug: https://bugzilla.mozilla.org/show_bug.cgi?id=836897 https://bugzilla.mozilla.org/show_bug.cgi?id=836897 It's embarrassing.
- nmy 6y ago> Mozilla is too busy improving the world instead of their browser and WebMIDI is not supported That is misleading. Mozilla chose not to implement it for security concerns. More context: https://github.com/mozilla/standards-positions/issues/58#issuecomment-462447502 https://github.com/mozilla/standards-positions/issues/58#iss...
- jacquesm 6y agoSecurity concerns that Chrome seems to be able to deal with just fine. If that's the issue then block sysex but allow the rest, the midi (v1) protocol isn't that hard. Meanwhile, there are 100's of WebMIDI capable applications now and Mozilla still claims there is no demand for a feature they do not support. That's backwards, of course a feature that you do not support is not in demand because people simply go elsewhere. The cumulative effect of a lot of little crappy decisions like this is part of why FireFox' market share eroded (the other is Google's anti competitive behavior).
- TheOtherHobbes 6y agoThis 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. Unfortunately they're not optional. It's hard to include correct fingering in the model without some kind of camera and image recognition system, or special keys and finger sensors, or something equally obscure. There's nothing wrong with the idea of gameifying piano, but it's a really hard problem to solve well. The usual result with piano teaching apps of all kinds - as someone else commented below - is kids get up to Grade 1 (maybe 2) and then hit a brick wall. The reality is that playing any instrument with non-trivial competence is really fucking hard. It takes everyone a ridiculous amount of time and effort to get good at it - even those with talent. So there's a trade off between trying to offer easy but limited success with some entertainment value, and going the whole way and doing it properly - which all but the most musical kids get very bored by, because it's such hard work.
- speedgoose 6y agoI'm an adult beginning to learn piano using Flowkey. It's criticized by the experts but I feel like it does a relatively good job at teaching basic piano finger techniques. I have no wish to become a piano expert anyway, I play music as a hobby.
- kzrdude 6y agoI'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.
- jacquesm 6y agoThe 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.
- rednum 6y agoThis seems a bit similar to Melodics[1], except open source and it actually uses the standard notation. I know how to read music and started taking classical lessons as an adult. Some time last year a friend recommended me to check out Melodics. It has 3 instruments: keys, pads (finger drumming), drums. I've played pads for few mont;hs, that was good, I've felt it improved my timing and rhythm skills quite a bit. Then I switched to keys. I didn't really like that; it felt like I'm mindlessly repeating whatever is on the screen instead of internalising music. OTOH, when playing pads it felt that something stays in my head after playing. So I guess this may be useful to some people. For me it'd be more interesting to have some sort of memory trainer - I play something on screen few times, then I replay from memory and app shows me a diff maybe? Or when I'm learning a piece, it would give me a challenge "play bars 21-25 both hands" or "play bars 19-23 left hand only". [1] https://melodics.com/ https://melodics.com/, I'm not affiliated in any way
- LegitShady 6y agofrom the last paragraph of the above link >The software is not ‘open source’, we have not yet decided on how we plan to go forward with this project in the longer term, but the code is on GitLab and if you want to see what makes it tick or suggest improvements then of course you are more than welcome to do so.
- jacquesm 6y ago> Or when I'm learning a piece, it would give me a challenge "play bars 21-25 both hands" or "play bars 19-23 left hand only". It does exactly that, pick 'auto' mode.
- DePro99 6y agoThis is just what I needed. I just bought an electric keyboard last week and have practiced with Melodics every day since (the free version, so 5 minutes every day :P), but I have some issues with things like how it just keeps going if you mess up or are too slow and the fact that it doesn't use sheet music or let you use your own music (granted, I haven't looked into the subscription version's features yet). I just opened this and spent 20 minutes trying to play 4 bars I wrote a year ago in MuseScore. I am definitely a noob at playing, hahaha. I always figured being able to play in real-time isn't of much value, but I'd like to be able to improvise and use a piano to enter notes when composing at least, and then I saw some of Lionel Yu's videos and bought a keyboard... (https://www.youtube.com/c/LionelYuPiano/videos https://www.youtube.com/c/LionelYuPiano/videos) I definitely appreciate the auto-replay, simultaneous note count limit, waiting until you hit a key (both at the start and mid-song if you're slow), and scoring.
- apankrat 6y agoHad 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 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.
- jacquesm 6y agoOh, 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.
- apankrat 6y agoThanks, 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.
- jacquesm 6y agoYes, 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.
- wazoox 6y agoThat's an interesting tool. As a former professional pianist, I'd repeat what I feel like the limitation of such a program: it does teach you note reading, which is nice, but really basic piano technique is a necessary preamble. You mentioned that your boy spent a whole day on this; with a bit of guidance, a full beginner after a few hours should be able to play this very simple melody with one hand, and to add a couple of bass notes with the other, for a much more satisfying result (for the player and for the audience). I know it because I've done it with many children in the past. So you should probably add something like some introduction material / tutorial... maybe a couple of videos.
- jacquesm 6y agoYes, this is an urgent need and recognized. We are in the process of hiring a piano teacher to help with this as well as with making the program more absolute beginner friendly. This project is a lot of work as it is today, it was made mostly to satisfy a need that I felt myself and my colleagues picked it up and ran with it so now it has some proper power behind it. We fully intend to 'stay the course' and make this a best-in-class offer but there is a long way to go before we can claim that we have achieved that. As for the satisfaction, I think you may be off the mark there, I've had enough piano education to know what that was like and Luca is having a lot more fun with this program than I ever did being taught the piano by teachers at roughly the same age.
- bromley 6y agoI 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 altogether and started working off lead sheets instead (just chord symbols and a melody line). I am so pleased I made that decision, it's so much more satisfying playing a tune in your own way rather than just aiming for a note-for-note reproduction of what is written on a sheet. I still have loads more to learn, but I'm fairly pleased with where I've got to so far. I've got a few videos on youtube so you can judge for yourself if interested: https://www.youtube.com/channel/UC_NWuVoCn-Oc1KIiHEhe7Eg https://www.youtube.com/channel/UC_NWuVoCn-Oc1KIiHEhe7Eg However, although I think I can play reasonably well now, my sight-reading is awful, and it does hold me back because it makes it a lot harder for me to learn new techniques from sheet music (which I am actually interested in doing, as opposed to simply learning the sheet music note for note). I can do it just about, but it's painfully slow, so I am usually too lazy to bother. Given the choice of either playing with full sheet-music or learning chords/voicings/scales and how to put them together, I'd pick the latter no question, and that is what I recommend to other adults who are learning piano, but I do think it's best to have both. So I can definitely see the value in this, even if it doesn't currently seem to teach the theory and improvisation that, in my opinion, is what really brings the joy into piano playing. I might give it a proper go myself some time soon, to see if it can help me improve my rubbish sight reading. I can also imagine this being very useful for a beginner... Although I'm singing the praises of chord theory and improvisation I'm guessing most beginners might realistically do better starting with sheet music, for a while at least. In summary: it might not teach everything, but it looks really useful nonetheless :)
- kej 6y agoI understand the issue with Firefox not supporting WebMIDI, but it would be nice if instead of redirecting to a separate page you could show the same message as a warning on the main page. Let me see the app and see that it's worth coming back in Chrome.
- jacquesm 6y agoGood point, thank you, I will add this to the todo list.
- TrueDuality 6y agoThere is an `about:config` setting to enable webmidi in Firefox `dom.webmidi.enabled`. It's not a great experience to have to set that by hand. It does work though, at least in Linux. It looks like your site isn't detecting whether the webmidi feature is present though, it looks like its just doing dumb UA filtering.
- jacquesm 6y agoNo, it isn't doing dump UA filtering, it tests whether the WebMIDI interface works and if it does then it proceeds to work. So that must be something else. You can check the code if you don't believe me, it's plain JS.
- thebeardisred 6y agoI would.... but you also keep redirecting me to /firefox.html. Thus, I can't look at the site (on my phone) to be able _see_ the code.
- avtar 6y agohttps://gitlab.com/jmattheij/pianojacq https://gitlab.com/jmattheij/pianojacq
- halostatue 6y agoIt’s worth noting that I don’t use Firefox by default, but Safari, and the messaging only talks about Firefox. I thought I’d read that WebMIDI was declined to be implemented by Apple because of security issues (including the ability for random webpages to send firmware updates to connected MIDI peripherals), and going back about four months I found an article here on HN (https://news.ycombinator.com/item?id=23676109 https://news.ycombinator.com/item?id=23676109 — note the top comment https://news.ycombinator.com/item?id=23679063 https://news.ycombinator.com/item?id=23679063). I seriously doubt that Firefox is going to implement this.
- jacquesm 6y ago
- khazhoux 6y agoThe sadness of my piano life is not my fingers but my dumb brain. No matter how intensely I practice and memorize a piece, if I step away from it for a week I'll forget 30% of it. Curiously, my audio memory is very strong. I can hear music in my head clearly and in detail, even songs and pieces I haven't heard in years. This does not translate to "finger-memory".
- quacked 6y agoWhen you practice and learn a piece, how exactly to you practice and memorize it?
- khazhoux 6y agoSlowly and deliberately, focusing on the parts that elude me (i.e., I'll skip the intro and other sections that are 100% solid in muscle memory). Paying attention to fingerings. I'll usually focus on 1-2 pieces at any given time. But I do go through spurts, where I practice every day but then for whatever reason step away from days or 1-2 weeks, which might be killing the neuron connections. I also round-robin my nighttime between piano, guitar, and composition, which probably ain't helping.
- quacked 6y agoIt definitely isn't helping, haha. I also play piano, guitar, and compose, and I used to struggle with memorizing, but I've been reading a lot of piano practicing theory and have drastically upgraded my finger memory, mostly by using these resources: https://www.pianostreet.com/smf/index.php?topic=12590.0 https://www.pianostreet.com/smf/index.php?topic=12590.0 (look for Bernhard's post) http://www.pianopractice.org/ http://www.pianopractice.org/ Loosely, stop using sheet music except when you're initially memorizing the piece, learn music in much smaller chunks than initially expected, and play entirely from memory whenever possible, even when you're practicing the repetition of something. The fact that you can remember music easily in your head means that if you spend 1-3 years really banging out the hand-brain connection, you might be able to rocket your playing forward. Raw improvisation where you think of the melody before you play it will help, too, if you don't already do that.
- prionassembly 6y agoMy dad is a music tutor, piano and guitar. He does two different "tracks" according to what the student wants: (1) learn currently popular songs or (2) learn didactic music in the classical tradition (e.g. Czerny). In either track he's really teaching music theory: most popular music will be I-IV-V; jazzy music with turnarounds do ii-V-I tricks, etc. He doesn't teach an instrument, he teaches music.
- jacquesm 6y agoVery nice! Is your dad available for a consultation? We would very much like to teach things properly but for that we need more understanding and someone who has been teaching music would be a huge asset to us. If you could please ask that would be awesome.
- agumonkey 6y agoflappychord
- jacquesm 6y agoThat took me a good 18 hours to figure out what you meant. Funny!
- dangerboysteve 6y agoThis is good timing. I was thinking about taking up the piano for fun. My plan is to rent a keyboard for a month (Roland FP10/FP30) and going the YouTube route to see if I liked it.
- mensetmanusman 6y ago“ Unfortunately, because Mozilla is too busy improving the world instead of their browser...” Burn, but understand the sentiment :)
- PianoGym 6y agoHahaha, wow! This is awesome to see people working on different solutions to something I'm working on! @jacquesm if you're looking for someone to chat about this kind of stuff with - I would love to sync up! --Shameless Plug-- I've been working on a passion project for over 2 years now called Piano Gym! https://pianogym.com https://pianogym.com The idea is very much the same - in that a USB midi piano (in chrome for now) can be connected to the computer and used to play sheet music in contenxt. HOWEVER, Piano Gym's goal is much larger than Piano, and much larger than sheet music, despite that being the current state of the product. Piano Gym's focus is to apply spaced repetition and flash card based review systems to get people playing Piano and learning music theory in context, while ALSO managing review systems and check points. Eventually we want to do this for all instruments too! We want you in the gym to do your reps! Additionally anyone can create content there. Whether you're a learner or a teacher you can make your own schools, courses, and lessons that others can enroll in to learn from! It's incredibly exciting and super cool to see other people trying to solve these problems. If anyone is interested please come and join us at the gym - Piano Gym! https://pianogym.com https://pianogym.com
- gabereiser 6y agowow... Way to try to steal the show. I'm now 100% certain I'll never try piano gym.
- PianoGym 6y agoRight on! We'll be waiting if you change your mind!
- nuclearnice1 6y agoNice free resource and thank you for posting. So many great discoveries in this thread. https://melodics.com/ https://melodics.com/ https://github.com/apankrat/note-detector https://github.com/apankrat/note-detector https://www.pianostreet.com/smf/index.php?topic=12590.0 https://www.pianostreet.com/smf/index.php?topic=12590.0 https://m.youtube.com/watch?feature=youtu.be&v=k50uk8elR0M https://m.youtube.com/watch?feature=youtu.be&v=k50uk8elR0M http://pianobooster.sourceforge.net/ http://pianobooster.sourceforge.net/ https://musescore.com/hub/piano https://musescore.com/hub/piano https://github.com/apankrat/note-detector https://github.com/apankrat/note-detector https://synthesiagame.com/ https://synthesiagame.com/ https://pianojacq.com/ https://pianojacq.com/
- vram22 6y agoHa ha, good one, Jacques. Another piano app, by me, this is as rudimentary as one can get, in Python. It turns your PC keyboard into a "piano": Play the piano on your computer with Python: https://jugad2.blogspot.com/2013/04/play-piano-on-your-computer-with-python.html?m=0 https://jugad2.blogspot.com/2013/04/play-piano-on-your-compu... The comments by people wih more music knowledge than me (zero) were interesting and informative.
- turtlebits 6y agoThis is great! My son, who normally loses interest in long songs that are a bit harder than his level, got through The well tempered clavier (one of the sample songs). The timing/spacing of the notes is a bit off though, I wish it scrolled according to beats instead of speeding up and down depending on what type of note was being played. I understand it has to stop and wait for the note to be played, but some of the whole notes threw me off.
- jacquesm 6y agoYes, this is one of the harder problems, a lot of brain cycles got spent on getting it as accurate as it is now but there definitely is still room for improvement. Keep in mind that the browser is a super hostile environment for this kind of application and accurate (millisecond level) time tracking in the browser is next to impossible. The solution we picked was to reduce/increase the speed of the scroll based on the error term between where we are and where we should have been. This keeps the scolling reasonably smooth while giving the smallest error in time. If we'd prioritize the scrolling it would look better but the timing would be further off. Suggestions for improvements to the code are of course very welcome, the code is extensively commented. There are some really nasty gotcha's in the interaction between the setup of the original midi file on the score leading to some decisions that retrospectively were probably sub-optimal but I will definitely revisit those in the near future to improve on them. Fun fact: the score is drawn three times to get it as close to time correct and visually attractive as possible, first a rough plan to get everything in the right bar and in the right order, then as close as possible to the right point in time and finally any odd space is used to spread out the note heads so it looks visually attractive. The plan is to remove all that and to first create an intermediary representation and then to draw that in one go.
- pianoboard 6y agoOn this note,seeing as cheap qwerty keyboards easily come in $5 and good in $20, is there a "piano" keyboard that only has keys laid out in piano fashion, rest left to drivers a small software that plays appropriate tones .... I'd prefer something small- only two octaves and a plus/minus button to shift octaves.
- jacquesm 6y agoI will look at using the regular PC keyboard as a stand-in midi keyboard of ~ 2 octaves. This is not going to give a great experience (especially because many keyboards have limited key-rollover) but it should give a less-hardware-required onboarding experience, which is always a good thing.
- pianoboard 6y agoThanks for responding. I've tried using paino software before but the "key press" experience is suboptimal. While you're right about onboarding effort, my guess/hope is that the required driver software shouldn't be hard for me or manufacturer to write.
- jacquesm 6y agoThe code is up on gitlab, you can hack on it for private purposes to your hearts content.
- musicale 6y ago> Note that it would have been trivial for us to force our users into a relationship with us by having to make an account and we made a very conscious choice not to do this. Bravo! Well done and well said - I really wish more projects and systems were developed with this mindset, viewing users as people to be empowered rather than as resources to be captured and exploited.