Fix Melody Practice mode

Synthesia is a living project. You can help by sharing your ideas.
Search the forum before posting your idea. :D

No explicit, hateful, or hurtful language. Nothing illegal.

Postby ignat980 » 08-04-17 7:13 pm

I've been actively using this program since 2014. I love this program, it helped me progress a lot in my piano practice. There is one problem I would like a fix for.

The melody practice mode is amazing, but I think it has one major flaw. Midi files with trills, glissandos, slightly offset chords (not at the same time), and live-recorded midis with small offsets are all the bane of my existence. This shouldn't be the case.

The problem I have is simple. Let's say I have a chord (many examples in the attached midi) that you have to arpeggiate quickly up, and I hit the next note of the chord at the same time as the first note, what happens? The correct note gets highlighted green and the supposed "incorrect" note is grey. Ok. The song progresses for a small moment, and then stops because I have to hit the next note, right? But wait, I thought I hit the other note too! It is highlighted gray right there! This is where the problem is.

This is what I want: grey/incorrect notes to be counted as correct when it is their turn to be pressed, aka when they turn green (if the hand selected is green). A grey note only happens when it is pressed. What if I want to intentionally hit the whole chord at once? What if my glissando accidently hits the next white key before the black key? I want to song to continue, I mean I hit the darn thing correctly.

One other thing which is related: Incorrect notes are counted when they are hit, not when they are let go. Oh how many times I intentionally hit notes (which are correct) just for synthesia to say "nuh-uh. You're too early, that was wrong, you're wrong, try again." Especially in trills! I think it should be changed so that incorrect notes are counted when you let go of a note and it is still gray.

Final thought if this is implemented, if you have to repeat the same note over quickly many times, obviously the song should stop until you lift your finger to hit the note again. It's not continue if note is pressed, but continue if the note was hit! Down and up :)

Undertale - Its Raining Somewhere Else.mid
Many arpeggiated chords in this song
(5.07 KiB) Downloaded 5 times
Posts: 4

Postby Nicholas » 08-08-17 12:42 am

ignat980 wrote:Midi files with trills, glissandos, slightly offset chords (not at the same time), and live-recorded midis with small offsets...

That's a fairly complete list! You are absolutely correct that Synthesia causes more friction than it does good in those cases. I've experienced that frustration myself.

There's even one more case that isn't quite the same but I lump into the same group because it's the worst offender of all: playing the first note following a loop repeat. That first note you aren't allowed to play early at all! The song has to come to exactly that position (and stop in melody practice) before Synthesia will register it correctly. :?

Like you mentioned in your final paragraph, this is something that can get a little tricky. Which notes should be allowed "early" and which later, etc.? In the case of trills, is it really so important that you switch between notes exactly the indicated number of times? Or should Synthesia be happy if you're trilling throughout that time period at some speed that is a reasonable approximation to the one indicated? (And if that case requires special behavior, how does Synthesia even detect a trill for that matter?! With MusicXML this becomes a little easier because it's explicitly notated as one.)

I worry that in order to tackle all of these situations with any kind of behavior approaching satisfactory, we'll need a kind of score following algorithm.
Posts: 10859

Postby ignat980 » 08-08-17 2:25 pm

Thanks for the reply.

Again, I don't think Synthesia should try to be smart about which notes should be allowed "early". I say all notes are allowed early. You could hit a note 10 measures early and it counts. The only thing: it counts only when it is hit eventually! You have to hold down that note until it hits.

Right now when you press a note, the keyboard shows the color as gray if the note is wrong and green (if say practicing the right hand) if it is correct. My proposition is that this needs to change that gray means "not yet hit" and green "has been hit". Say you have an arpeggio, you can play it as written, or just hit them all at once, and wait for the keys to turn green. Trills could be pressed both at the same time. I think it is up to the user on how they want to practice a piece, eventually they will get faster and will attempt to mimic the piece better. Then, the song in melody practice mode will stop only when a note is not pressed or when you have to hit a note on one that his been hit already (many consecutive notes).

This means incorrect notes are, actually incorrect. It's when you hit a key and it was gray when you let go.

Like, I think this is the solution. Very huge nice improvement to melody practice. You could even tie a "stale-ness" score to every note you hit (how long until the notes were hit), and then use it to subtract from the general performance score (to prevent people getting perfect scores by just lying down on the piano or whatever).

The score following algorithm you mentioned looks cool, but again, unnecessary. Could be another feature in a much later Synthesia version. What I'm asking is a simple fix to how incorrect/correct notes are interpreted.
Posts: 4

Return to Feature Requests

Who is online

Users browsing this forum: No registered users