Giter VIP home page Giter VIP logo

pianoplay's People

Contributors

rvilarl avatar smibu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

anndream hochanh

pianoplay's Issues

Mobile app support

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!

Include sample music xml files by default

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.

Some Suggestions

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.

Request For Contact Information

Hello @rvilarl and @Smibu

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]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.