Open JustACuteGirlLookingForAManToFixHerBugs opened 4 years ago
As you saw in #17 i'm hoping to make the process a bit more visual. I'll do my best to explain it here. Maybe I'll copy this over to the wiki and link that in the meantime.
The app doesn't really understand time signatures or bars. To it, the song is just a big list of beats. So, when you swap every 1/5, it'll do this (which corresponds to "replace every first beat with the first beat of the next bar"):
Input:
1 2 3 4 5 6 7 8 ...
After swapping every 1 and 5:
5 2 3 4 1 6 7 8 ...
The swap effect restarts right after the swap is made, so here's a longer example with 1 and 5. Now that I'm thinking about this, it might help to have a "measure size" option on swap, because it's a bit counterintuitive.
Input:
01 02 03 04 05 06 07 08 09 10 ...
After swapping every 1 and 5:
05 02 03 04 01 10 06 08 09 06 ...
^ starts again here
If it helps, here's what that same example looks like with 4/4 bar lines.
Input:
01 02 03 04 | 05 06 07 08 | 09 10 ...
After swapping every 1 and 5:
05 02 03 04 | 01 10 06 08 | 09 06 ...
Effects just get applied one after the other, so here's what using two "remove every 3" effects would do. Each effect has no knowledge of the others and just takes a list of beats in and produces another list of beats as output.
Input:
01 02 03 04 05 06 07 08 ...
Removing every 3 for the first time:
01 02 04 05 07 08 ...
Removing every 3 for the second time:
01 02 05 07 ...
Thanks for posting your working understanding, by the way. It's useful for seeing how I can try to make it more accessible. Things don't make a whole ton of sense right now but I'm hoping to iterate on the design in the future. If you have any suggestions I'd be happy to hear them.
Hey! Jeez, it took me a long time to get back to you (I'm honestly kinda puzzled how much time has passed). Hope you're doing well.
Yeah, this explanation sets up the basics pretty neatly. I'd suggest adding something like a How Does It Work
popup with this text - and then gradually update it with info on other modes and parameters when you'll have time.
... unless you wanna keep your server running ๐
I've played with the app for the last few days - it's fun and mildly addicting ๐ฆ But, I have to admit, it still remains largely a black box for me. The results are inconsistent and very hard to predict.
I'll try to outline a list of ๐คทโโ๏ธ issues/confusions (yeah, there's always this duality "is it broken or am I just dumm"). So...
exhales Hope at least some of these will be helpful. Thank you for the app, you're doing the God's work.
This information is really helpful so thanks for taking the time to write it out. I'll see what I can do about making this more intuitive next time I work on an update for the app, although unfortunately as you've seen I've been a lot busier due to current events and had less time to work on this.
I'll try to answer a couple questions for the time being though:
3- I might be able to display an estimate, but the app works by locating each beat individually to let it work on live performances. That being said it should just be a matter of calculating an average, so maybe I can add it after all.
4- I agree that the cut tool is a lot more confusing than it should be right now. The main idea is that a beat gets replaced by the one piece left over from the cut operation (which is then the "beat" moving forward).
5- In theory swap 1/2 and swap 2/1 should be the same. If you apply both you should end up with what you started, which might not be happening right now due to the bugs you mentioned
Again I apologize that I haven't had time to update the app past responding to issues. I've had a lot of ideas for making the app more intuitive (like having a node-based interface or visual effect previews like #17), but unfortunately I just don't have the frontend expertise to make them happen. I hope I can get to at least some of these.
For now though I will link to the explanation above as you suggested, since it's the least I can do to explain things.
I keep getting network errors and can't render anything...
Thanks for reporting. I have been having trouble with Google Cloud recently, so I'll take a look. I'll hide this comment since it's not related to the parent issue. We can continue discussion if necessary at #37.
I have trouble following how it divides the beats & how multiple effects apply. Do you have any docs explaining how it works?
For example, obvious guess would be that if you add 'Swap every 2 with 4 offset 0' it's going to divide the song into bars of 4 beats, and then inside every bar swap the second and fourth. But what if you add 'Swap every 1 with 5 offset 0'? Is it going to to divide the bar into 5 parts? Or is it going to replace every first beat with the the first beat of the next bar?
What happens when you remove every 5th beat? Is it the same as removing every first beat only skipping the very first one?
If I add two 'remove every 3 beat' effects, is the second one going to treat the song as 3/4 or 4/4, with the original 4th beat becoming 3rd, etc?