LASER - BACK IN

20100806 19:41

This is first release of little noise duo I’m forming together with Niklas. It was made during a visit in Timelab few weeks ago. It is a laser cut phono record that is ‘recorded’ with a drawing program. More or less guaranteed to destroy your needle. Check more detailed description from Niklas’ blog entry. We also made a video where I’m trying to explain what this is all about. You are also able to listen the tracks on Youtube (there are interactive buttons at the end of the video).

I would also like to thank Frédéric Alstadt from ANGSTRÖM MASTERING for quality control of Back In.

At the moment Laser is buzy composing new tracks to future releases and continuing perfecting our expression to maximal satisfaction.

Audio graffiti

20100618 00:07


Audio Graffiti project was developed as part of Roland Cahen’s sound art workshop between 7 and 11 September 2009 at Computer Music and Technology department at Sibelius Academy Finland. Concept and design was developed by Matti Luhtala and myself. Workshop outcomes were published in 14 September at old railroad tunnel redefining the previously forbidden space. Idea was to make a graffitti that makes sound by itself.
The version that we came up with wasn’t actually painted, we used alumium tape in stead of real conductive paint. To connect the electronic circuit to the alumium tape we used much more expensive copper tape. Copper tape is quite awesome stuff, the magic is that the glue on the tape is also conductive which is not the case with common alumium tape. As the glue is conductive, you can just tape a circuit on a surface. So we used common alumium tape for larger surcafes and copper one to connect two alumium tape slices to each other or to circuit itself. If we would have used conductive paint, we would still have used the alumium tape to make sure the paint is well connected to the other components. This project didn’t need too many components: couple resistors and capacitors, solar panel and piezo.
The fundamental idea was to have a painting that would produce sound without any other power source than the sun. Basic idea was ripped of from Ralf Scheiber even though we didn’t use any of his concrete designs on our graffitti. Instead I designed my own circuit using some random 4 gate NAND chip that was lying around in my stach. NAND gate synths are quite easy to design. As I’m writting this half year after this project was done, I don’t anymore remember the actual diagram, but fundamental idea is to create zillion wacky feedback loops between the gates of the chip. Tuomo Tammenpaa has detailed description at his blog about NAND chips. When you understand the magic behind the chip, you can pretty much consider it as four module modular synthesizer and patch it any way you wish to. If you don’t, just follow Tuomo’s blog entry and replace power source as solar panel.

It turned out that tuning the circuit is extremely hard as everything affects anything and sun being the most important input source keeps moving in the sky! But when you get everything tuned correctly, you will have your bird chirping by almost unheardable volume under the traffic noise. Which I in a way enjoy as trying to cover noise with sound is always some kind of loudness war. Even though chirping of the graffitti is super quiet, it can be heard surprisingly far, assuming that you are quite young person. That is probably as the frequency band the chirping happens isn’t that crowded of traffic noise.

Images © 2010 Matti Luhtala / Tunnelvision

Kohtauskone

20091001 17:05

This one is a small project that I had to do twice to get right. It is a pedal used for controlling strobe light through DMX protocol. Technically it is built on top of a Pro Mini Arduino with simple DMX driver circuit. It has button to kick the action, rotating switch for choosing different presets and one switch for future expansion. You could basically control any DMX device with this hardware, but I built it for Stairville 1500DMX strobe light.

I made first version half year ago. At that time there wasn’t real DMX library available, just and example sketch that had suspicious elements in it. However it worked fine when powered through USB but for some reason quite buggy when external power supply was used.

The main difference with this second version is size. As Pro Mini is so tiny, I could build whole thing to a smaller box. I know there are lots of people who don’t understand what would be the point in using a non USB version of Arduino board, and this is a perfect example of the project where you will not want to fit Duemilanove inside. Also I wanted to minimize all external wires, so I made this one to work with 9V battery. Below is the picture of the finished product.

First step was to build a DMX driver. I used the instructions at Arduino Playground but built the circuit on tiny piece of circuit board. The circuit gets power through Arduino and outputs + and - data lines to xlr jack. Note that I used evil 3 pin XLR as my strobe light does use that one. Officially you would use 5 pin XLR jack. You can see the driver on the bottom right of the picture above.

I really like rotary switches as you can fit lots of different functions in such a small space. I basically soldered 100 ohm resistor between each pin, using the switch as stepped potentiometer. Similarly as potentiometer the values can be read to the Arduino using analogRead-function.

