Wednesday, 22 January 2014

Connecting All Sensors

I've found a problem after connecting all of the sensors. The 'Arduino2Max' template only allows for the use of 6 analog inputs. Therefore I've had to go into the Arduino code and see what needed to be changed.


Initially the code read only inputs 0 to 5. By changing this to 0 to 9, I should be able to receive the Arduino mega's first 10 analog inputs.

Finally the other issue I've dealt with was the renaming of some objects in the max patch.


I have changed the names first 10 inputs to ensure they are linked properly in my main patch. Once I had done this, there were no further problems in receiving the desired inputs.

Saturday, 18 January 2014

A Temporary Solution

As in the previous post, the video shows that the notes are playing far too fast because very change in pressure is creating a bang that is triggering the midi over and over. Therefore I've found the max object 'onebang' which only lets the first bang through when another bang is triggered.

Therefore I've set up a metro (linked to the 'on / off' toggle) that will produce a bang once every second. This means that the same note can only be triggered once per second. This creates a limitation, such as trills wont be possible and other similar techniques, but as this is a tool for 'non musicians' I don't think this restriction is that problematic.

I will need to look over the possible uses of > and < to perhaps create a threshold for all inputs. This would definitely be more effective than the use of  metro and onebang objects.




Wednesday, 15 January 2014

Sensors to MIDI to DAW


Although I only have 4 inputs at this time, I thought I would try and rewire the midi into my DAW to see how it sounds. As suspected the sound isn't quite right. There is no delay after a note is triggered. This results in the note being played over and over in a short space of time when the desired result is just one note to be played once. I'll have to find the best way to build this into my patch.

Friday, 10 January 2014

Sensitivity

The problem I have found initially with the sensors, is that they tend to pick up the slightest vibration and therefore often trigger unwanted notes. For this to be a useful tool, the sensitivity of the sensors is going to need to be decreased so that its clear when the user wants a note to be triggered. There is probably a better way to do this than the way I have done, however for the time being I have used an 'if' function to create a threshold.

I've noticed that a gentle knock by accident will cause less than 100 units. Therefore I've used the if function:

"  if $i1 > 100 then $i1==1 else $i1==0  "

This basically creates an 'on or off' switch for the signal, similar to the use of a digital pin. However the advantage of using the analog pins is that I am able to easily create this threshold, and change it. Ideally however I would like the threshold to be an integer box so I could change it easily and on the fly if necessary. However to achieve this I may need to rethink the structure of my initial patch. For now functionality is the priority rather than efficiency.


EDIT:

Actually, the I thought this made a difference but the second time I loaded the patch it didnt seem to do anything. having said that, I know now that I definitely need to find a way to control the sensitivity of the inputs. The more immediate problem however is making all the inputs work, as the standard Arduino2Max template only allows for 6 analog inputs, when I need 10. Therefore I will need to edit the Arduino code in order to read the extra inputs.