9.13.2007

Technos Acxel - touch-controlled waveform


I'm not sure exactly how this thing works but it was made in 1987. Apparently you can touch the grid of leds to draw waveforms and do re-synthesis.

Here's a good article and here's a video demo:

9.12.2007

stribe progress, hardware and software

hardware:


Got the driver board today. It turns out I made a mistake and left out one hole next to each 7221. To work around it I had to install these resistors on the back of the board.


The top and bottom fit together perfectly, until I added the chips to the sockets, then I ran into clearance issues with the tops of the chips hitting the long legs of the led bargraphs coming thru the top board.

So I'm going in with snippers to each leg but might be doing some damage since everything is all soldered-up. I will go back and reheat the joints and hopefully that will be enough. If not I have another led board and more bargraphs on the way.



software:

Made progress with the Max programming last night. Got some great tips from Kid Sputnik and as a result was able to get the stribe strips to generate OSC messages, which actually show up in Reaktor! Now I have to do something with the messages - time to dig back into Reaktor programming.

9.09.2007

phineus + xenome/stribe prototype + Max/MSP



Well it's finally starting to sound like music. Soon there will be lights to guide the fingers..

Thermoesthesia (interactive art)


Temperature changes along with lighting in this interactive sculpture. via oddist

9.08.2007

hacking the monome 40h

While waiting for the new xenome/stribe driver circuit board to arrive, I've spent a couple days digging into the monome serial protocol, trying to understand it better and determine if I can use it for the xenome/stribe.

Couple things:

1) my device is upside down and backwards relative to the monome. See, when writing my firmware I started counting at the lower left corner and went up and right from there. My thinking was the xenome is essentially a bank of bargraphs, where 0 is at the bottom of each one, and they're numbered left to right. Then, when designing the led board, I saw that I would have to do a lot of fancy routing to treat each 64-led column with one MAX7221. But if I addressed the leds as a grid of smaller 8x8 grids all stacked together, it simplified wiring considerably. Basically I just made a grid of wires and was able to wire it as a 2-sided board with only a few strategic vias. So now my 0,0,0 is the lower left corner of the lower left 8x8 portion of a 64x16 grid, and 1, 0, 0 is the one on top of it, and so on. But the monome firmware starts with 0,0 at upper left, like a data array:



2) The monome firmware and serial protocol are super-clever. In fact everything about the monome is really kind of this brilliant compact jewel, the firmware and the software and the hardware all conceived as one. The design seems like an art thesis or a manifesto on computing, more than a way to simply make buttons blink on and off. It uses bitwise operations to build and parse the OSC messages, in a similar way to how you address the MAX7221 itself. The firmware sends and receives only 2 bytes in each direction, the monomeserial software does the rest.

As a semi-rusty C/C++ programmer it's been challenging for me to learn all this. It seems very custom-made for the specific device (an 8x8 grid of buttons that light up, driven by a MAX7219/7221 and an AVR chip), and the code is lightly commented. On the other hand, it's designed to scale to treat multiple grids, accept input from additional pots or encoders, and of course the real bonus: it's openSource, there's a community, and Brian has been super responsive to my many noobish questions on the monome forum.

So I'm learning a lot from this exercise, and there's certainly a lot I can borrow, but I might have to stick to my own firmware and a similar protocol. I can still make it compatible with monome apps via OSC.

Then again...

...Xenome is kind of a cool name. And I'm not doing anything even a little bit like genetic research. Well maybe a little bit. I dunno.

Anyhoo, things have been a little quiet on this blog but certainly not in the analog, er, real world.

I solved that problem with the strip values bleeding over onto eachother by adding a 10k resistor between signal and ground on each input. Pow, zap, fixed. Now I can bloop each channel seperately. Yay!

Then I went back to work on the led driver board, the one that's going to hold 16 MAX7221s and run my 112 led graphs. I'll link to the circuit board layout once I get the proto back from the manufacturer and make sure it works. I made some last-minute changes late at night right before I hit "order" and I'm hoping I didn't kill anything. I added a 20 pin header and ran the SPI interface to one half and power and voltages to the other. Kind of bad practice but I happen to have a box of 20-pin headers and sockets and ribbon cable so why get fancy. I can always skip the header and solder right to the original pads (which I left in place). So the boards should be here late next week.

9.01.2007

stribe

I've decided on a new working title for the touch controller project: "Stribe"

1) the name "xenome" is pretty much taken by a pharmaceutical company
2) "xenome" is a little too close to "monome"

Stribe means "stripe" in Danish. I like that it sounds like "scribe," and "strive," and that it doesn't mean anything particular in English. I think there's a shoe somewhere called this, and an athelete with it as a last name, but otherwise it seems unused. And who knows, maybe I'm part Danish.

Stribe nee Xenome time-lapse progress pics:


paper sketch + actual parts for comparison


breadboarding the MAX7221 + bar-graphs + Arduino


