Thoughtlets, Music, and Code from Noah Thorp

My Rubyconf 2009 Audio Talk Posted on Confreaks

Posted: February 18th, by Noah

My talk at Rubyconf 2009 on using Ruby for audio projects was posted. I focus on frequently unfamiliar open source libs that people may find useful and make reference to a number of BArCMuT presenter’s projects. There’s a lot of talk about using Ruby and Chuck, SuperCollider, solving sync issues, etc, etc. You can find the source code for the presentations on github here

One major Ruby discovery since then is that Charles Nutter (a primary author of jRuby) has a version of Ruby that uses static typing, runs on the JVM, and runs at the speed of Java! It’s called duby and it’s available here

BArCMuT Co-Organization Constitution

Posted: January 24th, by Noah

Over the last year I have been contemplating how to further democratize the Bay Area Computer Music Technology group ( BArCMuT ) for more co-organization and stronger collaborative relationships, while maintaining a high quality of events. On my way back from NAMM this idea for writing a constitution for BArCMuT bubbled up. The only receptacle for the idea on South West was this slightly waxy emergency bag.

Since then I have refined the constitutions guidelines and listed them below. If you need to skim this article just skip to the “BArCMuT Constitution” section. Before I get to the guidelines, I would like to share some background on how I arrived at the new form for BArCMuT…

Some Background On BArCMuT’s Inspiration

In 2003 I attended a Dorkbot event in which Tim Thompson presented Key Kit game controller hacks and Dr. Friendly presented a crazy wavelet feedback algorithm. My friend Zu who is an entertainment magazine editor in Poland asked me what I thought the coolest thing in San Francisco was and I told her about Dorkbot. I meant it.

Then, in early 07 at the SF Ruby Meetup I had my mind blown by awesome technical talks by Chris Wanstrath (now Github co-founder) and others. These events made me wonder “why doesn’t a group like this exist specifically for the computer music community?”.

I had recently quit my job at Digidesign thinking that I was going to develop this weird ontological DJ remixing algorithm while I contracted. I was constantly looking for the right technology to build it in. My max patches had gotten un-managable with 100+ sub-patches and lots of logic that was more suited to procedural programming. Java audio sucked. Chuck – what was that? Csound was cumbersome. I was unsure about the Supercollider licensing. Ruby had no audio libraries. Python was a little better supported but less familiar. I wanted to hear people tell me about this stuff first hand.

I started the Bay Area Computer Music Technology Group in the fall of 2007. On the first night, the event magically came together as community leaders like Tim Thompson, Ge Wang, Vlad Spears, Scot Gresham Lancaster, and David Wessel decended on the Space Gallery in the Tenderloin of San Francisco. Nobody seemed to care about the street noise as we watched Ge’s chuck demo while sitting on church pews next to a recently assembled indoor skateboarding ramp.

The group took off after that night. Now there are over 500 members and we have had over 35 succesful events all over the Bay Area (Stanford CCRMA, Berkeley CNMAT, Mills College, Digidesign, Dolby, Maker Faire, GAAFTA etc). The presenters have been world class awesome and many of the members could just as easily be presenting or audiencing. I typically have to warn presenters that they will need to answer some very difficult questions from the expert tribunal refered to as the “audience”. Lots of people have told me how they acquired a job, met collaborators, changed product specs, or began an academic path at a BArCMuT event. This makes me happy and excited.

Fast forward to 2010. The community has gained a lot of great momentum with other groups like Phasor, Overlap.org, Learn Tech, Share San Jose, PyGame, and others. We’ve all been influencing eachother a lot and starting new projects. At an event at CCRMA, Tim Thompson said how BArCMuT had been one of his inspirations for starting the Share San Jose group. This was both nice and funny because I had actually been inspired by his talk at Dorkbot to create BArCMuT in the first place. I think this illustrates how a cool community can inspire itself.

Despite the fact that our community really is a headless web, BArCMuT has formed as a benevolent dictatorship. In 2010 I would really like that to change. To do that I am symbolically stepping down as benevolent dictator and setting up a structure for co-organizing the group (aka the constitution). In fact, it’s weird to even think of the group as just being “BArCMuT members”. BArCMuT is actually just a tool for the community to organize itself, and I would like to re-org BArCMuT to reflect this.

What’s In It For Me

Part of cooperation is understanding why the people you are cooperating with are doing what they do.

At the bottom of my South West emergency bag BArCMuT constitution, there’s a section titled “WIIFM” (an abbreviation for “What’s in it for me”?). At the risk of being overly explicit, let me share why I organize BArCMuT:

  • I want to participate in a community that I help to create
  • I want to meet cool collaborators and make cool s@&#%!
  • I want to know about awesome new electronic art technology, libraries, and techniques
  • I want you to think that I am cool and well organized and include me in cool projects
  • I want you to return my phone calls and emails

