Questions / wishes for looping segments

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.
Post Reply
Slwoly
Posts: 13

Post by Slwoly »

Hi.

I've got a few requests for practicing piano with synthesia (If these listed ides are already implemented, please don't hesitate to point me in the direction of where I can find said feature).

1. Why does the Delay between loops scale with Speed? If it where to scale I would prefer it to be inverse. As in if I play the song slowly (~50%) I would like the break to be shorter, cause I don't need as much time before I'm ready for another attempt. If it's an upbeat song (allegretto) looping I would prefer a bit longer pause to recuperate. But preferably it would not scale at all, just the set time listed under looping.

2. An option to pause on each repeat for loops would be swell. Start next loop with a keystroke, could be a hold on first note like practice mode witch then continues as a Practice mode.

3. How about a restart on fail (feature mostly wanted for loop mode). With the added possibility to set a threshold for how many failures constitute a fail.

/Slwoly
Nicholas
Posts: 13135

Post by Nicholas »

1. Hmm, you're right. This is strange behavior. The delay shouldn't scale. We'll get that fixed. (Rather than inverse with song speed, does just keeping it a flat delay amount regardless of song speed seem reasonable?)

2. Do you mean you want a single note of Melody Practice to be introduced in Rhythm practice?

3. If you're using the PC/Mac version of Synthesia, try this: hold your Shift key while launching the app. Find the "Gameplay.LoopMaxErrors" setting in the list. Change the value to something other than 0. That will restart the loop automatically after that many errors.
Slwoly
Posts: 13

Post by Slwoly »

1. Sounds very reasonable.

2. Yes. In rhythm practice I would like to start a loop, enable the option to have the first note in the loop (for each loop) stop and wait as in Melody practice. The reason? It would be a variable delay for loop mode, waiting for the players input to start each loop.

This is something I do naturally when I play without the computer. Say I pick 2-3 bars, practice a run and before each run I contemplate different things I need to improve / think about. This brief pause can vary quite a bit, but the piano will always wait for me to start the next loop.

I know I can do this with the push of the keyboard or mouse, but it feels so intrusive that I find myself rather let the loop run an extra lap or 2.

3. I'm using the PC version, will try that next session.

4. New question. Could it be possible to bind cords (well rather key combinations, like A0 + C1 could be bound to pause/play) to shorcuts.

/Slwoly
Nicholas
Posts: 13135

Post by Nicholas »

2. Maybe a toggle to let users pick whether they want to re-start the loop manually or automatically? That way people that like it today can continue liking it and it will also support what you're asking, too. Do you have any suggestions how it should behave if the beginning of the loop starts on a rest instead of a note? Should it still require a key to play? Or should it proceed to the first note in the loop before stopping?

4. If you've got any kind pedal, Synthesia supports Pedal + [whatever] shortcuts. So, you could do "Pedal + lowest note" for play/pause.
Slwoly
Posts: 13

Post by Slwoly »

2. It has to be a toggle, preferably under the loop-menu (so you don't have to leave the song to toggle it)

I see 3 possibilities. A toggle-option that will:
1. Continues loop mode (default)
2. Wait at loop start for any keyboard input.
3. Proceed to the first note (non pause) in the loop, wait for it to be played and then continue with Rhythm mode rules until loop restarts.

I'm guessing that option 2 is easier to implement and (at least for me) satisfies my needs.
But the "start playing" key press have to be able to count as the first played note, or you would have to double tap to not miss the first note (if there is no pause). One workaround would be to press a key to start a countdown, but that feels off. Another workaround would be to add the loop delay at the start of the loop instead of after, right now this feels best cause this way the user have control over how long it would be (but I've might missed something obvious).

Witch reminds me that I've missed several notes when I play in loops if there's no pause before the first note. If you play the note before the loop line it doesn't register and if you wait for the line to pass you most likely miss it, you have to time it perfectly.
Nicholas
Posts: 13135

Post by Nicholas »

Slwoly wrote:... I've missed several notes when I play in loops if there's no pause before the first note.
This is a known issue. We heard about it from another user a couple months ago. That will be fixed in a future update. It's not an easy fix and the Synthesia 11 schedule is already woefully behind, so it will probably have to wait until afterward. In the meantime, I'm sorry for the inconvenience!
Nicholas
Posts: 13135

Post by Nicholas »

I just sat down to implement/fix the scaled delay that you first mentioned as #1 in your top post.

I remember why it behaves that way now! Originally the delay slider was a simple "amount of time" tracked in milliseconds. Here, it would make perfect sense to scale it inversely with the current speed so that it the delay between loops remained constant.

Later, after some user feedback, we changed the delay slider to be expressed in beats (using the current time signature in the song). This is why the slider has stops (or notches) while dragging it left and right. In units of beats -- which is already based on the current speed -- it's a lot less obvious how that should be adjusted based on very fast or slow song tempos.

Outside of simply picking a greater number of beats delay when playing a song quickly, I'm not sure I have a good answer. Can you think of any suggestions?
Slwoly
Posts: 13

Post by Slwoly »

To me that implementation is strange, but that's only because I can't see the reason to why you would want to have a the delay scale when slowing down the song.

Say I start a loop at 80% speed, change the delay to something big enough so I can recover between laps. Play a few rounds and realize I need to slow it down a bit making the whole process easier. Set it down to 60%, now why would I also want to make the delay longer? And if I did want to make it longer, do I want it to be forcefully scaled with the song speed?

I would have the delay slider expressed in beats (using the 100% speed time signature in the song) and not let it scale at all with play speed.

This is how I would like it to behave. Does not mean others agree or that it's a good implementation but I do feel it would behave more logic (granted, I'm an engineer).
Nicholas
Posts: 13135

Post by Nicholas »

Slwoly wrote:I can't see the reason to why you would want to have a the delay scale when slowing down the song.
If you're counting time (tapping your foot, etc.), it is convenient not to have your timing interrupted/altered by the loop delay. In that case, scaling the delay with the speed makes good sense.
Slwoly
Posts: 13

Post by Slwoly »

Nicholas wrote:
Slwoly wrote:I can't see the reason to why you would want to have a the delay scale when slowing down the song.
If you're counting time (tapping your foot, etc.), it is convenient not to have your timing interrupted/altered by the loop delay. In that case, scaling the delay with the speed makes good sense.
That makes sense.

I don't like it / don't think I will use it. But I understand how it could be utilized. And this is where I recognize that I have no formal training from playing piano. My background is playing competitive games and beat manias, wanting a greater challenge from my entertainment turning to piano.
Post Reply