Monday, March 2, 2009

Picture of the day, Guess what it is.


Just a bit from my latest project.

Monday, February 2, 2009

New Years Resolution: Removable Media Backup

Removable and portable media, I've found, is one of the toughest things to make consistent backup copies of. After all, there is really no way to predict when and/or where my multitude of drives will be plugged in. Which led me to a simple solution, back them up when they are plugged in.

In the past, I've used rsync to make backups on a regular basis (using cron jobs). I devised a similar scheme to backup removable media.

A simple python script scans for mounted media. Drives that have been configured to be backed up are copied through rsync and ssh to the specified backup location. Drives/media not configured for backup are simply ignored.

The script looks for a two line text file in the root directory of each mounted drive to designate whether or not to backup the drive. The text file contains the volume's name (not to be confused with the portion label, this name is only for aesthetics and organization) and also the location the drive should be copied to on a remote host. The script then continues to archive the drive to the location specified. When done, it moves on to the next drive and so on.

The script and example config file are included in a tarball below. Comments and improvements welcome.

Download the Drive Booty script [Box.net link]

Creative Commons License
DriveBooty by Dana Simmons is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

Sunday, January 4, 2009

Arduino Control Voltage: Rough Code

I've worked a little more on the Arduino Control Voltage. The processing code bellow takes midi input from any midi device, reads the note and velocity information and then spits it back out over the USB Serial connection to the Arduino board. It's a roundabout convoluted way of getting midi information (midi being a serial data stream to begin with), I hope to get a direct midi input wired up soon.
Arduino PWM to CV out circuit


import promidi.*;
import processing.serial.*;

int com = 0; //Comport/Serial port #
MidiIO midiIO;
Serial sOut;
PFont font;
int pit;
int vel;
void setup(){

font = loadFont("ArialMT-40.vlw");
midiIO = MidiIO.getInstance(this);
println(Serial.list());

midiIO.printDevices();

midiIO.plug(this,"getMidi",0,0);
sOut = new Serial(this, Serial.list()[com], 9600);
}

void draw(){
background(255,255,255);
textFont(font,15);
fill(0,0,0);
text("Midi Data",0,14);
textFont(font,12);
text("Note:",0,28);
text("Velo:",0,42);
textFont(font,12);
text(pit,42,28);
text(vel,42,42);
}

void getMidi(Note note){
println("Got a note!");
vel = note.getVelocity();
pit = note.getPitch();
println(vel);
//println(pit);
sOut.write(vel);
sOut.write(pit);
}


Bellow is the (now) simple code to be uploaded to the Arduino board which just reads the serial data and controls the PWM output.

/*Arduino CV. Reads note and velocity information form the serial line and outputs to PWM pin */
byte note = 0;
byte vel = 0;
int synPin = 11; //Pin # for pitch CV output

void setup() {
Serial.begin(9600);
}

void loop() {
if(Serial.available() >= 2 ){ //Wait untill there is enough information
Serial.println(Serial.available(),DEC);
vel = Serial.read(); //FIX ME: Implement velocity sensitivity (VCA Control)
note= Serial.read();
analogWrite(synPin,note);
}

}

Creative Commons License
Arduino Control Voltage by Dana Simmons is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.
Based on a work at code.google.com.

Monday, December 29, 2008

First revision: Arduino Control Voltage

The recent holiday brought into my possession a shiny new Arduino Duemilanove board, my first real project with it? Control Voltage output to control my self titled Uranus synthesizer (based on the Voice of Saturn synth). In any case, after a couple long nights I cam up with the sketch bellow, I've tested it and it seems to work with a little adjustment from the pot on the output.

I have yet to attempt at getting the thing tuned, but by runing the PWM output of the Fading sketch (a steady ramp up and down from 1 to 255) i was able to verify that it does indeed control my rather excentric synth. Thoughts, suggestions and critics welcome.

NOTE: The capacitor in the lowpass filter at the bottom is 470 uF, apologies for not adding the value.


Creative Commons License
Arduino Control Voltage by Dana Simmons is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.
Based on a work at code.google.com.

Saturday, November 8, 2008

Got boxes? Got Drums!

Inspiration often strikes in peculiar ways, lately, I was struck to bang on random resonant packaging materials and record the sounds they make. I assembled them into a hydrogen drum kit [download drumkit][Broken link now fixed] and composed a simple little percussion piece to demonstrate. Hurray for percussion!

Check out the Waxy Ear myspace and listen to the resulting BoxJar Jam song

Saturday, November 1, 2008

Build Pics: Home LAMP server

As promised, I've uploaded some pictures of my latest project: A home network LAMP/Backup/Print server. Details on configuration and ub3r tweaks next time.


I chose a micro ATX case, for slim compact size

Time to roll up the sleeves and get dirty!

It's a GeForce 7050M Motherboard

The three hard drives which will handle all the data (two 500 gig sata, one 80 gig ide)

One of the two drive trays to hold the RAID 1 array

It's coming together!

Installing Debian. (Before I realized it was much simpler to do a net-install via usb flash drive)

And that's that. This little workhorse has proven to be a very valuable investment. Besides backing up my main workstation every night to the RAID 1, It runs TorrentFlux to manage bittorrent downloads and also servers as a CUPS host to my home network for printing.

Thursday, October 16, 2008

Prelminary descrete circuitry guitar amp.


Above is pictured a very simple and wonderfully bad guitar amp circuit. The output is weak and horribly distorted but it works and can sound quite interesting.

After doing more research I noticed a striking similarity to my circuit and an NPN based Fuzz Face circuit