Tuesday, 16 March 2010

Fun with Tape-Heads

Hello all, for one of this weeks experiments I made a device for manually playing back magnetically stored data ( eg credit cards , cassette tapes, floppy disks, etc). This idea was taken from Nic Collin's Homemade Electronic Music book.

This was made using a tape head that was taken out of a standard cassestte player (preferably broken, as it definitely will be afterwards). Hopefully with the wires intact, we can then solder these onto a standard guitar lead which has been cut in half (about an inch of the outer coating stripped back ,the outer wires braided together, and then the inner coating stripped also about an inch).




I then made a sound board out of a cassette tape and a bit of cardboard (it is better if you mix a few together to give you a more varied sound). This was done by simply taking a cassette, cutting the tape at the opening, and wrapping it carefully around the piece of cardboard, until you have something that looks like this -



What we have done is essentially taken an analog mobile music playing device (the cassette player) and hacked it so that we can have more control about the sounds that we produce from the data provided. In effect, it acts a bit like a primitive sampler, allowing us to skip, scratch, speed up, slow down, and mash together tracks on top of each other.

Experiments like this are very simple, but allow us to consider all the data around us, as it can also sonify those old credit cards and magnetic data which sit collecting dust. Hacks like this also allow us to explore and understand sound and technology, by stripping it back to its bare components.


Wednesday, 10 March 2010

First steps with Arduino or How to make a cheap, quick, awful synth!





This week I attempted to make the most basic synthesizer using the arduino, some potentiometers and a piezo. So heres the setup,

I put the three potentiometers in a circuit, with a ground and power supply. Then on a separate circuit we plug in a piezo. Each potentiometer is connected to an analog input so the values can be read, and the piezo is connected to a digital pin.

