Pages

09 July 2011

ChucK Language File for TextWrangler

Recently, I have been looking into ChucK, the "Strongly-timed, Concurrent, and On-the-fly Audio Programming Language" developed at Princeton, and am developing ideas for some pieces written in ChucK.  While there is an experimental IDE for ChucK (miniAudicle), you can also run ChucK straight from the command line and write the code with an editor of your choice.  When I first downloaded ChucK, miniAudicle was reported to not be very reliable.  That may have changed now, but I've become accustomed to using TextWrangler, my text editor of choice, for my ChucKing needs.  Since ChucK is not one of the languages TextWrangler has built-in support for, I wrote my own property list to give syntax highlighting to my ChucK files.  You are welcome to give it a try, modify it as you like, and I would really appreciate any feedback you would like to give.  The file can be found and downloaded here.  Once downloaded, simply place chuck.plist into (user home)->Library->Application Support->TextWrangler->Language Modules.  I hope you find it useful.

02 May 2011

Organic Circuits: DISIS Spring 2011 Event

Friday, April 29th, students from the Digital Interactive Sound and Intermedia Studio (DISIS) at Virginia Tech performed their final pieces and projects in a concert titled "Organic Circuits."  An academic year in the making, all performances involved MaxMSP programs incorporating audio, and in a couple of cases video, with levels of interactivity varying from samples recorded live to pedal boards to gestures captured with Wii remotes.  This concert event was successful not only at showing some good pieces and good musicality that come from the DISIS students, but also at exposing some general problems and critiques of the pieces and logistics for this and other electronic music shows.

All of the performances displayed a lot of time and effort on the part of the students, and showcased some good potential for up-and-coming electronic musicians within and outside the VT Music Department.  Chris Cummins and Maya Renfro sang a haunting vocal duet, accompanied by sparse instrumentation, to capture the essence of the title of Cummins' piece, "Is There Anyone Out There?"  Adam Wirdzek, aka Electrobro, showed off some club-hopping beats in his unlisted house dance piece.  David Ceritano pitch-shifted guitar chords and riffs, calling back samples recorded earlier in his piece, "Prometheus," to create a good sense of musical structure.  Matthew Turner and Michael Lipnick both showed some impressive Jitter visuals in their respective pieces, "Visual Experimentation" and "Beats Mage's Beats Mage," both of which had good synchronization between audio and visual elements.  Lastly, Bennett Layman used his own vocal talent as the underlying sample for an instrument to accompany himself as he sang his lovely lyrical piece, "A Clear Midnight."  Though my favorite piece for the night would have to be the first rendition of Ian Philips' "MAKR" for its structure, pleasing sound textures, and the overall evolution of both of these.  My apologies go to Tyler McDonald, John Elder, and Michael Hawthorne for arriving late to the concert and missing their performances.

Now, for some critiquing.

