Floorschach

This was my first foray into both synthesis and composition. Entering the world of electronic music was extremely exhilarating: starting with an idea of the kinds of sounds I wanted to make, making those sounds and subsequently piecing them together to make something somewhat musical has created the desire to explore this domain further.

Floorschach started from an abandoned masters project at IDMIL. Numerous ‘augmented’ floor tiles were built, but no application was ever developed. Each tile contains four force sensing resistors located in the corners. Using the data obtained from each sensor, along with a small amount of trigonometry, we can figure out where on the tile someone is standing, how long they are standing there, which direction they are moving, etc. However, it was hard for me, a rookie composer, to imagine how such transient data could be fitted to music, or even musical concepts. Instead, I decided to use the raw data coming from the sensors as input parameters to a composition framework which I created.


/Floorschach/How it works/

Floorsach uses the arduino microcontroller to obtain and parse sensor data. However, the arduino only has 5 analog input pins. Therefore a series of analog multiplexers are used to connect more tiles. The arduino polls each sensor for data every 50ms. Once this is done it formats the data in the following OSC format:

(all numbers are integers)
/tile/ # gives the tile index for the following data
/tile/x/ # gives the x coordinate of where the person is standing on the tile
/tile/y/ # gives the y coordinate
/tile/sensor/ # gives the sensor index for the following data
/tile/sensor/val/ # gives the value of the sensor

Using simple max/msp message parsing (viewer.mxt), this data is extracted.
I chose to use OSC messages because it made it easy to organize and route the large number of values coming from the arduino. It also means that increasing the number of tiles doesn’t’t necessitate changing much code.

/Floorshach/Sensing/

Not all of the tiles use the same sensing mechanism. The top two tiles of floorschach use ‘resistive paper’ as developed at idmil: http://www.idmil.org/projects/paperfsr . Unfortunately these do not react quite as well as the other, regular FSRs, as they quickly drop from a high resistance value to a low resistance value with only a small change in pressure. During testing, I found that these were most suited to ‘stroking’ to give the best range of values (I would imagine these would be well suited to a home-made interface such as that on the minimoog voyager.

/Floorschach/Music/

Inspiration for the sound of floorschach came from Loscil (on kranky), especially the track rorschach (on the album ‘plume‘). I love the sound and atmosphere of this track and tried to emulate the individual components found in this track as much as possible.

The individual components are:
‘train’ – noise passed through a two two-pole filters (biquad~ msp object) , the first with a sinusoidally oscillating a1 (check this), the frequency of this is controllable by the user. The second filter is connected as a bandpass filter (with low Q to get a lot of the noisy components) which can either have sweeping up and down frequencies or can be controlled by the user.

‘chords’ – simple chords are made using additive synthesis. Each harmonic is is given its own envelope in order to change the properties of the sound. The chords created are used as a synthpad in the background and have controllable notes and a tremolo property (with values as low as 0.01 we can obtain a sweeping in and out sound. I never allow the tremolo values to go higher than audible frequencies).

‘bassline’ follows the frequencies of ‘chords’ but is two octaves lower and is placed through a chorus. To make this less abrupt a ‘leaky integrator’ could have been used to slowly react to changes in ‘chords’.

‘lead/solo’ – also creates a synthpad, but is placed through a chorus and is a few octaves higher than chords. The notes chosen are on the pentatonic scale in order for them to easily sound ‘pleasing’ without too much user intervention. I hope to increase the functionality of this component as I feel it is the most lacking and limits the ‘interestingness’ of the piece.

‘bassdrum’ is a synthesized bassdrum with frequencies and envelopes found at synthsecrets. The user controls tempo and pitch – higher pitches create an extremely ‘electro’ sound, whereas lower pitches are more natural sounding, especially those around 54Hz.

Left alone, these components randomly change values, creating an ambient musical piece. However, with intervention users can speed up and create more of a ‘dancy’ piece, or slow it down to create something even more minimal.

/Floorschach/Conclusions/
While floorschach isn’t the most interesting musical piece, I am happy with it as a first step (pun intended). After having created the tools, they just need to be refined, and pieced together differently to be able to create something more interesting. I tried to make the whole system modular so that it could be mixed and matched with other components in the future.

/Floorschach/Files/
here

/Floorschach/Sample/
This is what Floorschach sounds like when left to its own devices.
here

/Floorschach/Personal Review/
I see this as still being a ‘work in progress’, and would like to work on it more to be able to tweak the bugs / sensors. A main part I am excited to work on is the composition, which I think could end up being something really interesting. Having heard about it, many of my friends have asked me to perform… hopefully by the end of summer, I’ll have something ‘performable’!

Advertisements