Conspicuously missing is any sort of profit motive. BArCMuT is an Open Source inspired organization, vis a vis Eric S. Raymond. The way I see it, collaboration creates value through network effects rather than through hording.

To get semi-technical, personal sub-optimization (greed) in a commons reduces the benefit of the commons as a whole and ultimately limits its abilities to benefit community members thus trashing the commons. For the mildly cynical or economics obsessed, building a commons can be thought of as “enlightened self interest”. But really, this technical framing doesn’t capture the spirit of why I built BArCMuT. For those who follow their heart, this approach can be described as just feeling good and creating community.

Envisioning The Computer Music Commons

To further the goals that I listed and I believe that many community members share, I want to reform BArCMuT as a durable commons for the computer music community. My strategy from the beginning has been to remove any frictions to having a neutral commons – such as such as pursuing direct monetary gain or gratuitous advertising. Now that BArCMuT exists as a community asset, the next step in reducing friction on the commons is to change the structure of BArCMuT from a tree to a graph.

Part of the strategy for limiting the politics that can exist within a group, is to limit the scope of what BArCMuT does. I hope to reduce politics by: not having a shared treasury, only allowing free events, and limiting the scope to events relevant to learning about or creating electronic arts (e.g. no concert audience promotion). BArCMuT definitely should support the excellent commercial work that is being done within our community ecosystem, but as a commons it should be clearly differentiated from these ventures.

The BArCMuT Constitution

Every group needs some guidelines – the more lightweight the better. Here’s my first attempt at codifying a group constitution for a co-organized BArCMuT. Please post your feedback.

Goals of the constitution:

  • Create a durable commons that is not reliant on a single member (i.e. not a benevolent dictatorship run by me)
  • Further enable the Bay Area computer music community to stay informed about technical talks, hack sessions, and community events
  • Create a neutral commons for members to find collaborators, employment, teachers, and students
  • Filter events to maintain a high level of quality

Participants:

  • There are four general participant types: co-organizers, hosts, presenters, and attendees
  • Initial co-organizers will be invited by me
  • Additional co-organizers can be added or removed by an 80% group vote (I could use some additional advice on the official decision making process).
  • Co-organizers can schedule official BArCMuT events if they fit the guidelines. An official BArCMuT event is one that sends RSVPs and is listed on the main page of barcmut.org
  • Co-organizers, hosts, and presenters are encouraged to list their logo on the barcmut home page

BArCMuT event guidelines:

  • events must include a technical talk about electronic art technology
  • events must be free to members
  • events must be in the Bay Area
  • hosts, presenters, and co-organizers are encouraged to mention upcoming electronic art events (free or not), job positions, and products. Although community relevant promoting is encouraged as a vital part of the ecosystem, this should not dominate the event.
  • co-organizers can list events (even if they are not official BArCMuT events) in the BArCMuT calendar. It would be great if we could announce all upcoming events listed in the calendar at official BArCMuT events.
  • there will be no shared treasury or treasurer for BArCMuT
  • venues, presentations, and co-organization are offered for free
  • expenses will be payed by co-organizers or by donation (e.g. for security gaurds, snacks, etc.)

I am inviting trusted community members who I have organized events with in the past to be BArCMuT co-organizers. These co-organizers can schedule events that fit the BArCMuT guidelines. These include:

  • Ge Wang (CCRMA, Smule)
  • Sasha Leitman, Linnea Williams, Carr Wilkerson (CCRMA)
  • Tim Thompson (Share San Jose, Visual Music Meetup, ZeroOne)
  • David Wessel, Adrian Freed, Andy Schmeder (CNMAT)
  • Barry Threw (GAFFTA, Overlap.org, etc.)
  • Vlad Spears (Phasor, Overlap.org)
  • Harry Tormey (PyGame, Digidesign)
  • Chris Brown (Mills)
  • Scot Gresham-Lancaster (Cogswell, The Hub)
  • Rich & Moldover (Learntech, LoveTech)
  • If you are not on the list and you think you should be let me know

A note about scheduling. If there are too many events (e.g > 4 per month) we may need to thin things out. One strategy would be to to list events that repeat frequently once as official BArCMuT RSVP events and then list them in the non RSVP calendar to be announced at other events.

Conclusion

In conclusion, I am excited about being part of more great events this year as a co-organizer. My plan is to work towards a durable commons through transparency and establishing light weight and usable guidelines. If I am doing something that seems to work against this plan, please tell me. I’m not perfect and I would appreciate the feedback.

Even before this article has been completed I have had some great conversations with other organizers about creating this commons. 2010 is going to be a great year for community!

Bay Area Computer Music Technology Meetup: ChucK, Python VST, and More

Posted: September 24th, by Noah

