Etna – amsynth skin

Etna is a GUI skin I designed for amsynth, or Analog Modelling Synthesizer, a virtual instrument by Nick Dowell for Linux and MacOS.

Here’s a demo video of the two in action.

It was a fun project to work on. Its name and color palette are inspired by the ashes and lava of Mt. Etna, the biggest thing where I come from.

I wanted a flat design with no shadows or gradients, a minimal and bold color palette, and a simple geometric typeface that works well at a small resolution.

To sketch the wireframe I used Inkscape, which was also my tool of choice to create the background plate.

Layout grid
Some people play Tetris. Some people fit GUIs to grids.

Inkscape’s internal SVG to bitmap rendering functions are quite handy, but I suggest to use them only as long as your artwork doesn’t rely on pixel-perfect text. In this case, font rendering wasn’t as crisp as I knew it could be, so I had to try different workflows.
Here’s a comparison of the output of three different SVG renderers I used.

The first one is Inkscape’s internal renderer.
The second one is SVG text processed through Cairo API. Notice how a subtle font hinting produced a clearer text with less antialiasing.
The third frame is SVG rendered by Gecko (Firefox’s browser engine). That’s the result I found most satisfactory.
Actually, a fourth option was conceived, involving GIPM and its advanced control of subpixel hinting, but it would have required to re-create the text layout outside Inkscape. Since it was not going to be easy to maintain or to rescale the artwork to @2x or higher resolutions, I discarded this workflow.

I automated the drawing of the assets for the knobs and sliders thanks to a custom knob generator I wrote using Two.js and dat.gui.

Like the default interface of amsynth, the first version of Etna had only rotary knobs and no sliders, which were added since v1.1.0 for the two ADSR envelopes to allow a better visual shaping. If this were a physical interface I would have taken into consideration the increased precision of knobs versus an equally sized slider, but also how you can move a slider with one finger, while rotating a knob keeps your whole hand busy.

You can download Etna and read how to install it on github.com/TuriSc/amsynth-skin-etna.

WoStation

This archived content does not reflect my current skills

WoStation is an online game I coded long time ago with a friend, Andrea Aronica. It’s a suite of applications to play music, write or doodle.

Play WoStation