2013年6月25日 星期二

Score Follower 再測試 (二)- 樂譜描述之關鍵語法

IRCAM 的樂譜追隨技術物件 antescofo~ 之文字樂譜範例如下:


註解:

BPM 60  ==> 速度
NOTE a4 1 ==> a4 音高,長度為一拍
NOTE g4 0.5 @hook ==> g4 必須被電腦聽到,樂譜追隨才會繼續下去
NOTE f4 0.5
NOTE e4 2

  • 每個事件必須寫在一行,並按照時間順序排列各行。
  • 大寫字母為樂譜的描述詞,其必須置於一行的開頭。樂譜描述詞之後,則接上引數。
  • 指令可以有不同的屬性,但其前必須接上 @ 之符號,藉此選擇性地指定某些細節特性,其用法類似 max 的物件,但差別在於 antescofo~  之屬性無須接引。
  • 各行分號之後的數被視為註解,'/*' 與 '*/' 之間的文字也被視為註解。


NOTE <音高> <音長> <標籤> 使用方法:

音高(pitch)標示法:
  • C4 = middle C = MIDI note 60; d#3 = D sharp below middle C = MIDI note 51; Bb4 = B flat above middle C = MIDI note 70
  • MIDI 音符之微分音標示法:60 = middle C, 54.5 = E plus one quarter-tone below middle C
  • MIDI cents 標示法:6000 = middle C; 6600 = F sharp / G flat above middle C; 5450 = E plus one quarter-tone below middle C
音長(duration)標示法:1 為四分音符,2 為二分音符,0.125 為三十二分音符。0.333, 0.333, 0.334 為三連音的概數。三連音也可用分數表示為 1/3, 1/3, 1/3

標籤(label) 用法: label 為一個單獨的字所構成,中間沒有空格,是用來作為單一事件的符號。每一個 label 必須是電子樂譜中獨特的。label 並非一定要有,單一事件可以有一個 Label 或沒有 label。當到達 label 事件時,該 label 則從 antescofo~ 第三個出口被以符號的方式送出。若欲將數字的 label 轉換成 max 的整數或小物,則可使用 fromsymbol 物件。label 又可以用來在電子樂譜當中移動,透過 nextlabel, previouslabel, jumptolabel 之訊息來達成。一份電子樂譜中的所有 label 可以使用 getcues 的指令,讓其透過 receive 物件,被一個命名為 named-antescofo-labels 的物件所接收。

@hook 用法: hook 屬性可以被分配給 NOTE, CHORD, TRILL, MULTI, 用來指定一個既定的事件在任何情況下都不可以被跳過 (原先 antescofo~ 跳過錯誤的演奏之機制則暫時被停用,直到設定 @hook 的音被聽到為止。

Chord (<音高>....<音高> ) <音長> <標籤> 使用方法: 括號中用來紀錄和弦中的音高。其他用法與 Note 相同。

TRILL (<音高群>....<音高群> ) <音長> <標籤> 使用方法: 括號中用來指示某個單音或複音事件是由數個音高或音高群以不確定的出現順序所組成。其可用來代表 trill, tremolo, 以及一段有固定長度的即興片段(該片段在固定的時間長度中,可以特定的音高作即興,這些特定的音高可以出現很多次,也可以從未出現)。管樂的複音吹奏也可以使用 TRILL 來表示,因為若以 CHORD 來表示,則常常太不穩定。

MULTI (<音高群或音高> -> <音高群或音高> ) <音長> <標籤> 使用方法MULTI 與 TRILL 用法相近,但 MUTLI 的音高排列順序是有被定義的,主要是用來代表 glissando 的事件。

EVENT <音長> <標籤> 使用方法:EVENT 指令跟樂譜追隨無關,只是用來產生描述性的訊息。


沒有留言:

張貼留言