During the summer folks at Tinker.it did come up with this extremely simple DMX library called DmxSimple. It is basically doing all the hard stuff in background and enables you to focus completely on the actual features your device needs to have. The library comes with couple simple examples of which other one is for stand alone project like this and another to computer/DMX interaction.

DMX protocol in itself is rather simple. Each device has an address that can usually be changed somehow on that very device. For instance my strobe light has a dip switch that is used to select the address. I have selected address ‘1′. If you know the address of the device you can adjust the parameters by sending a value between 0 and 255 to that address through your DMX controller. That usually adjusts the brightness or does something more special for the light you are controlling of. In many cases you can control more than one parameter of the light. In that case addresses following the first address are used. For instance my strobe light has two parameters, speed and brightness. If I send DMX message ‘255′ to address ‘1′ and DMX message ‘100′ to address ‘2′, the strobe light blinks as fast as it can but not as bright that it could. If I would change the start address of the strobe light to 100, the channels I would need to send DMX messages to would be 100 and 101. Here is the picture of my strobo lights address selector switch.

At least my strobe light works such that if DMX flow (the library is continously sending DMX messages in the background) stops, after half second it updates it both channels to zero and stops blinking. Therefore it is possible to switch the controller of to save battery even if the strobe is on. However I am planning to install a relay to the pedal that would switch the power off of the DMX driver when it is not needed to extend battery life.

Here is the code I have used. It is fairly simple to modify to function with different lights and such:

/* Simple strobe light pedal example
** (c) Jari Suominen 2009
** This piece of software is hereby released to public
** domain.
**
** It uses DMX simple library which is available from:
** http://code.google.com/p/tinkerit/
 */

#include <DmxSimple.h>

#define button 6
#define rotary_switch 0
#define strobo_address 1

boolean button_pressed = false;

void setup() {
  DmxSimple.usePin(3);
  DmxSimple.maxChannel(2);

  pinMode(button,INPUT);
  digitalWrite(button,HIGH);
}

/*
  Main loop, checks if pedal has been pressed or released
  and works accordingly. For the sake of clarity I'm not using
  all possible presets here.
 */
void loop() {
  if (!button_pressed &amp;&amp; digitalRead(button)==LOW) {
    // Button was just pressed
    int preset = get_preset();
    if (preset==0) { // FAST
      DmxSimple.write(strobo_address, 255);
      DmxSimple.write(strobo_address+1, 255);
    } else if (preset==1) { // MEDIUM
      DmxSimple.write(strobo_address, 150);
      DmxSimple.write(strobo_address+1, 255);
    }
    button_pressed = true;
  }
  else if (button_pressed &amp;&amp; digitalRead(button)==HIGH) {
     // Button was just released, lets turn the strobo off.
    DmxSimple.write(strobo_address, 0);
    DmxSimple.write(strobo_address+1, 0);
    button_pressed = false;
  }
}

/* returns the value the rotary switch is set to */
int get_preset() {
  int val = analogRead(rotary_switch);
  if (val < 50) {
    return 0;
  }
  if (val < 110) {
    return 1;
  }
  if (val < 210) {
    return 2;
  }
  if (val < 300) {
    return 3;
  }
  if (val < 400) {
    return 4;
  }
  if (val < 500) {
    return 5;
  }
  if (val < 600) {
    return 6;
  }
  if (val < 700) {
    return 7;
  }
  if (val < 800) {
    return 8;
  }
  if (val < 900) {
    return 9;
  }
  if (val < 1000) {
    return 10;
  }
  return 11;
}

Pallo

20090811 11:29

This is a gesture controlled MIDI controller I designed and built as a commissioned work. It has a tilt sensor which affects to MIDI parameters it is sending out but also the color of the ball. I built several stereotypes to get it work the way I preffered. The pictures are from third generation. I am currently putting together fourth generation with better LEDs.

Pallo has two groups of four LEDs: red, green, blue and white LEDs. All are LEDs are superbright. I’m using red, green and blue leds to for rgb colors and white to give white color, as it seemed that creating white with colored leds was difficult. In future models I’m testing true superbright RGB LEDs that shouldn’t have this problem.

Get the Flash Player to see this content.

The heart of the controller is Arduino microcontroller. I have used Pro Mini -version of Arduino. It is fully functional Arduino without usb connection and built to a circuit board size of a stamp. The tilt sensor is Lilypad Accelerometer and the device is powered from on 9V battery. One battery should last approzimately 10 hours.

