Tuesday, November 17, 2009


DMSS5 - Wk10

int analogData; // outgoing ADC value
int digitalPin;
int i; //used for the loop
byte x = 0; //byte to store digital status

void setup() {
//setup serial baudrate is set at the highest speed for USB connection
//enable digital pullups. All digital pins are set high
//and will only output change when connected to ground
digitalPin = i;
pinMode(digitalPin, INPUT);
digitalWrite(digitalPin, HIGH); //enable internal pullups

//Main Loop
void loop() { //read the digital pins in one go
x = PIND;
x = x >> 2; // Shift by 2 to avoid TX and RX pins
Serial.print(x, BYTE);

/* get analog in, for the number enabled */
analogData = analogRead(0); // Read current analog pin value
Serial.print(analogData >> 7, BYTE); // shift high bits into output byte
Serial.print(analogData % 128, BYTE); // mod by 128 for the small byte

analogData = analogRead(1); // Read current analog pin value
Serial.print(analogData >> 7, BYTE); // shift high bits into output byte
Serial.print(analogData % 128, BYTE); // mod by 128 for the small byte

Serial.print(255, BYTE); // end of digital signifier


Sunday, November 1, 2009

Accelerometer and proximity reader


This week we just got familiar and tested out the acceleometer and the proximity sensor. They wererelatively simple and the diagrams below pretty much explain it all:

Sunday, October 25, 2009

Max Code for Serial reading and display (awfully blurry)

Weeks 6 and 7 - the busy times


Things are getting busy but I get by. So this week we discussed mapping, the connection between the player and the instrument and however they are to interact, i.e. what the interface is controlling.

The importance of parameter mapping to the electronic instrument...

There are different mapping strategies, all of which are pretty self-explanatory:
  • one to one
  • one to many
  • many to many
"Instrument gesture mapping strategies as expressity determinance in computer music parameters." (1997)


All we really did this week so far is learn some code to reading serial in a different way by splitting up the total into separate bytes for a more accurate read.

Serial.print(analogData >> 7, BYTE);
Serial.print(analogData % 128, BYTE);

The first line shifts the first three digits to the end of the binary code, and the second line gets the remainder needed to make the total, e.g.

analogData = 1111111111

Byte1 = 00000111
Byte2 = 01111111

Monday, October 19, 2009

Mapping performer parameters to synthesis engines ANDY HUNT† and MARCELO M. WANDERLEY‡

It's been awhile because of the time off last week, but in the meantime we had to read a paper by Hunt and Wanderly about different mapping strategies for electronic insturments; that is, mapping to the player.

I honest to God found the paper a little monotonous in that there was a lot of saying what had already been said (well duh I hear you say :) ).

But I guess there were some interesting findings and views, in particular the experiment revealing that people prefered and excelled at the harder task, in this case, the more complex instrument (where are all the lazy people gone to?)

The idea of mapping is certainly something I figure though that I should consider when making my project, though with the ideas in mind, it shouldn't be so complex, but the points made in the paper about one-to-one ect made me think.

Friday, October 9, 2009

Forgot something...

Almost forgot, we watched this crazy fella called Ray Edgar who played this horrible sounding pole yolk that made sound based on the hands proximity to each other, tilt, and buttons pushed on the device. It was called the Flexonica 2. The video link is below: