I created my first prototype of the mixer. It’s more an experiment than a prototype from the fact that I only attached 6 knob to the arduino to start with.
Here are some picture of the making of the mixer. I used a normal plastic project box to do the trick, to give it some sort of finish to the product. Using hand drill and bee wax and my main tool (yeah I know really professional !) I glued the knob in place.
The main part of the experiment was to link the mixer to output to the computer. The first layer is the physical knob, then the arduino chip then processing. For the processing – arduino communication there is already a library. You can load a firmware in arduino (firmata) that helps the communication. Then in processing you can load the arduino library. By the way, the default library you can download from arduino site has an error. The library is named Arduino.jar, which gives you an error if you try to load it. You have to rename it arduino.jar, without the capital in order to make it work. (using pure:dyne I got an error renaming the file, I had to rename it to something else first then to arduino.jar – the file system assuming that Arduino and arduino is the same thing it wouldn’t let me rename the file!)
Here is where you can get more information about the arduino processing http://www.arduino.cc/playground/Interfacing/Processing. Make sure to rename the library in processing ~ there was a problem at first with the arduino library having a capital letter at the beginning…
Once that is installed properly I tried an example program and then modified it to my need. I wanted to have a visual that would translate a better more the knob feeling. It’s also a very simple example of popMAtrix and pushMatrix and rotate function. Here the push and popMatrix are used to prevent all the knob to be affected by each other rotation – while it was kind of fun to rotate the whole canvas!
import processing.serial.*;
import cc.arduino.*;
Arduino arduino; // new arduino object
void setup() {
size(470, 280);
smooth();
arduino = new Arduino(this, Arduino.list()[0], 57600);
for (int i = 0; i <= 13; i++) { arduino.pinMode(i, Arduino.INPUT); } } void draw() { background(0); stroke(255); strokeWeight(10); noFill(); for (int i = 0; i <= 5; i++) { //cycling trough the 6 analogue input pushMatrix(); translate(60+i*70, height/2); rotate(arduino.analogRead(i)/30); // Rotating with the analogue in ellipse(0,0,60,60); // Creating the knob line (0,0,0,30); popMatrix(); } }
Here is a simple video demo of the mixer in action, next step is to try it out with puredata just for the fun of it and soon will be the test with the USB64! The Doepfer usb64 seemed to be quite a challenge at first (I haven't done soldering for years - I think the last time I did I was around 12 !!) but I finally got a hang of it ! Stay tune for part 3 of the DIY usb audio mixer!
[kml_flashembed movie="http://www.youtube.com/v/VVNJJeDp-Tc" width="425" height="344" allowfullscreen="true" fvars="fs=1" /]
Love it 🙂
Hi there, Quick Question, do you know if the arduino can handle TOSLINK audio ?
Im looking to make a 3 TosLink IN to 1 Toslink OUT box
I don’t think you could manage so much digital audio with the arduino, you might need to go for something stronger. The arduino DEU are quite more powerful by the way.