Euphony

Sound Organisation

Posted by: euphonyproject on: March 6, 2009

Due to budget, time and technical restraints we reduced the amount of instruments from 4 to 3, at once. This is because with 3, we can use a single tri-colour LED to show the state of the instrument, and having more than 1 LED would cause major problems.

This diagram is more for personal use because the sequencer is being revamped to enable only 3 sounds, and to add some more interesting interactive opportunities into it. The users control the changing of the sound sets and tempo whilst interacting with Euphony. They will not have direct control of these factors, their participation will influence the change. This should make it a bit more exciting.

sound

ShiftIn, ShiftOut

Posted by: euphonyproject on: March 6, 2009

Sometimes you’ll end up needing more digital inputs than the 13 pins the Arduino board can readily handle. Using a parallel to serial shift register allows you collect information from 8 or more switches while only using 3 of the pins on your Arduino.

This is exactly what is needed for euphony. Each of the 64 buttons, and 64 LED’s require a connection to the computer via the arduino board. Using serial shift registers to open up more inputs on the board is ideal, and after purchasing several from the web, very cheap too.

Today we started assembling the circuits needed for the push buttons. Following diagrams found on the arduino.cc website, we soldered the nessisary components onto the board. I’ve never really soldered before, just bits and pieces during previous projects, so it was quite a steep learning curve. After about an hour or so, the blobs of solder got easier to apply, and the finish was neater, however it seems it i’ll take longer to finish than we first thought. Each shift register can handle 8 inputs or outputs. This means we will require at least 8 of them for the buttons, and 8 for the LED’s. Thats alot of wiring.

Maxduino

Posted by: euphonyproject on: March 5, 2009

Linking Max/MSP and the Arduino board wasn’t too hard thanks to the Max plugin ‘Maxduino

All we have done so far is control 2 outputs (Pin 12 and 13) and used a single input with a switch, hooked up to our Max/MSP sequencer file. We put a counter on to count the amount of bangs the button was producing, and came across a problem. The button was not adding 1 each time, it was adding random amounts, sometimes up to 20 at a time. After about half an hour of confusion, it was discovered that the wires on the switch were not connected problem, hence the large numbers being output. Doh! Here are some pics:

Drilling

Posted by: euphonyproject on: March 4, 2009

Yesterday we got hold of a sheet of MDF, and marked out a circle to be cut out with a jig-saw. That was a breeze, and after sanding and cleaning up the edges, we marked the positions of 64 holes to receive the buttons, and 64 smaller ones to hold the LED’s. A 12mm drill bit was used for the button holes, which held them nice and snug, and the holes for the LED’s needed a 4.8mm bit, which kept the bulbs tight, so we won’t need to use anything additional.

After going over the table top and legs with first course, then fine sandpaper, we painted them with grey gloss paint.

Next, installation of the buttons and LED’s, oh yeah!

Screwing

Posted by: euphonyproject on: March 4, 2009

To attach the legs to the table, we experimented with different screws and washers, to get the desired look for the project. There wasn’t much to choose from in the store room, but what we decided to go with looks pretty good.

Dimensions

Posted by: euphonyproject on: March 3, 2009

Here’s a technical drawing (or photoshop mock-up) of the dimensions of the table. We’ll be using 6mm MDF for the table top itself, and support this with 8 x 1000mm legs. The sides will be cladded with mesh of fabric of some sort, and house a 5.1 surround sound, the computer and all the wires and circuit boards that should make the whole thing work.

table-measurement1

push-button

Multi level sequencer

Posted by: euphonyproject on: February 23, 2009

So the sequencer is working but we had to cut down on the number of buttons we are using, from 196 to 64 due to expenses. This means we can’t use a whole octave, but helps with the idea of the sounds, tempo and pitches changing due to multi user collaberation. Here are some pics of the Max Patch, it is all pretty simple, just havn’t found a better way of laying out the code. It works though, just need to get the arduino hooked up.

The Table Spread

Posted by: euphonyproject on: February 19, 2009

From the initial concept (http://tinyurl.com/cg5ua3), the former domed table has been scraped, and a slicker flat table, hosting a series of 64 push buttons and LED back lights takes its placed.

beat-table-bg1

The button configuration will feature 4 Bars (16beats running around the table),  4 pitches (running from the centre of the table out) and 3 instruments choices (1 press = Instrument 1, 2 presses = Instrument 2…).

beat-table-layout2

ArduinoBT

Posted by: euphonyproject on: February 19, 2009

To bridge the gap between the code from Max/MSP and the push buttons and LED’s on the table, an Arduino Board will be introduced.

“Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.”

dsc05624

At the moment we are working with a bluetooth Arduino, which is a little temperamental at times, but its input pins will allow push buttons to be connected and ‘bang’ as they are pressed, telling Max to do something. Output pins will then light LED’s underneath the push buttons to react to the users actions. This all sounds simple enough, however Arduino only have 6 input pins, and 6 output ones. euphony requires 64 button inputs, and 64-192 LED outputs (depending on the type of LED used). To get around this, we will need to use a series of bread boards, parrallel to serial shifting chips (to increase the number of input pins) and resistors. This shouldn’t prove a massive promblem, just a little time consuming.

dsc05636

Max/MSP, Coffee and Toast

Posted by: euphonyproject on: February 12, 2009

Ok I was in the flow so I kept working on Max and made some pretty decent progress.  I have also used the ‘patch’ function to try and keep the code nice and tidy, although it can get a little tricky to test things due to having to switch between windows all of the time. The old ‘If and Else’ statements are dead and buried, I found a much easier and tidier way of doing it, thank god for the ‘Select’ function.

selectfunction

The select function can have multiple inputs and outputs. What it does is if the arguments match the input, it will bang on the specified output.  For example if I used ’select 4 8 15 16 23 42′ and a metronome outputting numbers linealy from 1-100, each time it hit 4, it would bang the first output, 8 the second, 15 the third etc… Very handy. I didn’t want five if statements coming out of each button. I tried looking for a ‘for loop’ with no success. Who cares, I am more than happy with the select function.

sorting

I have used select for two main things, giving the user feedback on which state each button is currently in, i.e. 0=black, 1=red, 2=green, 3=blue, 4=yellow. Hopefully this will be easily translated using RGB LED’s. The second is to determine which instrument should be played when the button is banged by the metronome (not the user). Still yet to determine how to control the pitch of the instrument. Two option here, use Max to edit it or just use 12 separate samples for each instrument.

I created a very basic timeline for the sequencer.  All is used is the basic metronome function and a counter which loops through 16 outputs. Once eachput is reached, it is banged and sends a unique message to the 12 buttons connected using the ’send’ and ‘receive’ functions. Using the send and receive helps a lot with simplicity of the code and it is a lot less messy, just have to remember when duplicating the buttons I change the number of the receive function each time. I know I won’t… The tempo of the metronome is also easily controlled, maybe this can be implmented into our design somehow.

timeline


  • None
  • No comments yet

Categories