The MIDI signal the device is sending out is two different CC parameters that are tilting in X- and Y-axis. Sadly there is no footage of using the MIDI out of the device which I didn’t have time to shoot before I sent the ball(s) to my client.

If you are interested of custom MIDI controllers, please contact me and I’ll see what I can do.

Making of with more details coming soon…

Test Drive

20090514 12:49

I finally managed to get the core system installed to my Hopeanuoli. At the moment it only reads the RPM from tachometer and left and right blinkers.


Here is a shot from first test. The voltmeter moved so everything looks bright!


Here I have installed the circuit board to this lovely VHS case. Also I have wired the system such that you can operate the audio system from inside of the car.


Here is shot of my experimental setup. The car have been attached to Arduino lying on the floor. Arduino is then connected to my EEEPC. For some reason system misbehaves badly if in addition to Arduino, the volt meter isn’t attached.


This last shot is from the FMod-project that takes care of transforming the RPM data coming from the Arduino to artificial engine sound.

Backend rising

20090513 23:41

As I need to present the prototype tommorrow within 14 hours time begins to run out. But after fighting with the serial protocol I finally managed to control RPM parameter at the FMod with small trimmer attached to Arduino. Soon enough I hope to be able to replace the screwdriver with real tachometer. Also adding accelerometer should be fairly straight forward task from now on.


This image reveals my highly professional setup. Breadboard still contains some remains from older projects so it is a bit messier than it would need to be. I have FMod running on my EEEPC and if I would not been as lazy as I am I could have uploaded a video that would actually prove that turning the screwdriver actually puts pedal to the metal at FMod side.

I will hopefully upload some code also at some point. At the moment it is quite evil so you will have to wait a bit.

More tweaking

20090512 15:28

Once this project is hopefully in couple of days ready for testing I will aim also to test it on some other people than me. But Hopeanuoli is still a bit too bad shape for that. Although I’m used to drive with car’s that are bit cranky, I’m not sure if I know anyone (besides my little brother) who is able to do this without focusing to running of a car engine with each and every brain cell one has. There is also still some tension in the air as there is still change that I need to put this puppy to sleep if I find that he’s to sick to go on. Luckily the neighbourhood I live has an open garage where it is possible to do some reparations with decent tools. As I now had a street legal car I could drive it of my parents yard and continue the building with more professional environment.

After changing the oil and oil filter I adjusted the valves. It seems that at least one valve was adjusted incorrectly as exhaust and inhaust valves seemed to have opposite values they should have. More importantly I noticed that the small bar connecting accelerator pump to gas throttle was missing. This basically means that every time you hit the gas pedal, engine won’t get enough gas and coughs. This fits perfectly to symptoms. I’ll visit some junk yard tommorrow and try to get replacement part which would enable someone else also drive the car by this Thursday.


Here is a host of the carpurator showing suspicous looking mixture setting screw and accelerator pump at the bottom right.

I also did find interesting meter from the garage that can be used in metering rpm, richness of the gas/air mixture, spark timing etc. I’ll also try that tommorrow.

Measuring rpm with Arduino

20090505 22:45

The most important part of my Fiesta Mk2.0 is the rpm data from the engine. That is basically an analog value that has to be forwarded to audio engine. There are couple of ways to detect the rpm easily. I chose to IC way. It would also been possible to hack a commercial rpm meter or count frequency straight with Arduino. Frequency to voltage converter IC costs only 3 euros so it is significantly cheaper than rpm meter. Pure Arduino solution suffers from lack of accuracy. In my solution I convert the rpm of the engine to voltage with LM2907 IC circuit and connect that to Arduino’s analog in.

In past I have tried to measure frequencies by counting pulses with Arduino. But usually I have had problems with the accuracy I have managed to get. I happened to find a datasheet of LM2907 which is small IC circuit doing the frequency to voltage conversion on its own.

The datasheet of the IC even has an example circuit that can be used in measuring the rpm of breaker pointed ignition system. So it should be quite straight forward to use this circuit and run the output to Arduino. Then you will only need to map the voltages to right rpms and send that value through USB to FMod engine. I also did find a recent discussion about similar problem at Arduino forum.

At the moment I still haven’t actually built the circuit and installed it to Hopeanuoli. I’ll update this as soon as this will be done.

Step 1 - making it street legal

20090505 22:20

