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:
- 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.
- 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”).
- 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.
- 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.