6 Spectrasymbol "hotpots" on top of stacked bargraphs. This showed that putting the pots right on top of the led bars is a bad idea for 2 reasons: 1) you can feel the joints between the bargraphs, 2) air bubbles appear between the uneven bargraphs and the sticker surface


These are 2 led boards. I designed the circuit layout in ExpressPCB and 3 days later they appeared in my mailbox.


I learned that I'd made the though holes around the edge too small for the pin headers I had planned to use. fortunately, the female headers fit. I had to file the edges of each header to get them to fit right up next to each other.


Here's the bottom of the assembled led board. That's uh, lessee, 2240 solder joints for the leds, plus 280 more for the pin headers. Went a bit cross-eyed. Learned there needs to be a bit more room between the led segments - but maybe that's because these are cheap. The board ended up slightly curved from the ceramic cases snugged right up against eachother. Higher quality parts might work better. Also, it was very fiddly getting the tiny legs of each bargraph to line up and go through the small holes. I don't have much room to make the holes a lot bigger but the higher quality name-brand bar-grpahs have thicker legs so I'll need to open these up a bit, too. One thought was to use IC sockets in place of all of the actual bar graphs, then insert the bar-graphs into the sockets. This would ease assembly as well as allow easy swap out for different colors or to replace a bad unit.


Here's the top of the assembled led board. I added a sheet of plastic cut from a paper binder - sticking the sensors onto this will make for a much smoother surface. Ideally, it would be great if the leds were all one piece, like little SMD leds embedded into a thin piece of plastic.


Here's the clear "softpots," installed. I was leaning away from these clear ones because the tactile feel of them isn't as nice as the yellow "hotpots" - but I realized I can put another layer over the softpots and they will still work. Which is great because now I can find a surface that has the touch and look I want - e.g. translucent, transparent, with different textures, possibly ridges or grooves to demarcate each stripe... not to mention that I could print stuff onto this layer. This layer could have different designs on it to provide help for different apps.


It's also good that I waited to finalize the circuit for the driver board. Now I see where I can include routing for the strips right on the driver board.

8.29.2007

xenome proto II - making some bad noises


sounbds a bit evil, and the leds don't light up yet, but I'm learning a lot from this 6-channel version

8.16.2007

Singing Tesla Coil


"This is a solid-state Tesla coil. The primary runs at its resonant frequency in the 41 KHz range, and is modulated from the control unit in order to generate the tones you hear... So just to explain a little further, yes, it is the actual high voltage sparks that are making the noise. Every cycle of the music is a burst of sparks at 41 KHz, triggered by digital circuitry at the end of a "long" piece of fiber optics.... What's not immediately obvious in this video is how loud this is. Many people were covering their ears, dogs were barking..."
- found on youtube: demjp8RqDA

Joe DiPrima and Duck demonstrate, explain the technical details, and tell the history of the Solid State Musical Tesla Coil

8.07.2007

8.05.2007

LED-s Urban Carpet



"The LED-s Urban Carpet is a portable interactive installation using a non-traditional user interface. The installation represents a game with a grid of lights that can be embedded as a carpet into the urban context. A pattern of lights is generated dynamically that change in real time according to pedestrians movement over the carpet. In this case the pedestrians become participants that influence the generative process and make the pattern of LEDs change with the change of the location of one or more participants... ...This program is written using a Boid algorithm to simulate a flock of seagulls that follow the pedestrians as they move in different directions over the carpet." - interactiveinstallations.blogspot.com

8.01.2007

Your First Synth



"Building a WSG [Weird Sound Generator], while fun, is not a deeply scientific or religious experience. The WSG does not look or work at all like a synthesizer used by anyone whose name rhymes with either Cakeman or Bemerson. The WSG does not have a keyboard, it has a few knobs and switches. Do not expect to use the WSG in concert. The WSG makes mildly entertaining, droning beeps and boops... This is not even a shadow of a real music synthesizer but merely a fun little noise maker. It is designed to be built on a solderless breadboard and experimented with or put on a proto-board or PCB and placed into an outlandish case for fun by electronics hobbyists." - musicfromouterspace.com

7.31.2007

Fijuu2


Demo of the new 3D music-making software, Fijuu2. The player morphs forms with a PS2-style gamepad, which alter sounds that are then recorded to tracks. Fijuu2 is an open-source project and runs on Linux.
more info: http://fijuu.com

"no input" music

7.28.2007

Tenori-On Demo



This is Yamaha's upcoming music toy/interface, the Tenori-On. Similar in concept to the monome but it is self-contained rather than requiring a computer and software, and it is transparent, so can be viewed from both sides. It will come pre-loaded with an assortment of programs and sounds. Of course it is not opensource like the monome, and the price is rumored to be over $1000.
Lots more details, here: http://en.wikipedia.org/wiki/Tenori-on
Circuit-Benders... heat up your irons!