rvilarl / pianoplay Goto Github PK
View Code? Open in Web Editor NEWOpen your score and have fun.
Home Page: https://michaelecke.com/pianoplay
License: MIT License
Open your score and have fun.
Home Page: https://michaelecke.com/pianoplay
License: MIT License
Firstly, thanks for making a beautiful free app!
However it's not easy for me to plug the keyboard into a desktop computer while playing. I assume this would be the case for most users.
Do you have any intentions to make this a mobile app? And iPad app would be very nice.
Cheers!
Maybe Für Elise or Moonlight Sonata?
Maybe something by Chopin?
It doesn't have to be the complete score. Maybe just the most recognizable parts for the sample file.
I was able to get this working in Chrome, but not FireFox.
A setup guide would be nice, so I could build this on my machine.
A way to grade correctly scored and missed notes would be nice.
You can try using a dictionary with an answer key like this:
{
"note_coor": [
0, # 0 equals Measure 1
1, # 1 means Treb and 0 means Bass
6, # note position in measure: start at 0. See bar example below.
],
"midi": 48, # Midi Note to integer: Link
"offset": 1.8556701030927836, # seconds with decimal as ms. This is the position of the note in the song
"duration": 0.30927835051546415, # Duration of the note
"tieEnd": false, # Tied note
"clef": "F4" # This is based on if Treb/Bass or Clef Number 1 vs. 2. In XML: clef number='2' sign F and line 4
}
Bar 1 example notes:
Treb: 1 2 5 6
Clef: 0 1 2 4 5 6
Not sure how to format this in a comment. The "3" is blank because there's a pause, but it's implied it's there. There's just nothing to press on the keyboard so no need for a dictionary entry.
Picture of measure: Link
Every note would have it's own entry in the dictionary. Each key press on the keyboard would determine if the note was played correctly or incorrectly based off timing and appropriate key press.
@Moreless91 suggested to do something similar to piano marvel
Do you suggest to color the notes like piano marvel?
Yes, that would be "cleaner."
This is such a lovely and wonderful solution!
I have a free website called Piano Gym that uses a continuous based approach for cursor management.
See https://PianoGym.com or this YouTube video for clarity.
https://www.youtube.com/watch?v=faxNDhOjlh4
I don't feel like I've nailed the cursor and playing input management down correctly, which leads to it feeling less than satisfactory when playing. I have been looking for others to collaborate with to get to a satisfying solution for this and it seems as though you are both on track to get to that solution!
Do you have a point of contact I could reach out to discuss collaboration further?
If you don't feel comfortable posting here you can reach me at [email protected]
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.