bryanbraun / music-box-fun

A web app for making music box songs.
https://musicbox.fun
Other
53 stars 5 forks source link

Add support for a 30 note music box! #6

Closed bryanbraun closed 4 years ago

bryanbraun commented 4 years ago

Use a dropdown in the controls bar to change the box type.

If it's trivial to add a 20 note music box as part of this work, I should do that too.

Todo:

bryanbraun commented 4 years ago

Note to self, if I need drasitically different styles for the 30 note box, then instead of changing the --number-of-notes, I could apply classes on the music box div that define different variable values like so:

.fifteen-note {
  --number-of-notes: 15;
}
.twenty-note {
  --number-of-notes: 20;
}
.thirty-note {
  --number-of-notes: 30;
}
bryanbraun commented 4 years ago

I decided not to use the above option for now.

This work was commited in a0a2ed93f46f4227dadbdc53e891f24e47584fc3.

MarcelloTheArcane commented 4 years ago

But but it is not chromatic! Can you add the sharps too? Or let it change key?

Backstory: I made Bach's Gavotte en Rondeau but there is no C# for the last note ☹️

bryanbraun commented 4 years ago

Yeah, the problem is that I want people to be able to make songs that can be reproduced on physical DIY music boxes (like these 15, 20, or 30 note ones). If I add more pitches then the song wouldn't be playable on a real music box (unless there are larger boxes out there I'm not aware of).

It's painful composing music around the constraints of the boxes but I think it's important for this site to hold to that constraint, so it's more helpful to people with the physical boxes.

PS: love the song! I'm impressed that you found a way to crank the tempo up to 320. I'm planning to increase the tempo range but I'm still trying to decide how high to go. Physical box-winding speed is a constraint too! 😄

MarcelloTheArcane commented 4 years ago

That is absolutely reasonable. It adds some fun too! I'll work around that constraint in the meantime.

You should listen to a real performance if you haven't already! I love Bach's solo Partitas and Sonatas.

I cranked the tempo by editing the range in the HTML, actually - which seemed to work! I think the current range of tempi is fine for human winding :grin: