Formonium – Translating Shape in to Sound with LattePanda

Projects LattePandaIntelInteractive Art

Formonium Promotional PosterFormonium Promotional Image

Sound Lab Eindhoven is only a few hundred meters from the birth-grounds of Dutch electronic music. It is a place where artists, technologists, designers, musicians and more work together to amplify each other’s efforts.

Arvid Jense and Marie Caye – two prominent members of Soundlab Eindhoven – are no strangers to innovative sound creations. Together they have worked on a range of unique devices to create strange sounds, and have even spoken at a TEDx conference about their work. Their latest creation is the Formonium – a unique musical instrument that explores the relationship between shape and tone. Our favourite thing about the Formonium? It uses a LattePanda!

Formonium Promotional Video

Originally titled “Wave Circuit”, the Formonium is one of a kind. According to the original design brief:

“Shape and tone have an undeniable relationship with each other; a sound can be big or small, round or angled so on. There are even people with sensory synesthesia in which certain sound forms are seen. The Formonium is a new instrument resulting from the study to the relationship of the two.”

But why would the world need more musical instruments? Arvid and Marie like to explore how an instrument can become a tool to explore not only musicality, but also topics such as social boundaries or healthcare. In fact, musical vibrations have proven to be of great help for physically or mentally disabled people within the field of music therapy and sound and music practice. The limitation with regular instruments such as guitars or flutes is that they can be fragile and there is usually a steep learning curve for the user. The Formonium aims to sidestep these limitations.

The instrument works by adjusting a series of thirteen sticks in a linear fashion. The sticks are vinyl wrapped with a varying black and white gradient so that a light dependent transistor (TCRT5000) can sense their linear position. This data is read by a Teensy 3.2 which outputs the data via a serial interface to the LattePanda running Ableton Live, where the stick position data is mapped to generate a waveform. The sound is then output through speakers and a line out.

The fact that all the audio processing is localized entirely on the LattePanda is exciting news for us in the LattePanda development team. Our original development rationale for LattePanda was full compatibility with a wide range of peripherals and software, so we are very happy to hear that our user community is leveraging this in the applications that we are seeing.

Original Concept
Formonium Working Model

We caught up with Arvid who told us more about the project:

What were your user requirements that lead you to select the LattePanda?

It needed to be as small as possible; other mini PC’s were too big, too small or too expensive. The Raspberry Pi was an option, but it isn’t able to run Ableton Live. Ableton Live was essential for us because it allowed extremely fast prototyping of sounds while sounding amazingly good. Doing it on a DSP board would have taken way too much time.

How do you find LattePanda’s performance and what do you think is the most useful feature of it?

As Ableton is not made to be run on limited performance devices, I’m constantly pushing against the limits of what sounds best, and what can still be run without glitches. This, on the other hand, forced me to be extremely conscious of how I was programming the device.
It was really nice that the LattePanda came with a full version of Windows 10 pre-installed out of the box – this made it extremely easy to work with. Also it’s great to have a strong community around it in case of any technical difficulties.
At the start I was using an HDMI screen, but as soon as the LattePanda got embedded in the instrument, I switched to using VNC to interface with it.

Are you using just the Windows side of the LattePanda or does the Formonium utilize the onboard Arduino as well?

In my setup, I needed to read 26 analog sensors, 2 encoders and 2 switches. As I still had a board with a Teensy LC and 2 analog 16 channel multiplexers lying around from the previous iteration of the project, I simply used that. Another advantage of that being a 12 bit ADC as opposed to a 10 bit ADC on the Arduino. If I were to make more Formoniums, I would definitely make a LattePanda shield with multiplexers, 16bit ADC and maybe even the power supply, audio DAC and amplifier.

Do you think LattePanda has any limitations for your requirements?

Using the in-built audio proved a bit too slow and added too much latency for my application, so I added a M-Audio Micro DAC.
In hindsight, I would probably have been up for the higher end LattePanda as I was constantly looking for ways to reduce CPU and memory consuming programming. I have been in contact with Ableton, who were also very interested to see the embedded prototyping functions of Ableton, so we’ll see where that’ll lead. The start up time is in my case about 2-3 minutes, for a musical instrument this is long, but that is one of the trade offs for having a super easy time prototyping.

Formonium Promotional ImageFormonium Promotional Image

Technical Info

Technical ImageWorking Diagram – a few things had to be changed during the construction and development phase

Stick: A hardwood stick, that slides in to a a felt-lined hole, features a vinyl sticker with a black and white gradientLinear position sensor: After a number of iterations – including conductive paint and gear mechanisms – we ended up with a Photostransistor – LED combination in the form of a TCRT5000. With this we could determine the absolute positioning of the stick with a high accuracyTeensy 3.2: A 32-bit Arduino compatible prototyping board with 13 bit analog converters for high resolution. This communicates with a self-written rudimentary, yet fast serial protocol with the LattePandaVisual feedback: An LED that provides information about the status of the instrument, such as the start-up processFoot pedals: originally meant to be a set of footpedals, yet substituted for two rotary encoders in the final instrument; one for changing pitch, the other to choose in between scalesA LattePanda mini PC: a small form factor PCs like Intel NUCAbleton Live: for all tools with a sound generation high quality at their disposalMax for Live: retrieves the sensor data and does the sound synthesisMapping: a UI for complex mapping may Max for Live simply be linked to the sensor inputSoftware instruments/securities: A mix of MaxforLive and Ableton objects to get dynamic, fast and high quality soundAudio interface: a high quality DAC that provides for low latency and high sound qualityLine out: balanced outputs for easy to be able to make enhancement or withdrawalsAmplifier: Class D amplifier for efficient and high quality amplification(Vibration) Speakers: using two vibration speakers counteracts the Formonium’s vibrations so that full sound with recognition source of the sound

Frame Drawings

Frame Technical Drawings

Custom PCB DesignCustom PCB Design

So far Arvid and Marie have exhibited their creation at the Dutch Design Week 2015, 2016, Amsterdam Dance Event and performed at the North Sea Jazz Club of Amsterdam for Eureka festival. The earlier iterations of the instrument are currently used by the Muziekgebouw aan’t IJ Amsterdam for contemporary music workshops. This project has been made possible by Stimuleringsfonds Creative Industrie and ADE Soundlab, among others.

Arvid and Marie are happy to get in contact with composers and artists interested to use or acquire a Formonium or collaborate on it’s further development!

External Links

Performance Video 1
Performance Video 2
Performance Video 3
Performance Video 4
Performance Video 5
Performance Video 6
You can find out more about the Formonium on the official website
Find out more about SoundLab Eindhoven on Twitter
Concept Development Blog
Marie’s Blog
TEDx Talk by Arvid and Marie

Do you have a LattePanda project you would like to feature on our blog? Please get in contact!