shapez.io
shapez.io copied to clipboard
[Feature Request] Sound generation / Music synthesis
Suggestion: Create a new part / building that generates a sound / tone when a signal is applied to it. Like the Display, but instead of showing a color or shape, it would make a sound.
Some ideas:
- Keep the mapping from shape/color to the sound simple.
- Pitch: Perhaps the 7 colors could be the 7 notes in one octave (A-G). Uncolored would be a rest. Think of it as a child's xylophone.
- Tone: Shapes could be the tone of the sound. Circles - sine wave, Rectangle - square wave, Star - triangle wave, Windmill - sawtooth, etc. Combinations of shapes could be more complicated tones.
- Duration: Perhaps have a fixed duration of each sound to keep it simple. Again like the child's xylophone. Or it could be as long as the signal was active.
- Octave: Perhaps multiple colors, like left half the octave and right half the note in the octave.
- Polyphony: Able to play more than one note at a time. Perhaps shapes with multiple layers, or just multiple buildings that play one note each (up to some limit).
- Sound shape: Attack / sustain / release - more advanced synthesis attributes. Probably should use some fixed values to keep it simple.
I was actually working on a mod for something like that (https://emeraldblock.github.io/soundZ/), though I haven't touched it in a while
I agree with you, that stacked shapes should play multiple sounds. But what about multiple shapes on the same layer? Should it use ring modulation? Should it quickly alternate between the shapes?
Also this gives me ideas, to make something like the Wintergatan MMX, but in Shapez.io! :)
I'm believe this would be a good input format:
- top colors = 64 different pitches = 4 octaves and 16 drum sounds.
- bottom colors = volume up to 64. (perhaps up to 32 and use the extra bit for 4 more octaves)
- shapes = 256 different tones.
Duration would be controlled by duration of input pulse. More advanced things would be controlled by a UI
I'm a Wintergatan fan as well!
Here's a mod I made and a demo... https://github.com/garretsimpson/shapez.io/tree/synth https://www.reddit.com/r/shapezio/comments/recknq/holiday_bells_turn_on_the_sound