Friday 6 November 2015

Using MIDI control

Over the two weeks our aim has been to control a virtual keyboard using physical input, and also via data taken from the web.

For the physical input, I have been studying the use of MIDI, and using non-standard physical inputs, such as a computer mouse and Xbox 360 controller.

The physical hardware I am using is an Xbox 360 controller, which has standard button inputs, analogue inputs which detect range of motion, and pressure sensitive triggers. This allows a wide range of inputs, which I hope we can apply later in our project, with the aim to be able to use multiple arduino sensors such as heat, light etc. as the final aim.

The software I have been using is Ableton Live 9, a Digital Audio Workstation, which contains an infinite amount of virtual instruments, recognises MIDI input, and is also capable of MIDI mapping, meaning I can map controls to any part of the software (from playing a note on the virtual keyboard, changing volume, filters, eq's etc.)

Ableton has software in-built to recognise actual MIDI instruments, such as the APC 40, electronic pianos etc.,  but the problem I am trying to solve is how to use devices that are not designed to be used for MIDI control.

To bridge this gap, I found GlovePIE, which is a software that is used to map keyboard inputs to controllers for use with video games that do not have controller support as standard, but instead I will be using it to  to map any form of input, into MIDI, which is then put through an internal MIDI port, using LoopBe.

This means that the basic map of input is

Xbox Controller - USB - GlovePIE - LoopBe - Ableton Live.

Below are images of the software interaction.




midi.DeviceOut = 2  is where GlovePIE is sending the MIDI to, in this case channel 2.  LoopBe acts as the bridge, taking the input via channel 2 and sending it to Ableton Live.

midi.channel1.c4 = XInput.A means that when I press the 'A' button on my xbox controller, it activates the midi for the note A4. 


These are the notes where individual sounds, such as a snare, kick or other samples can be mapped.

Below is a screencap of these two interacting.

Below is a video of the controller in action







No comments:

Post a Comment