Build and Test in the Jamoma Core

February 5th, 2014

Over the last few months, a few of the other Jamoma developers and myself have been collaborating on a new way to automate unit testing. I recently completed a blog post that details how it works and the benefits this new system provides to our workflow. Please head over to the Jamoma blog and read about it.

Test Assertion Failed

Xcode 5 says my userCount didn’t match expectations.

ARP mixtape 2013

December 17th, 2013

Once again, students in DIGA 361: Audio Recording & Production gathered their best tracks into a compilation to share with listeners via the web. Our MP3 mixtape for 2013 features acoustic singer-songwriters, electronic dance music, and straight up garage rock. These diverse musical styles help to showcases all of the ways sound studio and DAW skills can be put to use.

You can download the results at the link below and easily import them into your iTunes library. Once you listen, please let us know what you think via comments on this post or sending us a message on Twitter. Enjoy!

download ZIP archive – 48.3 MB – 44 minutes


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

This entry was also posted by the author to

Jamoma Workshop in Albi France

June 15th, 2013

In early June, I traveled to Albi France for a Jamoma developers workshop hosted by GMEA. It was certainly good to see old friends and make new ones while we discussed future plans for the project, worked intensely on the code and learned about how each other is applying it to creative work. Some of the highlights for me (besides the cuisine) included:

workroom in Albi

Jamoma developers gathered in the workroom for discussion and coding.

More information about the workshop can be found at the following links:

River Tarn

The River Tarn runs through the center of Albi, straddled by several bridges.

Boys & Girls Club Workshop

May 7th, 2013

This spring semester, I wanted to do something different with my Computer Music 2 course. I had seen the workshops that L2Ork did at their local Boys & Girls Club and thought it was an idea worth replicating. Transitioning from Mac to Ubuntu was a task unto itself for my students, but in the end they learned so much by installing and configuring the pd-l2ork software. It was also very rewarding to see them teaching kids at our local Boys & Girls club about sound synthesis and hardware controllers.

The following video gives an overview of the project and our results:

What I learned from my Fulbright

March 7th, 2013

The Professional Development Committee at Stetson sponsors a regular roundtable series in which faculty present recent scholarly work to their peers at the university. Since I had just returned from spending my sabbatical in Norway as a Fulbright Scholar, I offered to talk at the February 22 meeting about my experience and the research I completed while there. My colleagues gave me a lot of positive feedback and I hope my experience will encourage others to apply to the Fulbright program in the future.

You can watch the video of my presentation here:

Transportation videos

February 18th, 2013

While travelling in Europe, I felt compelled to shoot video out the window as a means of capturing the sensation of motion from these various modes of transportation. I am not quite sure what I will eventually do with these creatively, but in the meantime I am assigning these videos as inspiration for a sound design assignment that my students must tackle in the coming weeks. I figured that I could also at the same time turn over this material to the larger web community via a Creative Commons license.

These eight videos (all one minute, no sound) are now available through the following links:

Please let me know if you do use these video and I will happily host links to your work here on my site.

Fulbright Endings

January 25th, 2013

Music technology is a discipline sits between technical and artistic concerns. I came to Norway on a Fulbright grant with every intention of focussing exclusively on an undeniably technical project, telling myself and others that I had to put making music on hold for awhile to focus on writing code for Jamoma. But several things happened during my time there that pulled me into artistic projects and considerations, and my time in Norway was definitely much richer because of these wonderful “diversions”.

Watching a sunset from the deck in Tromsø.

The first diversion occurred when my hosts at BEK asked me to create a sound installation for B-open, a city-wide event that showcases artists working in Bergen. It had been a number of years since I had created an installation, which has a different set of artistic concerns than concert music. It felt good to revisit this format and reminded me how much I enjoyed enveloping a specific space with sound over extended periods of time. Looking forward to the next few years, I am now eager to work more in this medium and thankful to BEK for the opportunity.

The second came in the form of the Ephemeral Sustainability conference hosted by Lydgalleriet. This event gathered an international group of artists, curators and writers in Bergen for three days to address the topic of documenting and archiving sound art. Because historical narratives of sound art are often kept distinct from those of music, the conference introduced me to the work of many artists who had previously escaped my attention. I now see that there are so many points where interests intersect. Knowing their work will inevitably enrich the diversity of examples I share with my students and my own artistic thinking.

