Xbox Controller and Electric Violin

Below are some recordings made in June 2014, of myself playing an xbox 360 controller and Anna Okunev.   As a working concept we explore the various roles of each instrument in the duo.  We plan to continue this concept much further and see this as the starting point for future works between the xbox controller and violin.

Richard Savery – Xbox 360 Controller (Left channel)
Anna Okunev – 5 String Electric Violin and Pedals (Right channel)


Below is an explanation of the process and decision making behind the controller. For a full discussion exploring “Musical Interactivity Through Alternate Controllers” click here.   


Xbox Performer

This concept was an attempt to utilise the Xbox controller in a musical way; that allows significant interaction with other performers.  Its design was geared towards high levels of flexibility with the intention to be used in particular within improvisations.  I also attempted to use the controller in a somewhat standard way, there are no odd combinations of buttons, it’s use fits patterns often used by the Xbox.


To perform with this setup a certain level of knowledge is required, buttons function differently at various times and the interface doesn’t really provide user feedback to help navigate through the options.  I intentionally included this idea, while ease of use is important, I felt forcing a level of virtuosity onto the performer was worthwhile.  A level of virtuosity is needed to understand how each section operates, as well the general principles of synthesis that are utilised.  In particular an understanding of frequency modulation is required to avoid having every sample sound the same; it is very easy to get an array of crazy electronic sounds that aren’t necessarily musical.


The synthesis modes were chosen to create a diverse range of varied effects. I use frequency modulation to create shorter notes (up to one second) and a combination of noise and sine tone’s for the other methods (explained in more detail below).

Aside from using the project as a method to develop an alternate interface I also felt as  though the interface was an effective method to apply realtime frequency modulation.  In addition to three synthesis modes – each one allows rhythmic patterns to be looped – the performer is given control of the global tempo.  This can be used to speed up or slow down the rate of each rhythmic pattern.


It is possible to have an unlimited number of different sound creations controlled by the Xbox.  I choose to limit it to three different synthesis options as within these choices there already is the ability to create a diverse amount of sounds.   Further methods could create an overwhelming array of sounds that will overcomplicate the sound base of the controller.


Visual Aesthetic
I decided to add in a display to create gestural associations with sounds and to display part of the inner workings of the control scheme.  I kept the display limited to not distract the audience, but enough that certain changes in the display would come to be associated with controls during the performance.  I imagined the display acting as the second body of the instrument (such as the piano body, and the controller represents the keys).  In an ideal performance the performer would be part of the projection, so standing in the middle surrounded by the moving components and may have a enlarged display showing the movements of the controller itself.



Xbox Performer – Instructions

The xbox controller operates around four different modes of control, chosen by the D-pad; left, right, up and down.  Left, right and down each allow a different form of sound synthesis while up controls the global tempo.  The choices that are made are then  represented visually through the GUI.


Button layout of a wireless Xbox 360 controller


The first action (assuming the controller is connected and the Dac on) is to press start.  This will then allow the D-pad to choose which synthesis method (left, right, up and down).  Once this is chosen, up and down on the D-pad allow you to choose which voice within left and right you wish to target.


For example to choose the right method and target the second voice you would:
-press start
-choose right on the D-pad (chooses right voice)
-press up on the D-pad (moves to 2nd voice)

The first voice is automatically chosen if no preference is given.

At any time within the piece you can move between each different synthesis method by pressing the start button.


Control Scheme
X = Noise
Y = Sine
B = Turns on loop
A = Play Note

Right Trigger = Function shape
Right Stick (left and right) = moves filter gradually
Right Stick (up and down) = moves filter in larger increments (toggled on and off with right bumper)
Left Bumper with Right Joystick (up and down) = changes Q of filter
Left Stick (left and right) = moves pitch gradually
Left Stick (up and down) = moves pitch in larger increments

This synthesis combines white noise with a sine tone (either sound can also be used alone).  The function shape effects both the sine tone and noise and extends up to 10 seconds in length.  You have control of the pitch of the sine tone, and the filter settings on the noise (Q and frequency).   Each sample can be up to 10 seconds long.

This part can be looped, and has 6 different potential voices.  Each loop is 8 bars long, as based on the global tempo.


Control Scheme
B = Turns on loop
A = Play Note

Left Trigger = Function shape of Modulation
Right Trigger = Function shape of Amplitude
Right Stick (left and right) = moves harmonicity gradually
Right Stick (up and down) = moves harmonicity in larger increments
Left Stick (left and right) = moves carrier frequency gradually
Left Stick (up and down) = moves carrier frequency in larger increments

This section of the controller uses Frequency Modulation and allows control over modulation, amplitude, carrier frequency and harmonicity.  Each sample can be up to 2 seconds long.

This part can be looped, and has 6 different potential voices.  Each loop is 8 bars long, as based on the global tempo.


X = Noise
Y = Sound
A = turns section on or off

Left Joystick (all directions) = controls noise filter
Top Right Bumper = turns on/off joystick (allows you to save a position)
D-pad (left/right) = chooses speed, ranging from a whole note to 16th note.

This synthesis acts differently from right and left, and while allowing a strong element of control, also leaves some sections unchangeable by the user.  It uses a phasor connected to a sine tone to create a sequence of pitches that sound somewhat randomly generated.  The pulse is linked to the global tempo and the speed can be changed; in combination these two controls allow for a lot of variety.  The noise and sine tone can be used individually or in unison.


Control Scheme
D-pad (left and right) – Set global tempo

The global tempo alters the speed at which loops will be played back and the speed of Down.  Depending on what is happening this may or may not cause a significant impact on the sound.


Common Information
Inlet 1 a is global on/off
Outlet 2 sends current voice number and a 1 or 0 for its status (for example 6 0)



The Display


click image to enlarge

Artwork by Mads Peitersen

The display is based around the same principle, of left, right, down and up.

The upper left hand side shows the filter and amplitude function of left, the number represents the frequency of the sine tone, and the images below represent which voices are currently being looped (in this case 2, 4 and 5).

The upper right hand side shows the modulation (left) and amplitude (right) function of right, the left number represents the frequency, the right number the harmonicity and the images below represent which voices are currently being looped (in this case 2, 4 and 5).

The two numbers at the bottom represent the tempo and the speed of down.


Possible Future Additions

I theoretically could add a large number of future synthesis options. I think a couple more could be added in the future without clouding the output.

I’d like to add further computer input, so some sections will work as small algorithmic composers.

Overall I’m happy with this as a basis for a control scheme, although I could add pitch memory for the loops.  I purposely chose to exclude this to avoid adding too many distracting textures, but it may be worthwhile in the future.