Music Control, Interactive Music Systems, Physical Computing, Natural User Interface, Tangible Computing, OSC, MIDI, Max/MSP, TUI/NUI, Interactive Scultpure, Processing, Chuck, Arduino, FTIR, Audicle, Monome 40h, DIY, openSource, Reaktor 5, Granular Synthesis, Analog Synthesis, Analog Sequencers, Touch Control, Haptics, Xenome, The Stribe
FAQ:
what is soundwidgets.com?
It's a blog where I post cool stuff I find on the web. I try to post projects which more or less relate to the above topics. Sometimes I just post random stuff.
This also acts as an informal project blog for a music control device I'm designing and building called the Stribe.
I also occasionally post clips and info relating to experimental electronic music I make under the name phineus.
do you sell stuff?
Actually, yes! You can support The Stribe Project by buying parts or donating through the new Stribe Project Forum.
what does "stribe" mean?
It means "stripe" or "striped cloth" in Danish.
Scott's been busy putting together a stribe1 x 8 and writing new firmware and patches. Also some promising experiments using 4051 chips to multiplex AD inputs on the Arduino. More info here
The original Stribe Prototype kit has been discontinued (oh no!), but a new modular kit is taking it's place: the single-strip Stribe1 (yay!).
The Stribe1 kit (also available assembled) gives you everything you need to build a "single stribe" touch-control module, minus the microcontroller.
Multiple Stribe1s can be chained together with a ribbon connector and attached to the microcontroller of your choice.
For now we have building-block firmware and patches for the ATMEGA-based Arduino and Arduino MINI. Bitwacker (PIC) firmware is in the works.
The kit consists of a long and narrow PCB (~ 9 3/4" x 7/8"), a single 170mm touchstrip, 2 columns of 64 LEDs (128 LEDs total), and all the supporting circuitry, driver chips, ribbon connector, plexiglas enclosure, etc.
The instructions include step-by-step details on placing and soldering the parts, wiring it to an Arduino, and using the software.*
I think it would be fairly straightforward to hook one (or more) of these up to a monome 40h, but I'll defer the details to those who know the monome's internals better than I do. (Note: due to MUCH interest in this idea, I'll be trying this soon with my own 40h and will post my results)
The Stribe1 project was made possible with the generous involvement of Scott Driscoll of Curious Inventor (curiousinventor.com). He was kind enough to put my name on the project (and circuit board) even though he actually did most of the work.
I was pleased and flattered that the Stribe receceived TWO "Editor's Choice" blue ribbons this weekend at Maker Faire Austin 2008. Thanks guys! It's a wonderful feeling to be recognized for all the long nights of hard work.
I made some terrific new friends and got to talk "geek" non-stop for 2 days!
And of course it's always a distinct pleasure watching people discover the Stribe!
Last year I went to the Faire in Austin with the original Stribe prototype under my arm and just wandered around, showing it to a couple folks. Then a few months ago I had my first booth at the San Mateo Faire - which was incredible. I plan to bring a bit less stuff, and the booth won't be quite as "fancy" this time.
I'm psyched to meet up with Scott Driscoll from Curious Inventor (http://www.curiousinventor.com), David Fowler from ucHobby (http://www.uchobby.com), and several others for a weekend of gettin' our geek on, and BBQ.
Scott and I have designed a new product, called "Stribe1", which is a single-strip stribe module - one touchstrip and 2 columns of LEDs. Soon we'll be selling these on his curiousinventor.com site, along with a variety of touchstrips from SpectraSymbol. There will be an official announcement and lots of pics and demos soon. Can't wait to see what people make with 'em!
Got my cowboy hat on and I'm mostly packed... I'll try to post some pics as the weekend progresses.
The above demo shows 1/2 of the ingredients of a "true" multi-touch display.
To make images appear under your fingers instead of over on the computer's screen, takes only a few more steps:
1) Remove the IR filter from the camera so it can detect infrared, then add a filter over the lens to ignore visible light, so the camera only "sees" IR.
2) Add an IR source inside the box, pointing up (many commercially available security cameras already come configured with IR "blast" arrays, or they can be purchased as a separate unit, or make your own).
3) Exchange the tracing paper for a material that is still translucent yet allows IR light thru.
4) Add a little LCD projector next to the camera in the box, also pointed up.
TaDa!
Now your hands will be bathed in invisible infrared light. As your fingers approach and/or touch the surface, the camera "sees" IR blobs, which are then processed in software to differentiate touch and other gestures. The "Touchlib" library includes everything you need to process the images (as seen in the video). Now you project the image up onto the touch surface from below. The image is projected in the visible spectrum and so doesn't interfere with the IR blobs being received by the camera.
There is also a way to get crisper IR blobs, without bathing the user's hands in IR, by using a technology called "Frustrated Total Internal Refraction" (FTIR), popularized by Jeff Han. FTIR relies on the unique properties of acrylic sheet, e.g. it is extremely reflective on the inside surface, until touched (or until it gets dirty). By shooting IR into the edges of the sheet, touches are "seen" by the IR camera whenever the internal refractive properties of the acrylic are "frustrated" by being touched. Each touch bounces a blob of IR down into the camera.
*
I've been having some great conversations about multi-touch lately. What constitutes multi-touch? Does dual-touch count? Can multi-touch be "faked" on a single-touch surface using close timing of events (e.g. milliseconds apart)? What if you use the same approach on a dual-touch surface? Is this how the iPhone works (e.g. software detection of finger-spacing)? What about the Macbook's dual-touch mousepad? How does that work, anyways? Which technologies are dominating, if any? Capacitive, grid o' wires, heat sensing, IR bath? Which approach is typically used for which commercial application?
A little demo of 'scalar', triggered by a stribe. Scalar is written by vlad spears, of 'balron' fame. By changing simple things like the sensor poll rate, sticky or non-sticky values, MIDI scale, and instrument mappings, I am able to play the stribe in a variety of modes.
Of course the stribe strips can trigger a much higher resolution map than this (1024 potential points of resolution per strip). Though it doesn't demonstrate this unique aspect of the stribe, it's still fun to play with. The strips are much more sensitive than buttons, requiring the lightest touch. Rolling a finger on it's "ball" can produce a variety of subtle effects, a slide from one note to the next, or produce a very rapid 'fingered' pattern.
LED feedback is minimal at this point. Still working on the firmware...
Tenebre - Platinum Standard Interesting lo-fi-ish production and good playing on this instrumental track. The sound is stylistically reminiscent of Pavement, Sebadoh, and Slint, with a little dose of Elephant Six thrown in, and at the end some bells. More bells!
Giant Alphanumeric Nixie Tube available for lots of $ on the 'bay
Sometimes I go to this page and just listen to the default sounds
A couple of 3-dimensional alphabets. Info on the above alphabet. The image below I came across randomly and I can't find any information about it, so let me know.
"As the conductive stretchable fabric... is displaced towards the bowl it shorts out different lengths of ...conductive plastic... The result is a circular array of nearly mass-less displacement sensors. The gesture-to-displacement relationship changes according to distance from the center of the bowl..." read more
Original "Daisy" Song 1961 Max Mathews, John Kelly, and Carol Lochbaum
From a Wikipedia article on Max Matthews: "In 1961, Mathews arranged the well-known song Daisy Bell ("Daisy, daisy") for an uncanny performance by computer-synthesized human voice, using technology developed by John Kelly of Bell Laboratories and others. Arthur C. Clarke of 2001: A Space Odyssey fame was coincidentally visiting friend and colleague John Pierce at the Bell Labs Murray Hill facility at the time of this remarkable speech synthesis demonstration and was so impressed that he used it in the climactic scene of his novel and screenplay for 2001: A Space Odyssey, where the HAL 9000 computer sings the same song as astronaut Dave Bowman disables his cognitive functions."
So far this is the best Maker Faire 2008 summary I've seen - it captures the diversity of projects and amazing stuff quite well. Note however that even this great vid represents barely 1/10 of the actual amazingness to be found at this huge Faire.
Oh, and look for a brief shot of The Stribe at about 7:34. :)
Yesterday was the debut of the Stribe at Maker Faire, and it was amazing! A non-stop procession of fascinated people surrounded the booth for 10 straight hours. Stribe pioneer Vlad Spears totally saved the day when my MOTU interface gave up the ghost 2 hours into the demo. Just when I thought all was lost, Vlad stepped into the breach, fired up his own machine and held the crowd mesmerized with his lovely new Max 5 app, "Scalar", which made the Stribe into a wonderfully easy-to-play instrument. He manned the booth heroically and provided detailed explanations of the stribe, the monome, Max, and how it all fits together. I don't think he drank, ate, or sat down the whole time. My own demos pretty much relied on the MOTU, so without Scalar and Vlad it's hard to say what the day would have been like.
Thank You Vlad! You are a true rockstar, in every sense of the word.
I'm still a bit stunned at the level of interest and the many wonderful conversations I had with visitors and fellow Makers.
Today I hope to borrow an audio/MIDI interface from a fellow Maker and run some of my original demos, including a cool demo app written by stretta, along with a couple of my own creations.
Thanks to everyone who stopped by the booth on Day 1. I apologize if I didn't get to chat or you caught me in a flustered moment, but the onslaught of Make fans was unrelenting (which is really great) and I was overwhelmed at times. It was cool to meet members of the Stribe community in person, and I came away feeling both grateful and proud and just plain tickled. Something tells me this is going to be quite a ride. Thanks SO much for the enthusiasm and encouragement so far - it really does keep me going.
I have some great pictures and I'll post them as soon as I can. :)
Now it's time to get ready for Maker Faire, Day 2!
From tk of midibox.org: "...Most of you guys are using Arduino based hardware, therefore I'm not sure if you are interested in an alternative approach, which is based on the MIDIbox hardware platform and MIOS. As the name implies, the focus is on MIDI communication instead of OSC via USB, accordingly this solution covers different usecases.
"The main difference to your current approach is the autarkic firmware, which doesn't require a computer to process the sensors, handle the LEDs, and to communicate with other MIDI devices. This might make it less flexible for experimental stuff, on the other hand I can easily add a LCD, buttons, more LEDs, rotary encoders, etc... - everything which is provided by MIOS - and control my MIDI synths directly..."
Some plexiglas test parts arrived from the Netherlands today via Xndr Industries. I assembled an all-red stribe with the new parts and it looks pretty awesome:
Who says you only get what you pay for? This donation-ware download from d-lusion is a hidden treasure for those in search of simple drum programming and great sounds on no budget. It's been around for a while but I came across it again recently and fell in love all over again with drum programming. Also check RubberDuck, a re-imagined TB-303, and the MJ Studio MP3 mixing tool. Don't forget to throw a few beans in d-lusion's Donation bucket for providing all this great stuff for free!
From the d-lusion site:
"Based on the concept of the legendary Roland drum synthesizers TR-909, TR-808 and TR-606 whose throbbing bassdrums and crashing hihats sent generations of dance-music enthusiasts into extasy, Drumstation combines cool old drum machine features with cutting-edge software synthesis technology. Drumstation is a drum software synthesizer and features 8 channels of drums (either samples or synthesized drum sounds), programmable via an easy-to-use step sequencer, effects (realtime reverb, delay, flanger, filter, distortion) for each channel, loops could be sliced and stretched.
"All this in the year 1998! This free downloadable version also contains - beside the standalone software synthesizer - a complete set of free drum samples and effects to get you started (Roland TR-606, TR-808, TR-909, Real Drums, Sound Effects, DR-101, DPM-48, and additional Yamaha/etc. sampled sounds)."
"Input device from a matrix of IR beams set in a square. Fed into a Macintosh through a create HID interface. Processed with custom software written in Objective C and Quartz composer and fed to an MU10."
Mike Cook, in the UK, made a device similar to my Sound Square project (ca 1993), but smaller, and he went much farther with the software. Interestingly, he built it around the same time period (1994). At the time, a grid of sensors seemed like such a powerful meme to me that I assumed this type of music tech would be everywhere in no time. The fact that it HASN'T seemed to progress very far in 15 yrs was what put me on the path that eventually led to the Stribe. Well, 15 years later it seems Mike has dusted off his project as well! He has a great website and a page dedicated to the how-to of it all. Yay Mike!! Can't wait to see what comes next!
Very interesting 1972 lecture by Karlheinz Stockhausen (August 22, 1928 – December 5, 2007). He discusses synthesizing and transforming sound via technology, and the (then) theoretical possibility of speeding up a sound or piece of music without changing it's pitch.
I saw some early press on this in 2007 that looked promising but now suddenly the Gainer website has really filled-out with tons of good information. This is a really interesting controller board that has a variety of possible configurations. Very intriguing - possibly a new heart for the stribe? Arduino MINIs are expensive (~$60 + shipping for the 2 Arduino stamps). Meanwhile the Gainer is open source and relatively cheap to build (~$30 USD in parts) and includes a USB interface. http://gainer.cc/
The Gainer can be configured for a variety of applications. Check out the specs.
Their website also links to this useful table of commercially avaialable sensor interfaces which I came across but then lost again. Here it is:
Here's the monome 40h running "Balron" while the stribe sends CC data to the DSI. There's a bug where the stribe sends a constant barrage of CC data so it's affecting the sounds a bit but it sort of works. I really should record the sound properly because my li'l camera mic really doesn't do it justice. It sounds huge!
monome 64 tilt from stretta on Vimeo. The latest monome.org offering, the 64, features a built-in tilt-sensor. Here stretta makes very interesting use of the feature.
This song is from my Texas friend Manda Clair's music sampler. I hope she doesn't mind. The video effects are for fun - these chunks are what my video editor thought made reasonable "scenes". I had to stack them all up to get the video to be continuous.
Make sure you have an hour to waste before clicking the link that takes you to this flash-based sequencer: Tony B Machine. Here's the history, google-ated from French.
somewhat better angle so you can see what's happening. only the left 4 strips are working in this app, controlling the volume objects in mlr. I' need to re-tune them to have a longer "throw" instead of only being audible near the top. Otherwise noise floor comes up on my crappy PA mixer.
It seemed like vlad had built in some way to make the channels stay on but I realize now that was the trigger from mlr turning them on. Once I started messing with their volumes, if I didn't re-trigger on the monome the volume would drop to zero. Clearly I need to add the "fader knob" feature to the firmware soon! :)
Super-short demo of using the Stribe to control volumes in mlr - basically using the stribe as as a MIDI mixer but via Max - stribe is in default firmware cursor mode, w/ no feedback from mlr, yet.
In about the time it took me to receive the e-mail that orders had begun and click through to the monome website - the 64 had already sold out! Simply amazing.
monome will soon release their custom-designed 40h button-pads in combo with these smaller 4x4 circuit boards. Future 40h kit-builders can use 4 of these rather than one large 8x8 board (unclear if they've discontinued the 8x8 board). This design change arose from a discussion on the monome.org forum about alternative designs based around the 40h logic board and button pads. Instead of sawing the 8x8 board in half to build a 16x4 controller (which wouldn't work, anyways), these can be tiled as you see fit. I'm excited to see the variety of new controller configurations this will inspire...
;)
Of course you'll still have to tweak the monome software to run your wacky new configuration, but you should find plenty of kindred souls on the monome.org forum to help you find your way.
Since I started to share the Stribe Project, I've had a lot of questions about why don't I use the LEDs as sensors like Jeff Han, and skip the touchstrips. I actually started down this path and came up with a couple of ideas, but then decided it probably wouldn't work, figuring the emitter LEDs would bleed into the detector LEDs. Well, I was wrong... Yay!
I have no idea what they're saying on this site, but it's sent a ton of hits to my Stribe page: Dumpert.nl
Meanwhile, my Google Analytics is going wild - the graph is basically flat until the CDM & Make coverage - then immediately my views go from 5-10 per day to over 700 in one day!
More outerspace noises and ambient crunches, but shows some of the software possibilities. Hopefully someone who knows Max will help me write a nicer sounding patch real soon.
Ever since a friend at work turned me on to this site I've been listening non-stop. Tons of great live podcasts and DJ sets. Some of it is more danceable than my taste, but there's a lot of excperimental and ambient stuff that I'm diggin. What's nice is the sets are usually ~ 1/2 hr to over an hr long, so you're not constantly clicking track names to listen: percussionlab.com
One of my favorite sites to peruse is MatrixSynth, and they just posted about the Stribe yesterday. Make sure you spend a little time poking around, some great stuff there...
I made a Stribe Project Forum - please join! I'm using it to keep track of all the details, and hopefully keep the project organized as more people get involved.
(Also started to set up a mediawiki but not much there, yet - if anyone feels like expanding on it it's here and will eventually be updated).
Right now the forum's a repository of notes and facts about the Stribe project so far. I hope it will be a landing spot for people interested in participating in the project in one way or another, either by building or buying a Stribe, improving and expanding the (admittedly incomplete and amateurish) firmware and Max patches, or just watching from the sidelines.
screenshot of _stribe_howto.mxb (virtual stribe) in action - click for big view
I'm plodding forward on several fronts at once, mostly doing boring stuff like trying to put together a stribe wiki and/or forum type thing as well as juggling parts to build a handful of prototypes for development. Today I took some time to clean up the Max code so far and it looked so pretty I had to take a picture.
Meanwhile Vlad Spears (author of Balron and the Daevel behind Daevelmaker Plugins) wrote a Max abstraction to translate values from the Max matrixctrl object into the message format expected by the Stribe, something I'd been struggling with trying to solve in firmware.
The pieces were all there in Max but I needed that one final bit and Vlad was able to do it from a few vague e-mails and a .jpg of a scrawled napkin drawing. Amazing.
Looks like he has a 40h, too. With a quick peek at the Buchla box in the corner.
(Earlier this was posted as being Trent Reznor but that was an error. Neither having met Trent nor seen him up close I didn't realize this is actually Alessandro Cortini. It was on the nin youtube page so I just figured it was him - my apologies to all.)
I'm learning Max/MSP. I sometimes find the Cycling74 site a little intimidating because there's just SO much information, and the online Tutorials run a bit long for my ADD brain, so I went looking for some other resources. I found this great online set of Max tutorials. Much more condensed - skips right to relevant stuff and tells you exactly what you need to know to get started learning Max, and is divided into logical 6- to 12-page chunks. The chunks range from a great basic Introduction to Max (required reading) to more esoteric: Max and Chaos.
I've made a major revision to the Stribe circuit boards, rotating them 180 degrees to better reflect the way Max/MSP addresses arrays and to make my firmware simpler (and hopefully faster). Short version: 0,0 is the top left corner now instead of the bottom left. I also moved the logic circuit to the top of the board, which is the same place the touch-strips attach. So now I avoid 8 long trace runs as well as making a better location to add a MIDI circuit or other interface connectors (8 synth-type voltage triggers, anyone?).
Meanwhile I've also been working on the firmware and the Max patches, getting everything talking to everything else. I'm borrowing lots of example code as well as nabbing a few of Brian Crabttree's handier bits of code (the bits I can understand). I'm building a "virtual stribe" with the matrixctrl object.
I wrote a review of my favorite toy for my favorite magazine: TapeOpArticle.pdf
...or find the print edition of TapeOp #62 Nov/Dec 2007.
I guess my review's a little late to the party since the 40h is no longer available and monome has moved on to sell out the "256" and will start taking orders on the "128" soon.
Update: monome sold-out their latest batch of 100 40h kits... in less than 24 hrs!
A video of the latest stribe (rev 0.2), running a really basic Max program. It sounds very Star Trek-like - maybe that's due to the Hammond-ish sound of the synth.