It was also during the Ephemeral Sustainability conference when I first heard about the sound art exhibition running at the ZKM in Karlsruhe, Germany. The scope of this exhibit was reportedly massive and offered existing significant works along with newly commissioned pieces. My family and I were already discussing plans to visit a cousin in Southern Germany over the holidays, so we took the opportunity to augment the trip with a visit to Karlsruhe. The exhibit certainly did not disappoint!  The scope was beyond was my wildest expectations, which made it the perfect compliment to the conference in Bergen.

The last diversion came in the form of an invitation to give a lecture and performance as part of TEDxFulbright in Frankfurt, Germany. Since I was one of only 12 invited speakers (and only two of us were current Fulbrighters), it was truly an offer I could not refuse. Crafting this talk required me to seriously reflect on why I feel passionate about making music with the laptop. While creating a new piece for this event, I experimented with new methods for documenting my work and sharing it with an online audience. But perhaps even more important than being on such a big stage, were all the stories I heard from both presenters and attendees about how the Fulbright program had changed their lives. I gained a much deeper appreciation during that whirlwind weekend of what a blessing it is to be among the fraternity of Fulbright recipients and left electrified by the experience.

Between these diversions, I reached a major milestone with my programming for Jamoma that laid a solid foundation for future work to flourish. When measured against my original timeline and project goals, it is clear that I only finished a small part of what was planned. This was not because of the aforementioned diversions, but rather because I underestimated the amount of work that would go into the initial phases of my technical work. My programming chops were also pretty rusty, but my fellow developers found a project to help me gain momentum: working on the documentation. It is certainly not glamorous work, but it is very necessary for a project that hopes to attract more users and contributors. It definitely helped me get rolling and in the future, if anyone asks me for the best way to plug into an open-source programming project, I will tell them to start by improving the existing documentation.

The major milestone was a new method for managing sound recordings in memory. These chunks of computer memory are commonly known as a “buffers”. Computer music platforms usually handle this task by loading sound into buffers with one process and providing routines for other processes to access and operate on that buffer. Those other processes are often ignorant when it comes to changes in the sound they are currently operating on. A big problem encountered during development of the original Granular Toolkit is that changing the underlying buffer caused undesirable results. If the change in sound happened in the middle of a grain event, listeners would hear an audible hiccup in the audio output. In more extreme cases, it was possible for application or system crashes to occur.

The solution came to me by way of programming for animations. Within this domain, there is a common technique known as double buffering that is used to reduce flicker in the image. The basic idea is to prepare the entire image for the next frame of your animation off-screen in a secondary buffer and then, only when it is completely ready, copy that frame to the primary buffer used by the visible screen. Early in the development of the Granular Toolkit, it seemed logical to me that some variation of this technique could be a solution to my audio glitches. Why not first prepare audio in a secondary buffer and then, only when the timing is right, tell the audio processes to start using the new buffer?

In the Granular Toolkit, this behavior is approximated but the full potential is not leveraged. For Jamoma, I set out during my Fulbright grant period to create a better implementation of double buffering for audio and even borrowed the term during several presentations that I gave. After weeks of thinking, brainstorming, dialoguing and refining, where I ended up was someplace new. With the valuable input and help of the Jamoma developer team, I have designed a procedure for managing audio buffers (which has the working title “buffer as librarian”) that does far more than I originally conceived. Instead of two buffers, it can theoretically deal with N buffers and prevent any audio glitches produced by buffer switching. It is now a matter of putting it into practice.

Where does this work go from here? Well, this is one benefit of only completing part of the plan! I know exactly where to go next as the momentum from this sabbatical project carries me forward. It was only during the last week of my stay in Norway that I produced a basic audio demonstration that hints at what is possible with this new technique. For me, it was exhilarating to hear the results of so much silent coding and for others, it serves as audible evidence that this procedure has clear benefits. The next step will be to find other audio processes in Jamoma that could benefit from adopting this procedure. In addition, I will start writing a paper for conference submission or publication on how it all works. I have no doubt that this is an innovation that will interest many people in computer music, as it has clear applications beyond granular techniques.

In summary, my Fulbright to Norway was a wonderful and rewarding experience. If anyone reading this is about to embark on a Fulbright, I offer these four bits of advice:

  1. Have a plan. Without a clear agenda, you will likely struggle to get moving. Transitioning to another country is hard work and can be overwhelming at times. Knowing what you hope to accomplish can help give the associated challenges a purpose. You also need to be able to explain your plan concisely in non-technical terms, because anybody and everybody is going to ask you to explain your project.
  2. Know when to deviate from the plan. If I had not been flexible, I would have missed so much!  The many diversions I have already outlined gave me greater clarity about where I want to focus my artistic energy going forward. That was never in the plan and I am grateful now for those diversions (which I should probably start calling “blessings”).
  3. Everything will take longer than you think. No matter how prepared you think you are for either your research project or the move to a foreign country, don’t be surprised or frustrated when things take longer. In terms of research, take the time to do things right and leave time for rewarding distractions. In terms of setting up residence, plan on this task dominating the first month of your stay abroad.
  4. You will need help. Finding a place to live is nearly impossible without local help, so it really starts with that task since your residence permit depends on it. The people in the Oslo Fulbright office were so very helpful, but you need to ask them for help since they (thankfully) won’t hover over your every move. If you are bringing your spouse or family, be sure to involve them in the process of setting up residence so that the journey is taken together. Although I was the grantee, there was a whole team of people that made this experience possible and I am thankful for each and every one of them.

Tromsø Artist Talk

December 10th, 2012

During my October visit to Oslo, Jon Marius Aereskjold invited me to come speak to his students at the Musikkonservatoriet i Tromsø. So I jumped at the opportunity to make my way North during the shortened days of December and visit this Norwegian city inside the Arctic Circle. My artist talk in Tromsø covered three recent pieces and even included (at the students’ request) an impromptu dissection of my primary performance patch in Max.

You can watch the video here:

More info on the works featured:


November 11th, 2012

In September, one of the TEDxFulbright organizers emailed me to ask if I would be interested in participating in their upcoming event. My answer: Of Course! I was actually in Frankfurt, Germany for this November event less than 48 hours, but it was such a joy to contribute. I met so many great people doing interesting work and all of them had stories about how the Fulbright program had changed their lives. Honestly, the experience left me so energized about the broad impact of this program and humbled to have joined the fraternity of scholars known as “Fulbrighters”.

Wolek @ TEDxFulbright

Photo by Wiltrud Hammelstein.

Preparing to give a lecture and performance in less than 15 minutes was no easy feat. I spent many hours refining my talking points, editing out some things and amplifying others, trying to form a cohesive answer to my big question: Why am I drawn to making music with laptops? Searching for the answer made me revisit the writings of pioneers who had shaped my thinking (namely John Cage and Max Mathews) and examine why I still believe these computers hold so much for creative potential. It was a healthy process of reflection and knowing that I had such short amount of time improved the focus of my overall message: The Potential of Any Sound.

In preparing the music, I decided to keep things simple by using my existing performance system built in Max and limiting myself to just four sound samples. I knew this would help me produce an effective and reliable demonstration, yet still do “something new” (something that I can be compulsive about at times). While preparing, I also experimented with new methods of documenting my work, such as using lecture capture software to record run throughs and posting them online. The name of this new work continues my habit of lifting titles from parts of a larger whole, this time borrowing from the popular TED tagline: ideas worth spreading.

To view my TEDx talk or hear the music, see the links at the bottom of this post. If you watch and find it useful or interesting, please contact me and let me know.


October 31st, 2012

Last week, I attended Musikkteknologidagene, an annual gathering of music technologists from various institutions around Norway. This year’s symposium was hosted by NOTAM in Oslo and showcased their new facilities, as well as a few other institutions around town. There were sessions at the Norges Musikkhøgskole and the motion capture lab of the fourMs Research Group.

For me, this was an excellent opportunity to network with the broader community throughout Norway. As I met people and learned about their work, two things struck me. First, there is so much diversity among these artists and researchers. Topics ranged from micro-movement motion capture to sub-sea data sonification to unique multichannel controllers to evolving download markets. Considering the relative size of this country, the breadth was really impressive.

Second, there is a clear sense of mutual respect for each other’s work. When I expressed this to people during a meeting on the final day, I was told this is generally a key part of Norwegian culture, not just in music technology. Whatever the source, it is a healthy thing for the community that will surely foster more innovation. Working together to promote the cause of music technology is better than competing for limited resources in my view.

In addition to attending, I also delivered two presentations that can now be viewed online. The first was a research presentation about my transition from the Granular Toolkit to becoming a Jamoma developer. This is was in many ways a progress report on how my Fulbright research project is going so far.

The second presentation was an artist talk where I presented 3 recent works and the concepts behind them. These pieces included an audiovisual collaboration, a sound composition and a multi-channel installation.

Overall, this was an exciting and stimulating three day gathering! “Tusen takk” for letting me join in the conference and a special thanks to BEK for supporting my travel.