The next step to building my light based instrument was to think about how it could be played. I decided upon using a mobile device as a means of communicating with it. Since apps are so commonplace today, I decided that by building an app to control various parameters within the instrument would be easily understandable by most people in an interactive installation setting.
Furthermore, I wanted to build another simplified version of the instrument, since the first prototype had LDRs on only the X axis, whereas the final design is intended to have LDRs on both the X and Y axes. See below for images of the hardware of prototype 2, as well as a screenshot of the app screen I developed for instrument control.
As can be seen, I laid out 3 LDRs in the X direction and 2 in the Y direction, giving 6 altogether. I also developed the app to contain 8 buttons. The 3 buttons along the bottom of the screen control the “Torch Off,” “Torch On,” and Bluetooth respectively. A message beside this button displays whether or not the device is connected to the light instrument. The 5 main buttons control Modulation, Delay, Pitch & Amplitude, Bandpass Filter and Waveforms respectively. I made the Pitch & Amplitude button the largest, as I foresaw that this would be the most used button and would therefore need to be the most accessible. Each of these buttons sends a number to the Arduino through a HC-06 Bluetooth module, which Max MSP then uses to select the various parameters. A copy of the Arduino code can be seen below:
The code reads the values of each LDR, and by determining which one is producing the highest value, creates an (X,Y) coordinate which Max MSP will also use to alter the parameter selected within the app, which will in turn create interesting timbres to a sine wave produced by a built-in oscillator.
By pressing the corresponding button within the app, Max MSP uses the (X,Y) coordinates as detailed in the image. As this was drawn up in the planning stage, certain parameters were changed due to complications with Max. The final parameters are detailed below:
- The Pitch & Amplitude button controls pitch in the X direction and amplitude in the Y direction.
- Mod controls modulation rate in the X direction and modulation amount in the Y direction.
- Delay controls delay time in the X direction and feedback amount in the Y direction.
- Filter controls the bandpass filter’s centre frequency in the X direction and the resonance in the Y direction and:
- Wave adds a square wave which is played approximately 4 semitones above the sine wave with varying degrees of amplitude depending on the X coordinate, and a sawtooth wave played approximately 5 semitones below the sine wave with varying degrees of amplitude in the Y direction.
See below for a screenshot of the Max patch:
I also included dials and sliders as visual representation for the various parameters. Please see video below for a playing of the instrument:
The video shows how the instrument sounds using just 6 LDRs. When the hardware is built for the final instrument, I will have a larger array of LDRs, thus providing a much greater deal of control. I intend to use multiplexers to create this instrument.