Monday, November 13, 2006

Musical Iconology 圖像音樂學

I've been composing for a local flute ensemble. They have a quite particular instrumentation -- two piccolos, about ten C flutes, two alto flutes, a bass flute, and a cello.  In my composition I have to take the number of each instruments into balancing consideration.  Say, for a rich bassy chord, there might not be enough low-pitched notes to support ten C flutes in the upper register.  One solution is to divide the C flutes into more parts, yielding to a, say, 7-part chordal structure. The other obvious solution is to ask only part of C flutists to play, instead of all.

這陣子我為當地一個長笛樂團作曲。這個團的編制很特別: 兩支短笛,十支左右長笛,兩支中音長笛,一支低音長笛,以及一個大提琴。作曲時,我必須為這個編制考慮平衡問題。比方說,如果我要一個低沈穩重的和弦,很容易發生低音部不夠支撐十多支高音長笛的問題。一個解決方式是把十支長笛再多分幾部,讓整個和聲架構變成七部;或是直接請部份的樂手不要演奏。


Dividing the C flutes into more parts has a problem: the score then will be too specific to adapt on other settings (I guess this nature provides the job market for arrangers). The other extreme is jazz charts -- the most flexible form of composition. I envy Hiromi Uehara that she can only write guidelines in her composition yet her guidelines are more specific than a jazz chart that the produced work still has a controlled overall structure.

Asking only part of the players to play makes me wonder that if a composer doesn't note how many playerss/he wants for a part (quite common in an ensemble score), the balancing is really up to the conductors/performers. I believe an educated conductor/performer will make proper decisions on that. On the other hand, this also reminds me one of the significance of musical iconology.  These scholars dig valuable information out of pictures.  By looking at an early picture with a band in the background, they can decide the partial balance of an ensemble work.  Amazing, isn't it?

把高音長笛再細分多部有個問題: 這會使該譜變得不彈性,不易給不同編制的樂團使用 (我想這也讓編曲者市場得以存在)。另外一種極端是爵士樂譜--那大概是最彈性的記譜吧。我很羨慕 Hiromi Uehara 在作曲時,只需要大概寫出綱要;而且她的綱要又比爵士樂譜更特定些,使得演奏出來的作品仍具有特定的總體結構。

至於只要求部份樂手演奏的方法,讓我想到如果一個作曲家不在作品中標明需要的樂器件數,那指揮或是演奏者就得決定了。我相信經過訓練的指揮或演奏者應該沒有問題。另方面,我想起音樂圖像學的重要性。音樂圖像學家從圖片中發掘出有價值的資訊。看一張早期有樂隊為背景的圖片,這些學者能決定不同樂器的聲部間該如何平衡。了不起吧?

Waiting for Perl 6

I still remember when I first learned Perl in 1999, I appreciated its string manipulation power, but my reaction to its typelessness was not very positive. I thought it would be a trap to invite bug bearing codes. Boy would I imagine that Perl has been indispensable in my daily shell scripting tasks, and none of the bugs I had had anything to do with its typelessness. Perhaps I was wrong on that. (Of course, without typing, memory management won't be as efficient. However, that's not the main concern for shell scripting.)


When PHP was out, many, including me, thought Perl would meet its end. PHP has much better HTML integration when it comes to CGI. PHP's OO support is much satisfying than Perl's (although PHP 4's OO wasn't really good enough but PHP 5's OO is fairly useful). Perl 5 does have some kind of OO support, but it is, in my opinion, way under development. (I found two documents particularly helpful: Writing serious Perl and Perl Object Oriented Programming.) (Also see this interesting "ideological" argument against Perl support OO.) However, Perl is more powerful in dealing with large data -- in PHP, you have the default 8MB memory restriction;Perl is supported by default by most Linux distributions (it means most people agree at its usefulness). What I think the most relevant for its survival (in my work environment) is that it pushes the concept of "quick and dirty" to an extreme that some would say "quick and elegant". Seasoned Perl programmers (so called one-liners) can really accomplish tasks with minimal codes. I haven't seen any other language that finds its nitch as well as Perl. (However, see this interesting article "Ancient Languages: Perl" by an ex-Perl programmer.)


Perl 6 is very much expected --it's been quite a long wait for me (since my first Perl project in 1999; Perl 5 was very improved but not enough for me). Fortunately it won't be as long as C++'s birth after C-- according to Wikipedia, Perl 6 alpha is to be released by the end of 2006. (I read about Pugs but decided to wait for Perl 6 when they didn't project the release date. Recently I got impatient and checked more about Pugs and found this brilliant Taiwanese fellow Audrey Tang behind the project. Quite a figure she is.)