I'm surprised with how well the MVP has worked and would love to hear any feedback or suggestions!
Because of CPU limitations, or? OBS can combine many sources at once without too much delay, or at least you can keep them in sync with the sound.
I've been developing a webMIDI app myself for the past couple of years [0] and adding a multiplayer feature is something I've been eyeing for a while. May I ask how good the latency is?
Some feedback on the landing page:
- As others already pointed out, a video example showing the app would be really helpful.
- I think allowing visitors to try out the piano and only prompting to login when trying to access the remote features would work best
- All those buttons that are clickable/selectable but don't do anything when clicked were a little confusing.
On the app: - Connecting the keyboard worked flawlessly (and without any permission prompt). But I'd add some indication that a MIDI device is connected
- Pressing the keys using my mouse doesn't produce any sounds
- Pressing keys on my MIDI keyboard (Yamaha P120) will cause the keys to be selected indefinitely, so I can only ever press them once. Somehow the noteOff events don't seem to be getting registered. Make sure you also register noteOn events with velocity = 0 as a noteOff event (although I don't believe that that's the issue here) and I would suggest calling noteOff yourself if you register a noteOn event for a note that's already playing. That way you can prevent keys from getting stuck.
- I wouldn't hide keys automatically based on screen size. It does look better but imagine someone trying to play this on a tablet/phone where they can't change the scaling
Again, really cool concept and good luck with further development! Feel free to reach out if you want any help :-)
[0] app.midiano.com
I see you're also using Vexflow. Are you using a library to go from Midi to Vexflow format? It's a rabbit hole I sometimes wish I hadn't entered :)
@OP Can really recommend VexFlow [0] when you do get to implementing sheet music.
(Where's my drum machine when I need a badoom psssssh?)
I haven't measured the latency directly. But, I did try this with my sister who lives across the US while also on a phone call with her. When she speaks or plays a note, I hear it through the app sooner than over the phone. So it's at least better than that!
A few immediate thoughts:
As a student, I don't care about a two-sided platform (which is what it looks like you're trying to build). I want to sign up for vetted piano lessons through your site, and purchase a USB midi adapter that you recommend. As a short-term MVP, perhaps point people to a known-working adapter on a site with an affiliate program. Long-term you might consider finding a company willing to sell one white-label and put your logo and website on it, but that's a lot less important than everything else you're building so put it off for a while.
Also, for the first handful of lessons and for subsequent practice, it'd be awesome if you had automated, pre-recorded lessons available, to get the basics down, or to train things like reading sheet music at speed.
The big choice for the beginner (or anyone) is how many keys do you want, and have space for? It goes all the way from 25 keys up to 88.
Then going up in price, models will start to include (in random order) old 5-pin MIDI in and out, velocity sensitive keys, (semi-)weighted keys, aftertouch, inputs for foot controllers, pads/knobs/faders for controlling a DAW, built-in sequencers, external sync in/out, CV and gate outputs for interfacing with modular gear, etc..
Good keyboards aren't expensive any more, the simplest Yamaha, Casio and Roland that qualify for serious study are all around $500 if you shop around a bit and if you go for second hand can be had for half that. You'll very quickly match that in lesson costs so if you can afford the one you probably can afford the other.
You don't need sequencers, aftertouch, built in DAWs or controlling an external one etc, those are not aimed at piano students. Can be fun but complete luxury.
It's now connected via a cheap USB adapter to my Chromebook (biggest issue: latency of the - mostly Android - apps) planning to connect it to my Linux box instead.
https://68kmla.org/bb/index.php?threads/usb-adb-converters-t...
https://www.reddit.com/r/synthesizers/comments/3wefun/midi_i...
At least a YouTube demo video, or ideally direct access to a real demo interface would be more helpful.
I thought Getting Started might help, but that forced me into a sign-up flow that I don't want to invest in without more information about the outcome.
(I learned on a physical piano in person, so I can't speak personally about learning on a MIDI controller, but it sounds plausible to me.)
All digital pianos have USB midi, and you can easily pick one a used one with weighted keys for a few hundred on craigslist.
My Yamaha U1 piano also came with a box that lets you interface over MIDI.
To that end, I think a crappy plastic MIDI keyboard can do a better job than a steinway if it is easier to acquire and accommodate. Being at hand is more important than being just right at this stage.
I say this as a music major, but it is not in any way a universal opinion to be sure.
Also, there are plenty of electric pianos, like the Wurlitzer or Rhodes, that have leas than 88 and only semi-weighted keys.
Of course, whether you would want to use the OP's app in some giant cathedral is another question.
But weighted keys are crucial for building coordination. The resistance of the keys helps you calibrate the connection between your touch and the sound produced. You want both kinesthetic and aural feedback.
If all you have is a digital keyboard, don't let that stop you for learning it!
organs have always had their own feel and plenty of greats have proven they sound great.
Unweighted is fine if you're making synth sounds. And of course for understanding the things you've listed.
But you can't actually play emotionally expressive piano music on them -- not in the style of classical or jazz. If you tried to play the Moonlight Sonata first movement, it would sound terrible, because the dynamic shadings couldn't be done.
I'm not really sure how you've determined what "core skills" are. Sure, if your kids are only going to spend a couple years learning the very basics, and then move onto other things, then it's fine.
But the heart and soul of piano music is in the precise touch to generate the dynamic sensitivity. If you want them to learn how to be emotionally expressive through music, playing either classical or jazz, weighted keys are essential. It's not piano otherwise -- it's a synth.
(And going from unweighted to weighted isn't trivial. It's an entirely different muscle memory that needs to be developed. They're fundamentally different instruments.)
It’s not hard to develop that finger strength, just need give kids the opportunity
Also, when recitals came around it was a big shift to playing on a grand piano with real weighted keys, and that, coupled with the nerves of playing in front of an audience, often led to mistakes.
I think the weighted keys help you feel more physically connected to the instrument with more of your body. Unweighted keys require the same involvement as typing on a computer keyboard.
Nylon has a very different touch and tension than steel.
You could start a student on electric or acoustic guitar that wants to learn classical guitar by why would you just not get them a classical guitar instead?
Same thing with piano to me. If you want to eventually learn to play some Chopin there is no reason you would not start with weighted keys.
The modern piano was also not even popular until the late 1700s.
The big advantage is that you don't need to tune them twice per year and that extra budget is either savings or you can spend it on more lessons. A physical piano is nice (and even those can have 'MIDI out' if you look around for a bit or are prepared to do some DIY) but really not a must. I have both here and spend much more time on my digital just because it is far more convenient, I can practice on it at any time of day even when the kids are sleeping and the feel of the keyboard is as good as the real thing (Yamaha P515, not the cheapest but very good quality).
And what comes out of the speakers is the only thing that matters.
Playing the piano means different things to different people.
I would suggest recording the videos from the player's point of view. It adds a layer of abstraction to have to reverse the image when reading it as a student.
Unless you are also encouraging your students to learn to read a pianist from an audience's perspective.
The app also includes preprepared videos and lessons (scales, arpeggios etc.) which interact with the hardware component.
My son's been using it with a tutor remotely and it's been working great! Not only that, but he can use the app and the snake to self-guide his practise during the rest of the week.
And cost is probably due to first gen, yeah. Plus, hardware development is pricey, I think.
I transmitted a frontal video of the player from the laptop cam, a top-down view of the center section of the keyboard (the cam angle was not wide enough for the whole), and the virtual keyboard from Synthesia. I had three different layouts of these elements in OBS, that could be switched by pressing the space bar. On the audio side I sent a mix from the laptop mic for voice plus the direct audio from the e-piano.
Served us well for the time.
One constraint that improved solutions probably don't have now was that teachers could not decide on a video conferencing software, so my setup-up needed to be independent. This almost made OBS a no-brainer, because of the virtual cam support.
The video loop, as it currently is, makes if feel YouTube-y or a formal, business-like Zoom call, while the really special thing of this very interesting platform is the connectedness of tutor and student.
Awesome platform!
ETA: I didn't see this on your website because I didn't create an account or anything. But I imagine it would pop up at some point during usage, and maybe you know more about this general popup. I've seen it before on other sites that want to use MIDI devices.
Can't remember if is there any piano available in the free version of NI Komplete[2] but it's still worth checking out.
[1]https://www.spitfireaudio.com/bbc-symphony-orchestra-discove...
[2]https://www.native-instruments.com/en/products/komplete/bund...
There is no tracking on the site so I quite literally have no clue how many people use it and because it also works as a download there are plenty of offline users as well.
This will probably require assigning the received MIDI to a different channel than 0 to allow simultaneous play without conflicting note offs and sustains.
Does it work on an iPad?
Keyboard Connect is still in an early stage, so we don't support tutors advertising on the platform yet. Thank you for these suggestions!
I'm happy to help test if you need a hand.
This represents a challenge for tutors and could be discouraging for new pianists who just want to try lessons without committing to buying a digital/acoustic piano are supporting AV equipment.
Also, I'll add modules to Keyboard Connect that support tasks tutors/students would normally have to organize on their own (lesson planning, file sharing, practice tools)