Bay Area Computer Music Technology Meetup: ChucK, Python VST, and More
Thursday, October 4, 2007, 6:00 PM
Space Gallery, 1141 Polk St , San Francisco, CA
Please RSVP

Come meet each other and participate in planned and impromptu presentations (“lightning talks”). Presentations will be Ge Wang and Spencer Salazar on ChucK, and Tim Thompson on his Python VST library. Bring your laptop if you would like to make a short impromptu presentation (projection screen and sound system available) or tell the group about new projects and opportunities.

PLANNED PRESENTATIONS

  • Ge Wang and Spencer Salazar presenting on the ChucK audio programming language. Ge and Spencer are both Alumni of the Princeton Sound Lab and Ge is joining the faculty at Stanford in the Center for Computer Research in Music and Acoustics (CCRMA). There is a lot of interest forming in the Computer Music community around ChucK and they have been at it’s originating point. Ge is the chief architect and co-creator of the language and Spencer is the author of several key components, as well as the miniAudicle, an IDE for enjoyable ChucKing. Ge is also enthusiastic about starting a West Coast Laptop orchestra.
  • Tim Thompson will be presenting on a library he has written that allows Python programmers to access the vast variety of VST plugins and synth instruments. He is a former longtime Bell Labs / AT&T / Network Appliance developer who has written a number of computer music frameworks (notably KeyKit). He has more recently been inspired by events such as Burning Man and Woodstockhausen, where his interactive creations include a 12-foot high lyre and an antique radio. Tim’s home page describes his projects and hosts his web-based algorithmic music toys.
  • Short “lightning talk” style presentations from users who have attended with their laptops. Contacting me in advance for this is not necessary unless you have specific concerns.

The event will be held at Space Gallery, 1141 Polk St in San Francisco. There will be a projection screen and stereo sound system. It is an enjoyable space and will be open for people to socialize after the presentations. There will be light food to enjoy while you are talking. Many thanks to Ray at Space Gallery for hosting this meetup!

At 9pm the venue will switch gears from Computer Music Technology Group tech talk. Further eclectic inspiration begins at 9pm as professional skateboarders do a short exhibition on a small portable half-pipe skate ramp inside the gallery while CB Records Mophone and friends perform mashup sets of live rock and funk re-mixes. Should be amazing!

Polk street also offers a variety of restaurants for after meetup dining and conversing.

Looking forward to meeting all of you, and please feel free to contact me about presenting for future events, hosting or sponsoring an event, etc. – noah [at] listenlabs.com.

BIOS

Ge Wang received his B.S. in 2000 in Computer Science from Duke University and PhD in 2007 studying with Perry Cook in Computer Science at Princeton University, and is an assistant professor at Stanford University in the Center for Computer Research in Music and Acoustics (CCRMA). Ge conducts research in real-time software systems for computer music, programming languages, visualization, new performance ensembles (e.g., laptop orchestras) and paradigms (e.g., live coding), interfaces for human-computer interaction, pedagogical methodologies at the intersection of computer science and computer music. Ge is the chief architect of the ChucK audio programming language and the Audicle environment. He is a founding developer and co-director of the Princeton Laptop Orchestra (PLOrk), and a co-creator of the TAPESTREA sound design environment. Ge composes and performs via various electro-acoustic and computer-mediated means.

Tim Thompson enjoys the creative process of developing artistic software for both music and visuals, often involving the use of unusual controllers. Most widely known as the developer of the KeyKit programming environment for algorithmic and realtime MIDI experimentation, he has more recently been inspired by events such as Burning Man and Woodstockhausen, where his interactive creations include a 12-foot high lyre and an antique radio. He lives in Silicon Valley and collaborates with local ensembles Dud and DOUBLE VISION. Tim’s home page documents the variety of his activities and allows people to play with web-based algorithmic music toys.

Spencer Salazar is a software engineer and music technologist from San Francisco. A cohort of the Princeton Soundlab, he is the main developer of miniAudicle, an integrated development environment for the ChucK audio programming language. He has implemented several components of ChucK proper, and has composed for, performed in, and developed software for the Princeton Laptop orchestra. By day he works on human-computer interface technologies for a Bay Area product development group.

ABOUT THE BAY AREA COMPUTER MUSIC TECHNOLOGY GROUP

Meet other computer music technology enthusiasts for presentations of computer music techniques and technologies (all music genre outputs are welcome). If you are a user of max/msp, csound, ChucK, CLM, Live, Reaktor, Kyma, JMSL, SuperCollider, or other computer music synthesis, composition, and live performance software this group is for you. Come to learn new techniques, better the code base, find collaborators, and find out what what’s happening in studios, labs, and live work spaces around the Bay Area.

Join the Bay Area Computer Music Group and RSVP for the first event here