Wednesday, October 7, 2009

Week 5 - Using Arduino's Internal Pull-ups


Potential Divider (above)

Top - Pull-up resistor

Bottom - Pull-down resistor


Potential Divider: v2 = (r2/(r1+r2))*v1............where v1 is volatge in and v2 is voltage out


Pull-up resistor:

This is used in conjunction with an internal switch inside the Arduino. It pulls the voltage towards the 5V if no external connection is made.

Using variables in Arduino code:

Variables make our code more human readable. They are necessary for coding a value. More importantly, it is a way of naming and storing a value.

int - 16 bit integers
long - 32 bit integers
byte - 8 bit integers

Arduino Serial:
Serial data is data in the form of ascending bits or bits that are sent one after another. Bits are sent as 1s and 0s.
The Arduino is hard-wired to "talk" to its serial port. Mac OS and Windows also read from serial ports.
Software that read serial information from Arduino include:
  • Terminal
  • Zterm
  • Hyperterminal
  • Cornflake
  • Serial monitor on Arduino IDE
  • Pd
  • Max/MSP
Some firmware to send serial information:


I = current - amps (flow)
V=voltage - volts (pressure)
R=Resistance - ohms

V/I x R

Variable resistor/Parallel resistors

R1 x R2/R1 + R2= total ohms of resistor.

series R1+R2+R3 = total ohms of resistor.

Friday, October 2, 2009

My musical aspirations for NIME Performance

At time of writing, my musical aspirations for this are still a "work-in-progress", or unsure for short. After watching and critiquing a number of NIME performances I am quite sure of what I like and what I do not like.

I do not like making noises just for the sake of making noises. A controller or an instrument can be very clever and unique, but it doesn't mean a performance with it amounts to interesting music. My musical aspirations for my NIME performance would be that it would have to make some kind of sense. So far, I have been very impressed by the Hyperflute performance at the NIME Performance 2008. This would be very close to what I would like to accomplish, either for my NIME performance or in my own time.

www.youtube.com/watch?v=qfEFzWtTLXs&feature=related

Joseph Malloch - T-stick

Some performances are just showcases of instruments and some are just vehicles for an artist. This performance shows how the use of drama in a performance can sometimes add volumes to the overall experience.

This performance showed a very obvious correlation between movement and sound. I thought the element of drama added by the artist was great, it really suited the piece and performance. In a way, it seemed like it was an essential aspect to the performance. Some of the physical sweeps showed a mastery and total control over the instrument that was really very impressive. The slow movement of the body twins the eerie atmospheric layers of sound being outputted while the quick, aggressive, action or fight-like movements are highlighted with various sharp tones and noises.

NIME Performance 2008: Natasha - Hyperflute

This impressive performance uses a flute and sensors to create a variety of different sounds and wind-like effects. I like this an awful lot. The movement of the player really matches the sounds being output. As the player swings the flute, it creates rhythmical patterns and the wind effects on top of these rhythms create gutteral, even animal sounds. The piece as a whole sounds like a living thing doing something, which impressed me very much.

The audience can see, through the movements of the player, that there's a very obvious connection between the music, the instrument and the instrumentalist. As the movements of the player get more intense and aggressive, so does the music. This is definately what I would look for in a controller design.

Micheal Waisvisz - The Hands

This performance was very impressive. Well, I'm not so sure about the animal noises. No need for those I say!

Otherwise, the use of his voice in creating tribal drones for the introduction was great, and he appeared to be in total control of his sounds. Although, he might not have been in control at all. Be it his choice of sounds, or his choice of structure and overall 'feel' of the piece, it wasn't very obvious to me what he was controlling and manipulating and what he was not. It was transparent to me, and I'm sure anyone watching, that his voice was a main sound-source for the piece. Yet his movements, arm and especially finger movements, were not making apparent enough changes to the piece. To my eyes anyway. I'm sure there's someone out there who could associate his bodily movements to the music being created here.

After watching this performance for the first time I was left impressed by the sound of the piece and the idea that Waisvisz was controlling the sounds with a controller on each hand and buttons under each finger, but was left wanting more detail. I would rather see a more obvious correlation between movement and sound. I also felt distracted by facial expressions, which is not a good thing when you're supposed to be appreciating a piece of music created through movements of the body and voice.

But maybe I'm being too critical now...

Perry Cook - Principles for designing computer music controllers

This article is a good source for someone looking for ideas on innovative and interesting computer music controllers. It is a chronological account of a number of attempts at designing controllers in ways not already done. It describes challenges and forms some simple rules to adhere to when trying to design easy to use controllers. Perry Cook seems to have learned some important lessons during the research period, one most important lesson, in my opinion, is to try not to make the same mistake twice! It seems to me that through the design and implementation of the designs that one will learn from their mistakes.

One major "principle" gathered from these designs that strikes me the most is the one termed "Smart instruments are often not smart". This stresses the point that sometimes (mostly in my view), an instrument that can be just picked up and played with both simple and expert knowledge at hand is a good instrument. Controllers or instruments that have a sharp learning curve often prove to be frustrating to the novice. This in many cases leads to the instrument being binned. I'm not forgetting the fact that it is very rewarding to learn a difficult thing and eventually be an expert at it, but nowhere does it say that one cannot enjoy the best of both worlds: an instrument that rewards the amateur and the expert alike.

Cooks views on making a piece, not an instrument are quite interesting also. He refers to the HIRN wind controller and its huge bandwidth not necessarily being a good thing. What I gather from this is the view that too many parameters being available to control does not lead to good music if there is no prior composition at hand. I have seen good use of a wind controller however, which I will be referring to in a later post.

Thursday, October 1, 2009

Week 4

Circuit building

I began building a simple circuit using:
  • A breadboard
  • A 10K and 150K resistor
  • A switch (part no. MCTH4-47S2-V)
  • An LED
  • The Arduino
  • Some wires
In order to make the job of building the circuit easier, I followed the circuit diagram that I drew which showed the chain of actions and flow of current that would be present in the final circuit. It is advisable to build circuits step by step ie in sequence as opposed to starting at the end, the middle or skipping to and from either.

Pins, when not connected, are in an indeterminate state ie output can be either HIGH or LOW. For this we use a pull-down resistor to hold the output to 0 or LOW when not connected.





Colour code for a 10K resistor:
  • Brown/Black/Orange
Arduino Code:

void setup()
{
pinMode(10, OUTPUT);
pinMode(5, INPUT);
}

void loop()
{
int state = 0;
state = digitalRead(5);
digitalWrite(10, state);
}