2009年8月19日 星期三

score follower 測試

以前博士班 max/msp 課程當中,探討 score follower 時,就被老師的複雜的程式搞得頭昏腦脹,老師自己有一套自己寫的 score follower 程式,Richard Dudas 用的那套由 Cort Lippe 利用 detonate 物件寫出來的 score follower,我也有一份,但理解上可說是極度複雜。IRCAM 這套已經物件化的 score follower 則界面上已經乾淨許多,也被多數人推薦與應用,或許是值得探索的,據文獻說明,它是可以被「訓練」的,以便適合不同的樂器。除此之外,其實去年還有人發展出一套號稱更好的 score follower,宣稱可以定義各種音樂事件,而不只是音高而已,這套被稱為 Antescofo score follower。最近為了能趕上年度電腦音樂學會的徵曲,再度把以前的互動作品拿來修改,想把 IRCAM 的 score follower 的新技術融入我的 max/msp 程式當中,以求得更細緻的參數自動化。

IRCAM 的產品向來就是缺乏清楚的文字說明,因此這個物件也是一樣。首先遭遇到的問題是如何把 Finale 的檔案輸出成逼真的MIDI檔。儘管 Finale 已經有 Human playback 的功能,但在按照記譜的符號,轉變成真正的 glissando 或 trill 時,仍然會有些許瑕疵,因此 Finale 的 midi 檔可能還必須在另一個編曲軟體中修改成更逼真的 midi 參數,才有辦法作為 score follower 中的 score。

接下來要把 midi 載入到 IRCAM 的物件當中,這個物件在修改上似乎頗為困難,要刪除一個音沒問題,但要增加一個音,就不像一般編曲軟體中的圖畫式編輯器拿麼好用,這裡的界面無法用滑鼠拉長或縮短音符、也無法用滑鼠雙擊點入音符或移動音符。試了半天,才發現 apple + 滑鼠點擊可以增加一個新的 midi 音,但所有的小節線都是對應錯誤的,因此必須要對著原來的紙本樂譜,一個音一個音的檢查,遇到 trill 或重複音,都必須把他設定為 trill 事件,而不當作單音來看。重複音可以將 interval 設定為 0, trill 則可將 interval 設定為 1,似乎軟體本身會自動幫你設定好 interval,並不需要自己手動修改。要做的工作只是手動去找樂曲當中所有的重複音、trill 等。由於瀏覽的界面不好控制,做了數個小時,終於把這些部份的修改工作完成一半,厭倦之餘,我便開始測試其穩定性。由於手邊沒有真的 flute 的演奏錄音,只好把 Finale 轉好的有瑕疵的電腦演奏之 wave 檔拿來測試,對應的情形大致良好,但遇到快的音群,就不太靈光,神奇的是沒有對應到的音,過了幾個樂句之後,有可能又再度對應上,Hidden Markov Models (HMM)的設計,果然有其妙用。


然而再演出上,對複雜的現代音樂來說,我以為穩定性仍然不夠,不過或許可以在對應情況較佳的片段(如慢的段落)直接用 score follower 控制,快的地方則由人手動來對應樂譜,但這還必須花時間去思考怎樣的設計才是對使用者最友善的,排除同一個 cue 點被同時觸發兩次的設計是必要的,否則自動化的 score follower 與人為的觸發事件,便有可能重疊,導致音樂進行的時序錯亂。再者,結合局部的聲音偵測與互動回饋機制,分析各種音樂事件如樂句、音符密度、重音、音域等等,雖然困難,但在現階段或許仍是必要的,因為由人來直接觸發聲音事件,在速度快的情況下,失誤率可也不低。似乎無論是完全手動、半自動(配合局部的偵測與回饋)、全自動(使用 score follower 對應每個音),都無法完美,需要有一個辦法結合各種手法,相互截長補短。Antescofo score follower 不知道有沒有更好的解決之道。但音樂創作者能放在技術層面的研究時間實在有限,或許等有更多其他人嘗試過 Antescofo score follower 之後,再來加入嘗試的行列吧。

以下是新發展出來的 Antescofo score follower 的示範影片,據 Antescofo 的設計者指出其CPU 的用量僅在CPU 用量在 5% 左右,看來似乎不錯。但唯一讓人不願意嘗試 Antescofo 的原因,是因為必須購買 NoteAbility Pro (約 6000 多台幣),來作為轉檔工具,因為 Antescofo 與 midi 檔案不相容。NoteAbility Pro 是一套電腦記譜軟體,但一般人都用 Finale,很難讓人願意買一套非主流電腦記譜軟體,卻僅只為了將MIDI轉成 Antescofo 可用的檔。

2 則留言:

  1. Hello Zheng. This is Arshia the author of Antescofo! My chineese is very bad and I tried hard to read your post.
    Some of the speculations in your post are wrong. The CPU in the video is 30-40% because of the spatialization, realtime harmonization, Ring Modulation and all the live DSP running for the electronics and NOT for score following. Antescofo usually takes up to 5% on a descent machine.
    If you are interested I can send you a copy of Antescofo~ to you to try and judge its stability yourself. Email me personally. And thanks for the post.

    回覆刪除
  2. Wow, Arshia, I am really surprised that you can read Chinese.

    I have not yet been able to test Antescofo because it needs another commercial program NoteAbility Pro. I am really glad for you about the fact that Antescofo now becomes part of the IRCAM project. I am really eager to watch more demo video of it before deciding to shift from suivi~ to your score follower. Thank you for visiting my blog.

    回覆刪除