For this project I built a musical instrument called the Férraillophone. By doing so, I wanted to explore the possibilities offered by the use of piezo sensors on vibrating surfaces to excite percussion and string physical models. In order to test this instrument, I recorded a short piece Study for Férraillophone.

Description of the system

The Ferraillophone and the control interface

The Férraillophone is a "musical instrument" made of two surfaces: a compact disc and lazer disc. These surfaces can be stroke, bowed, etc. to generate an excitation that is captured by piezo sensors. This excitation is used with different physical models of musical instruments: an extended karplus-strong that simulates a string and a nonlinear feedback delay network that enables to generate metal plates, cymbals, etc. sounds.

The Férraillophone

The control interface is based on an Arduino nano that collects the datas from a distance sensor and two buttons to send them via serial to a PureData patch: osc.pd. This patch retrieves the data and converts them to OSC messages that can be understood by Chuck. One button of the interface is used to select between different presets for the nonlinear feedback delay network. The other button triggers the different sections of the piece. The distance sensor is used to control various parameters that vary in function of the section.

The control interface

Software

The chuck file: instrument.ck is used to bring all the elements of the system together. It instantiates the different physical models (that are described bellow), control their parameters with the interface and configure the system for the different sections of the piece. Once again, PureData is also used to "make the bridge" between the Arduino and Chuck.

Overview of the system

The string physical model: ksRom.dsp

The physical models used with the Férraillophone are all writen in Faust. ksRom.dsp is based on an extended Karplus-Strong. It is excited by the input signal. Several parameters to control the resonance duration, the picth and the brightness of the string, etc. can be used. The idea here is to be able to generate cello like sounds when the CD on the Férraillophone is bowed. To do so, the signal produced by the Férraillophone when it is bowed is pitch-shifted in function of the frequency of resonance of the CD on the Féraillophone (about 164Hz) and the desired frequency of the virtual string. Very interesting and promising sounds were obtained using this technique that is definitely worth to dig a little bit further.

The plate physical model: nlfFdnRev.dsp

nlfFdnRev.dsp is an implementation in Faust of the physical model based on this algorithm. It is a 4x4 nonlinear feedback delay network that is excited by an input signal. This physical model has a lot of parameters and can be hard to tune to obtain nice sounds. For this reason, 10 presets are implemented in instrument.ck and can be used to turn it into a large or a small metal bar, a cymbal, a glass, etc.

The spatializer: spat.dsp

spat.dsp is a simple Faust program that spatializes a signal onto a given number of channels. Its two main parameters are the distance in space and the angle.

Description of the piece

Study for Férraillophone should be more consider like a demo than a proper musical work. It is based on four sections: