ITP Notebook [2020 - 2022]

Oscillation

February 28, 2021

Nature of Code

Try it out / view code

For 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).

screenshot First prototype

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.

screenshot Adding color and movement

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.

screenshot Current Version

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.