This is basically an upgrade and mish-mash of a few basic examples on potentiometers (http://arduino.cc/en/Tutorial/AnalogInput) and on tones (http://arduino.cc/en/Tutorial/Tone). The piezo generating tones depending on the values given by the potentiometers.



For this synth, as shown in the video, one potentiometer controls frequency (Hz), one duration of tone, and the other the frequency (time) of the tones. It makes a pretty horrible little sound, so I definitely wouldn't watch the whole minute of this video, but I am pretty impressed by how quick this sort of project can be put together.





Complete Code-


int sensorPin = 0;
int sensorPin1 = 1;
int sensorPin2 = 2;//
int ledPin = 13;
float sensorValue = 0;
float sensorValue1 = 0;
float sensorValue2 = 0;

void setup() {
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}

void loop() {

sensorValue = analogRead(sensorPin); //0-342
sensorValue1 = analogRead(sensorPin1); //343-712
sensorValue2 = analogRead(sensorPin2); //711-1023
Serial.println(sensorValue);
Serial.println(sensorValue1);
Serial.println(sensorValue2);
tone(8, sensorValue, sensorValue1);
delay(sensorValue2);
}

New York?




Hello all!

This week (actually 2 weeks ago now, took a while to publish this!) I decided to plot a route navigating some of the top 5 tourist spots in New York, using a map of the big apple, and the set out from brighton train station and document these spots, walking the same route. Basically the idea is to reflect on space and place in an inventive way. Also I have never been to NY and thought this might be a good chance!


A. Central Park -



B. Carnegie Hall -



C. MOMA -



D. Rockefeller Center -



E. Times Square -

Monday, 8 March 2010

Synthesizer

Thought i'd share a picture of a digital synthesizer i'm currently working on in SuperCollider. It basically generates sine waves which can be modulated, enveloped, reverbed, sequenced, and filtered. Still a way to go to make it as I want it, but I can already get some boss sounds out of it!





Later, once i've finished and boxed it up, i'll place the program for free download

Wednesday, 17 February 2010

Sound-Art



For this weeks experiments I used Processing together with the Ess library to make some art generated dynamically using sound. All of the pieces displayed use FFT to break up the sound into different frequencies and volume level to determine various aspects of the composition. The images presented are snapshots from the applet, which generates fluctuating and shifting imagery depending on the current sound being played.



All of the experiments were variations along the same theme and utilising the same data, however the compositions were altered by changing parameters such as shape primitive, colour, and position of the shapes, allowing them to be controlled by different aspects of the sound input for different effects. A certain degree of randomness was also involved in order to make the images a little more aesthetically interesting. These all take live input sound from the microphone so they are interactive pieces which can be played with and manipulated.



Complete Code-

import processing.video.*;
import krister.Ess.*;
FFT myFFT;
AudioInput myInput;
int bands = 64;

void setup(){

Ess.start(this);
myInput = new AudioInput(bands);
myFFT = new FFT(bands*2);
myFFT.equalizer(true);

myInput.start();
size(700, 500);
background(0);
rectMode(CORNER);
frameRate(4);

}

void draw(){

for(int i = 1; i < x =" myFFT.spectrum[i];">



Monday, 15 February 2010

Analog-Mobile-Music


For one of this weeks experiment I decided to try something out from Nic Collin' book Homemade Electronic Music. Basically I bought a telephone coil from Maplins (£4.99 - looks a bit like a stethescope) which can be used to pick up electro-magnetic radiation given off from circuits and the like, and plugged it into a mini battery powered amplifier in order to sonify the electronic noises and bleeps given off by my mobile phone. I then recorded these into renoise and exported them as a wav.

This experiment interested me as it allowed me to make sounds using my mobile phone in a non-conventional way. Picking up the hidden sounds that the mobile phone gives off, and creating sonic output from usually inaudible sources. The noises made by the mobile phone are always in some sense there, giving off signals which our senses cannot perceive. In this experiment the inaudible, hidden elements of a device, utilised primarily for its audibility, are foregrounded, giving us a new perspective on mobile technology.

Monday, 8 February 2010

Using Mobile Processing (Part 2)

My following experiments with mobile processing involved extending it to involve simple interactions with the user. I experimented with many things, touchscreen, sound, video and camera.

My first attempts with touch screen were quite successful, I basically made a very simple app that acted as a kind of "random bright triangles brush stroke" It was based on a simple sketch I saw for Processing by Vault Dweller. This midlet (at they are known) utilised the touchscreen on my phone as a method for drawing the images. The stroke comrpised of generating randomly sized and positioned triangles around the pointer, all with high brightness and saturation.

The following experiments were not so succesful. After wrestling for many hours with my phone, trawling message boards for help I came to the conclusion that my phone was unable to run apps that used either video or cameras. With regards to sound it was inconclusive - so if I desire to try again it might be worth playing around with making simple synthesizers for mobile phones. Although without a way to test or run apps (the emulator also wont allow video or camera input) it was impossible to extend out into these areas.

Here is the code for the Triangle's App (sorry, it has hacky and useless bits left in from other experiments which are unnecessary to run the app, but at least it works!) -

int x;
int y;
int lastX;
int lastY;
boolean screenTouch;

void setup() {
softkey("Shake");

x = width / 2;
y = height / 2;

framerate(15);
background(0);
stroke(255);
fill(0);
stroke(0);
strokeWeight(3);
colorMode(HSB);
}

void draw() {
if(screenTouch){

lastX = x;
lastY = y;
fill(random(0,255), 255, 255);
triangle(x + random(-20, +20), y + random(-20, +20),
x + random(-20, +20), y + random(-20, +20),
x + random(-20, +20), y + random(-20, +20));

}
}

void pointerDragged(){

x=pointerX;
y=pointerY;
redraw();
}

void pointerPressed(){
x = pointerX;
y = pointerY;
lastX = x;
lastY = y;
screenTouch = true;
}

void pointerReleased(){
screenTouch = false;
}

void softkeyPressed(String label) {
if (label.equals("Shake")) {
background(0);
}
}