Open ryansloan opened 6 years ago
These changes from #114 are better, but after trying some different songs we want to do a bit more with a similar approach. Hadi has some good ideas about how this should work, we should get his input when we have prototypes. Here's the proposal:
The change to map the output range to a restricted input range helped a lot, but outliers are still skewing the mean. We should select a "representative" range for each song and then use that as the domain for the mapping. We can either do this manually in pre-processing, or compute it at runtime (let's talk about implementation options). For most songs*, measures 5-12 work as a "representative" domain.
The other issue is that the changes should be relative to the sprite's initial property value at the time when the mapping is applied. So with this code, both sprites are the same size the whole time:
More notes: https://docs.google.com/document/d/1ei_btNPze9TL3orCytw9j8YHYRg-FqIC6xrZAXk1tvg/edit#
*The measures 5-12 time span doesn't work well for Bruno Mars, will.i.am, yolanda be cool, Aha.
I think we need to push this to post-Launch. It will not be a breaking change for any student code.
I still have my prototype from October in case it will be useful for at least some songs. It involves tapping out the events to each song once, but means we can create really meaningful feedback for students when using "following".
Right now, the "following" block doesn't do anything beat related. It's perhaps an interesting idea to have the ability to follow the beat in addition to treble/mid/bass, though I'm not sure exactly what that would look like (do we treat beats as binary data points, or do they have an amplitude for example. how do we smooth between them)
My prototype wasn't necessarily tied to beats, it was just a way to manually trigger peaks, with the follow-on idea that we could then smooth those peaks (particularly their tails) to create the ongoing "following" behavior. From what I can tell, the expectation for "following" is that the value peaks fairly quickly at a bass, mid, or treble "hit" and then fades down again. I think that would look pretty good.
confirmed fix. resolving.
Reopening this, even though it's obviously very late, simply because I think the "follows" block really isn't working as it should in almost any situation.
The goal seems simple: the character should "pulse" in time with an easily discernible component of the song.
After going through a bunch of songs, very rarely does this happen, and even when it kind of does, it's lagging behind the song, in contrast to the tight timing of the dance movements etc.
moving this to post-HOC in case there is something we want to follow up on.
Can we ease these? Or make them relative movements instead of absolute?