Let me tell you some history of this project. It all started in year 2003 (probably) when I was driving in Norway with my friends older brother’s Ford Fiesta Mk1. Mk1 is actually quite sweet car and to me the only ‘real’ Fiesta. However after that trip we decided to do similar trip again and in following year I had this very Fiesta of my own that I’m using as a basis of this project with me. During that trip I started wondering, how in hell can people manage to drive with newer cars that are so quiet that it might be hard to hear whether your engine in malfunctioning, road is in bad shape, your blinker is on, or whatever. I realized that in not-so-distant future these sounds would be artificially made, which would mean that they can really be what ever sounds. Not necessarily anything car or motor related, but anything.

Later I borrowed my trusty Ford Fiesta that has been named as Hopeanuoli (named after Finnish translation of Ginga: Nagareboshi Gin) to my brother(s) for couple of years after which he got ill and just sat at my parents yard for last one and half year. At this point all the odds are that he would became one beautiful cube of metal soon. But I decided to give it one more chance.

What I knew at the moment, was that I needed to redo the ingition circuit of the car as it didn’t run that smoothly. The left front tire was also stuck. What I didn’t knew at the state of the car when I headed towards my parent’s house was that the interior of the car was covered in mold. Quite sweet view and smell too! Fixing up ignition system was quite straight forward thing to do. Changing and adjusting breaker contacts, cam, distributor cab, distributor capacitor, spark plugs and all leads did more or less do the trick. Motor started to live. The left tire was more tricky. The problem was that the disk brake on that wheel was stuck. I unattached the break system from the wheel, detached break cylinder, changed seals and redid everything in reverse order. Added some brake fluid, removed the air from the system and I did have a rotating wheel. Sweet. There where also couple smaller flaws, the wiper engine didn’t budge, fixed that with new ground cable from chassis to ground of the engine.


Engine room of Hopeanuoli looking good!

Then it was time to take Hopeanuoli to MOT test. I have never been as nervous is this time as it was obvious that it wouldn’t pass it. I haven’t even dared to look underneath of the car, and judged on the amount of rust on the wheels alone, it wouldn’t be that beautiful sight. Also there is still some problem with the engine, it doesn’t run as before.


Here is the view of the interiours of Hopeanuoli.

Surprisingly Hopeanuoli did pass the test! However, exhaust test did have some strange values indicating that I probably should adjust the valves soon. This might also be the reason for the problems of the engine. There also was hole at the bottom of the car! But it was so nicely shaped that the inspector thought that it was part of the design. Well it most likely wasn’t! But a pass is a pass!


Mold on the backseat looking good!

Some observation I made when driving the car from my parent’s place to my home. The rolling noise from the wheels totally covers to engine noise in highway speeds. Actually this is something folks at Ford did screw with Mk2 Fiesta. Mk1 Fiesta isolates the noise from outside much better. The noise is also so loud that it covers the quiet clicking of the blinker and even though I saw the indicator light on the dashboard, I wasn’t convinced that the blinkers would actually be blinking. Other observation was the steering. I have resently only driven my mom’s Mk3 Fiesta which have much more professional feel than Hopeanuoli, but the feel the Mk2 Fiesta has when you are steering is absolutely awesome. I might add that this car doesn’t have power steering - it doesn’t even have a break booster! Still you really have a feel of total control when dricing this beast.

Ford Fiesta Mk2.0 kick off

20090505 20:52

This is thew first post of the most retarded project I may ever have started. The idea is to take a crappy car and update its soundscape with better sounds and improve the driving experience this way. Someone could want to change their car to sound like Ferrari. Someone would want to feel like Luke Skywalker riding his landspeeder. By using isolating headphones it is possible to isolate existing realworld soundscape more or less totally and replace it what ever you can imagine to. Also someone would want his/her vehicle to have more attention on the streets could feed artificial audiosignal to the car stereo, open the windows and pump up the volume.

So this is the plan. I have this old Ford Fiesta that is 25 years old and barely moves. First step - make it street legal. Second step - create couple audio themes using FMod Designer. Step three - insert the themes to the FMod audio engine running on my trusty EEE PC. Step four - connect Arduino to the Fiesta and track rpm, g-forces, blinkers etc with it, using this info to trigger event on FMod sound engine. This way my old Ford Fiesta Mk2 will become a Ford Fiesta Mk2.0!

I will document the progress of this project here every time some progress have been seen.