Thursday, May 31, 2012

Thoughts/Brainstorming on Real-World Musical Creation with ChucK

//this post is just my own thoughts after having spent a couple days working with ChucK. I may update it in the future, or if I have new ideas after talking about these points with the other members of the group. Also it turned out very long. Sorry!

     I don't entirely understand the point of computer music.



     Let me clarify this statement: I do understand why one would choose to use electronics and computational devices as a part of the process of making a collection of organized sounds that we generally define as music. They can add variety to the types of noises one can generate, and can do a number of things that aren't possible with traditional acoustic instruments. I do not understand though why one would remove the human components--spontaneity, emotion, mistakes that turn into something new and interesting--entirely from music making. To me, it seems like this is what ChucK at its most basic form is for. To make anything resembling what we know as music with just a .ck file is not only close to impossible, but also needlessly difficult. Even a person with little to no musical talent can beat a drum in a steady pattern, but to do the same in ChucK requires some fairly complicated scripting. The noise that the drum makes must be created by defining frequencies and envelopes and gain, then it must be played in a defined pattern every x number of seconds or milliseconds. To add in a different pattern every few measures for variety requires coding the concept of measures, using counters and if/else statements. Most importantly, without any sort of interface, none of this can be created or changed on the fly.
     One key word in that last sentence brings me to my main point: interface. Unless we are willing to accept redefinitions of what exactly music is and how we make music, having an interface is key to making good music with ChucK. The laptop orchestras (mainly of Princeton and Stanford, although there are other ones that have sprung up) are an attempt to explore this. The problem I have with them is that they are still extremely exploratory. Most of the compositions are nothing more than a demonstration of programs that interpret very simple input from an interface to make noises that are only in harmony with one another due to the networking capabilities of the computers; in other words, almost nothing of the work produced by the laptop orchestras has to do with player skill. For example, the piece Clicks as performed by the Princeton Laptop Orchestra (PLork) is a composition in which the members of the orchestra create small, water-like sounds by essentially banging on their keyboards. There is a variation in pitch depending on which keys are hit, but due to the quick tempo of the piece, the players are not capable of a great deal of accuracy. The body of the piece is determined by the conductor indicating with his arms whether the players should aim for higher pitched notes or lower pitched notes. As one astute Youtube commenter said on a video of a performance of Clicks, it "sounds like a men's bathroom."The overall result of this piece and other laptop orchestra compositions, I find, is an end product that, while often intriguing in its method of producing sound, is ultimately very unimpressive in terms of its value as work of art. Putting aside for now questions of how integral each individual player's skill is to the value of the work overall (as that's a basic question of what can and cannot be considered art and is both far too detailed and far too dependent on an individual's ideas to go into here), I would like to address the following question:

     How can we use the capabilities of ChucK to enhance traditional ways of making music?

     I specifically ask how we can use ChucK to enhance music making because when thinking about computer music, there are already many many programs and pieces of equipment that do such things as (and this is not a comprehensive list, but just a list of things I am familiar with and that an amateur or hobbyist musician might want to do):
-allow one to use equipment that resembles a traditional instrument to create notes in a digital space instead of a real-world acoustic space (such as using a midi controller or electronic piano as an input to Garageband)
-allow one to manipulate samples of music electronically with enough ease to create on-the-fly, live compositions (such as Ableton Live)
-allow one to alter an input (such as an input from a microphone) in real-time and output it again (such as adding distortion on a guitar at a metal concert)
     Chuck is, to some degree, capable of all of these things with the right code. However, as stated above, there are already programs and pieces of equipment that can do these things with much more efficiency and fewer bugs than ChucK could. So what is ChucK's place in the world? I posit that it is ChucK's capability to do all (or at least many) of these things along with two other important properties--widespread availability and networking--that together create new and interesting possibilities.
    For all the ways of creating electronic/computer music listed above, some form of specialized, usually expensive, equipment or software is required. Ableton Live, for example, costs at minimum $100 for a stripped-down beginner's version, and up to around $850 for a fully-featured suite. Musical instruments, of course, are often prohibitively expensive, as is electronic equipment meant to enhance or replace said instruments. Even basic midi controllers can be more than many people can justify spending on such a specialized item. ChucK can offer an effective, albeit rather primitive, solution to all that. Because ChucK is free, and programs and learning materials are free on the web, all one needs is access to a computer with internet to be able to experience all ChucK has to offer. I think it is well within the range of possibility to code in ChucK a keyboard-based piano program, in which one uses some of the keys to type notes, and other keys to switch octaves, turn vibrato on and off, or other functions. This implementation one main problem though: because of the basic physical properties of the keyboard as an interface, the potential musicality of the creation is severely limited. Compared to an instrument like a real piano, switching octaves would be cumbersome, and the keys are too small to be played with a great deal of accuracy. One possible solution to this is allowing for the use of loops as an integral part of the instrument. This removes some of the limits that are inherent with using the keyboard as an interface. By loops, I mean two distinct things. One would be to create on-the-fly loops by hitting a key designated as "start loop," playing a simple sequence of notes, and then hitting a button to finish the loop. It would then immediately keep playing back, and the user could keep playing on top of it or record new loops on top of it to create a multilayered sound. The second type of loop would be pre-recorded loops, such as drum beats or chords, that the user could stop or start at any given point, probably by scrolling through them in some sort of visual interface. Again, there are already programs that allow loops to be created like this, but they are far from free or widely accesible. A final way to add flexibility to this program would be to allow on-the-fly switching between different preset instruments. For example, a user could record and loop a drum loop, then a bass loop, etc., and eventually create a complexly layered piece of live music. An experienced user could probably even create a personalized keyboard setup that allowed them to play two or more different instruments at the same time.
     The previously described program has the possibility to be very powerful as an instrument for individual music-making, but ChucK presents another distinct possibility to be added on top of the already mentioned features: networking. This is a feature that the laptop orchestras have explored, but it seems that for whatever reason they have neglected focusing on perfecting the musicality of their compositions in favor of experimentation. However, assuming that the above program has the potential to express the musical talent of a solo performer, a networked version opens up even more possibilities. It could do things such as:
-allow people who are not in the same physical space to play music together with with no loss in shared audio quality
-allow people to record music together with fewer restraints on when and where the recording has to take place
-allow a much more dynamic group music creation experience by displaying information from the other group members on each screen
     Again, there are already programs that can do similar things, but the fact that ChucK is free and needs nothing more than basic computer equipment to run cannot be overstated. All the ideas stated above are also just basic concepts that have great potential to change and evolve both as they are coded and then afterwards by the individual users.
     In summary, the basic workings of ChucK are not conducive to expressive musical creation because while the program might indeed be designed to be "on-the-fly," the nature of having to write out lines of code to create simple sounds does not lead to musical creativity and easy improvisation. However, with the addition of an interface, ChucK takes on a new dimension in which its open-source nature truly shines in a field dominated by expensive equipment and programs. I do not want to claim that ChucK has to the possibility to create music of equal depth and expressiveness to that created by top-of-the-line composing programs or traditional physically-based instruments, but I do think it has the potential to be a viable starting place for hobbyists and possibly, in a networked version, to provide new, accessible ways of creating music in a group.

1 comment:

  1. Keep exploring. Another benefit: computer music enables some people to make music even though they may not be able to play an instrument. It brings the means to compose to many people, just as mass-produced musical instruments did in enabling many people to play music. Computer/algorithmic music also stretches the limits of what music is. I really enjoy that.

    ReplyDelete