Oscillation
February 28, 2021
Nature of CodeFor this week ‘Oscillation’ theme I created a synthesizer. Its layout is inspired by an abacus and the interaction is centered on placing shapes on rods. Each rod is set to a frequency in the harmonic series, and each shape represents an oscillator oscillating at that frequency. The different shapes represent the oscillator’s wave type (sine, square, triangle, sawtooth).
Apart from the audio aspect I tried to use ‘Oscillation’ in different aspects of the device — by ‘pulsing’ UI components to indicate interactivity and in the way the shapes move and spin.
I hope to implement it as a plugin for another class which is why I developed this idea much more than previous sketches — I’d be interested to hear thoughts about interface because I’m not sure if the controls are clear. I had some fun adding sounds to the UI itself but I’m not sure if it’s distracting.
How to use
Place shapes on the rods to start producing sound. Shapes on the lowest rod produce the fundamental frequency. You can change the note by pressing the keys asdfghjk
.
Drag shapes will move them from left to right or from rod to rod.
If holding the ALT
or OPTION
key on your keyboard, dragging a shape adjusts it’s vibrato rate (dragging up/down) and depth(dragging right/left). This will cause the shape to move on the rod.
If holding the SHIFT
key, dragging adjusts the shape’s size panning speed which correspond to the sound’s volume and panning speed, respectively.
Click “Randomize” will clear the current state and randomly generate shapes.