HacDC is developing an XMPP stack to coordinate networked messages to and from microcontrollers over WiFi, serial, and radio. It will ideally enable a near plug-and-play way for people to network their microcontroller projects and display them at HacDC. XMPP is “an open, XML-based protocol originally aimed at near-real-time, extensible instant messaging (IM) and presence information (e.g., buddy lists), but now expanded into the broader realm of message-oriented middleware.” It serves as the backbone of Google Talk, for example. One of the first projects to be linked to our framework will be an ambient lighting system for the space.
On Thursday, August 12 at 7:00PM, as a part of the NARG meeting, Arc Riley will present on the some of the XMPP aspects of this endeavor and will discuss PubSub, Data Forms, and Ad-Hoc Commands. Any individuals interested in these interesting aspects of XMPP beyond chat are encouraged to attend, and, like all HacDC activities, the event is free and open to the public.
At the end of the presentation, we may do some code sprinting and ensure that those attending have access to the distributed code repository.
HacDC contains numerous enthusiasts active in both software and hardware projects, and although these categories divide, they can be difficult to define. On Monday and Wednesday nights at the space, microcontroller and electronics enthusiasts meet, and on Thursday nights hobbyists of artificial intelligence and natural language processing gather.
HacDC’s NARG group is beginning a project that offers one way to bridge the gap between these rough groupings. Blinky lights and LEDs have always been a foundation of microcontroller work, and as actuators they can be surprisingly dense. Interested in the “smart home” concept, HacDC’s NARG group would like to establish an ambient lighting platform with an API that could link into various algorithms — smart, simple, or silly — to affect the color and intensity of lighting in the space. Potential controlling factors include weather, natural language commands, and inferences about the “mood” of the space from sensor data. This could start as one light, like an ambient orb, and potentially expand to a complex network of lights and LED “objects.” This effort could also merge with a larger, long-term project HacDC has to create a master network to communicate with microcontroller projects in the space via XMPP, radio, and WiFi.
On Thursday, July 29, 2010 at 7PM, NARG will discuss and outline the hardware and software needs for this platform. This meeting, like all HacDC meetings, is free and open to the public. And please feel free to keep visiting NARG on Thursdays and Microcontroller Mondays to help this project develop.
Last weekend, a collection of popular songs remixed into swing versions went viral on the Internet. They all used the “swinger.py” script in the trunk of Echo Nest Remix, a new python web services API for creating song remixes. The script sends sound files to Echo Nest — a Somerville, Massachusetts company — and then, using the data about the beats and song sections collected, manipulates the track into a swing version by “time-stretching the first half of each beat while time-shrinking the second half.” The result is rather uncanny, with the songs immediately more upbeat and swingy, without significant artifacts.
Although similar effects, at least for swing, can be administered in Ableton Live and other advanced Digital Audio Workstations (DAWs), there is something magical about creating interesting remixes straight from the command line (especially with open source software!). Additionally, having the power of Python, along with the Echo Nest data, to manipulate song segments potentially enables an entirely new approach to remixing that is more algorithmic and comfortable for coders.
On Friday, June 25 at HacDC at 7:00PM, Todd Fine will introduce the Echo Nest Remix framework, do some live mixes (bring your mp3’s and wav’s), and the group will brainstorm about interesting algorithmic approaches to remixing (including music video manipulation). He will also talk about how SoX (Sound eXchange) effects can be added to Echo Nest Remix scripts to create an extreme command line studio. When Todd heard about the swinger.py example, he immediately created a version of Rick James’s “Super Freak” which has received over 2,500 listens on Soundcloud in the last several days. He is still learning the potential of the Echo Nest framework, and would highly encourage others in the D.C. area with experience to stop by and describe the work they have done.
Tonight (May 13) at HacDC’s Natural Language Processing and Artificial Intelligence Group (NARG), Todd Fine gave a talk about a 1991 paper by Karl Sims called “Artificial Evolution for Computer Graphics.” It elaborated how genetic algorithms using the human aesthetic as a fitness function could generate beautiful, pleasant 2D textures and animations. Sims’ program created LISP S-expression trees which contained simple mathematical operations and graphical functions along with randomized scalar and vector constants. After the intervening selection of the most pleasing images, the expression trees would evolve in simple ways and create new generations.
Todd implemented a basic version of this approach using Pyevolve and the Python Imaging Library. He showcased some of his results (slides are available here), and the group discussed future elaboration that could involve cloud computing, Amazon’s Mechanical Turk, and web applications. NARG meets on every Thursday, and we encourage interested parties to join us.