The following is a list of general problems, issues, and improvements I noticed during this DISIS concert event that I believe should be addressed in the future.  These suggestions are not just for DISIS concerts, but could be applied to any electronic music event to help make a better experience for all involved.
  1. Transitions Within Pieces -  This applies primarily to transitions between sections of a piece.  The main issue with these seems to be performer interaction with whatever instrument/patch/device is being used.  For transitions within pieces, you can help yourself a lot by designing a good interface for your instrument/patch/device that makes interacting with it easy and intuitive.  After that, practice is the best solution.  For example, if you need to switch from playing a guitar to using a keyboard and mouse multiple times, practice each switch until it is smooth and does not cause an obvious break in your piece.
  2. Transitions Between Pieces - This always seems to be a problem in electronic and computer music. One third of the concert should not be spent on setup time.  Make sure that whatever can be setup ahead of time is setup in advance.  Within thirty seconds of coming on-stage, the performer should be ready to perform.  Try to have multiple stations so the next performer can setup while the current performer is finishing.  I also recommend taking some notes from FSU's PRISM concerts.
  3. Built-in Technical Difficulties - Things like screen savers and power saving options like dimmed displays should be taken care of and disabled before the concert.  Always double check.
  4. Definite Beginnings and Ends - Even if your piece takes ten minutes to setup and the audience is clearly disengaged, find a way to get their attention back before beginning.  This can be as easy as changing the lighting in the performance space, but the audience needs to be with you when you start.  This shows that you care if they listen, and that your entire piece is worth listening to.  When the piece ends, make sure to signal it to the audience through body posture, motions, or musically in your piece.
  5. Beware of Static Sustained Sounds - Sounds that remain constant for a long time wear on the ears very quickly.  As long they are masked by dynamic sounds, such as melodic lines or chord changes, you might be able to get away with a few.  But the moment a static sound is alone, it can become close to annoying.  Any sound can capture a listener's attention, but to keep it, the sound has to change in some way.  Whether through loudness, pitch, timbre, panning, or some other quality, the sound has to appear to have direction.
  6. Always Make a Way to End Cleanly - Occasionally it happens that a performer will finish the piece, go to signal the audience that it's over, and somehow trigger sound to continue.  This could be accidental or due to an oversight on the part of the instrument design.  A simple overall loudness control, a button to trigger a fade out of all sound, just anything that will nicely kill any audio that the piece may still be making is easy to make and will fix this.  This principle applies to visuals as well.
  7. If Something Sounds Like It Shouldn't be There, Maybe It Shouldn't - If a sound, musical line, visual image, or whatever else is in the piece seems to clash, not to fit, or fights with existing material, really consider whether it needs to be there.  If you keep it, make sure it has purpose, and that the fighting it causes has purpose.
  8. Don't Break Character in Performance - Not just for actors.  Once the piece has started, try not to apologize for anything and don't let your body language betray you.  The audience doesn't need to know every little technical thing that has gone wrong in your piece.  As long as you can keep going, and don't need to start from the beginning, it's all part of the performance now and there's nothing you can do to change it.  So go with it.
These are the main points that seemed to reoccur during "Organic Circuits," and I have noticed many of these in other shows, and in my own work as well.  I am certainly not perfect and I intend to keep coming back to these points again and again, as I believe they will always apply.  We're all in this together, and, maybe, by taking critiques of our work and the work of others, we can make something better.

“Then let us all do what is right, strive with all our might toward the unattainable, develop as fully as we can the gifts God has given us, and never stop learning”
- Ludwig van Beethoven

13 April 2011

Compiling libpd as a Processing library

Last week Peter Kirn of CreateDigitalMusic gave a presentation at Virginia Tech on using libpd--the PureData library--inside of Processing.  He showed a simple PD patch that could then be controlled through a visual interface set up in a Processing sketch.  Coupled with the piece that Peter performed at the Laptop Orchestra concert event, which used libpd inside of Processing, my interest was definitely peaked.  So I began searching the Internet to find this libpd and documentation on how to get it running inside of Processing.

It became readily apparent that, while libpd was simple enough to find (hosted here: http://gitorious.org/pdlib), documentation on building, installing, or getting it into Processing was somewhat lacking.  Considering libpd is still an alpha build according to the puredata.info community, I can let this slide.  Documentation will probably improve once an official stable release is out.  But until then, I've put together this tutorial to show how I got libpd built and working inside of the Processing environment on Linux using the Eclipse IDE.

12 April 2011

Beyond: Spring 2011 L2Ork Benefit Event


The Spring 2011 Virginia Tech Linux Laptop Orchestra (L2Ork) concert event took place this past Saturday, April 9th.  Following a well-received forty five minute program with the Boys and Girls Club Laptop Orchestra at the Dumas Center in Roanoke, VA, on Friday, April 8th, this concert was a good balance of confidence and professionalism, and an inviting and informal atmosphere.  The children's program, featuring the Boys and Girls Club from the Roanoke Academy of Math and Science, started at 7pm.  Since I had been working with the boys and girls, instructing and conducting them twice a week for the past two months, this program was my primary concern.  And I was not disappointed!  The kids performed well under pressure, better than they had performed at any rehearsal.  Nothing like a hall full of expectant parents to make kids buckle down and focus.  They performed two pieces that I had created for them, one being a simple arrangement of Twinkle Twinkle Little Star, and the other a piece based on rhythmic patterns using their voice as an instrument sample within the Renoise sequencer/DAW.  The boys and girls were joined on both these pieces by guest artist Ron Coulter, who laid down some sweet drum beats to accompany the kids.  The boys and girls also performed two pieces with the L2Ork ensemble: Citadel, the staple L2Ork ensemble piece, featuring soprano vocalist Aurora Martin; and Rain, a new piece by Ico Bukvic that premiered at the event.