描述人類運動的語言在臨床醫學、工業時效分析以及動畫系統的研制中均得到運用,但最令人感興趣的還是在舞蹈方面的成果。盡管若干具有競爭性的舞譜系統已經研制出來,但是仍然需要將這種藝術提高到可讀寫的理想水平。掌握一切運動記譜系統的困難就在于學習它們存在固有的復雜性和艱巨性,這就導致了用計算機翻譯系統來實現記譜的設想的產生。計算機可以作為一種工具,幫助合成、編輯運動符號的標記;也可以作為一個翻譯系統,用來動畫一個舞譜從而輔助教學。
記譜系統在許多文化領域中得到了發展。一些系統特別適合于某些程式化的動作,如描述古典芭蕾的貝尼什舞譜。而另一些系統則更為通用,如埃斯科爾—瓦赫曼舞譜和拉班舞譜。其中拉班舞譜是一種最通用的系統,目前至少有三種以計算機為基礎的系統用于翻譯這種舞譜。(它們是:賓夕法尼亞大學的韋伯、斯莫利爾、巴德勒系統;滑鐵盧大學的薩維奇、奧菲瑟系統以及我們西蒙·弗拉塞爾大學的系統。)
對拉班舞譜進行計算機輔助組合和翻譯系統研制的主要目的是使這種舞譜易學易用。對于舞蹈設計者來說,可以在沒有舞蹈者在場的情況下,由計算機的翻譯系統實現可見的運動。另外,計算機輔助組合一個舞譜又可以幫助設計者們從乏味的記錄和編輯工作中解放出來。對于學習記譜法的學生來說,計算機系統給予了直接的反饋,這樣不但加速了學習過程,而且提供了快速檢驗記譜練習的手段。一個記譜者在實踐中會發現這個系統對于驗證已舞譜化的舞蹈是十分有用的。舞蹈者通常對舞譜的知識十分有限,但是他們可以利用計算機系統查尋舞譜化舞蹈的檔案,從而逐步地學習這些舞蹈,擴大他們掌握的劇目,以便吸引更多的觀眾。可以通過計算機瀏覽一般的舞蹈語言和動作模式,對于比較困難的段落則給予重復再現。
拉班舞譜翻譯系統
翻譯拉班舞譜命令的程序是以澤拉·沃洛弗斯的原著為基礎的。由于這是一個研究工具,所以系統的設計盡可能地通用。作為輸入數據的人體拓樸由指定的名字、標識號、末梢連接號、基部連接號和每個肢體的長度來確定。這樣我們便可以用慣常的拓樸學來指定任一的肢體。這種方法也能夠簡便地定義六部分復合肢體(即兩條手臂、兩條腿、軀體和頭),因為這些肢體都是作為獨立運動的基礎單元存在的。例如復合肢體動作“全腿向左”就包括了“大腿向左”、“小腿向左”、以及“足向左”。動作的全稱通過使用者規定輸入命令的名字和含義而得到保留。由此,我們通常以0°、45°、90°、135°和180°來對應拉班舞譜水平方向的“前”、“左前”、“左側”、“左后”以及“后”,而這些都是由使用者自己規定的。軀體的位置預置在拉班舞譜假設的隱含位上,這個假設又是通過每個肢體在空間的方位角和旋轉位來確定的。
翻譯系統在工作過程中首先讀出指令段的內容,然后將符號翻譯成方位。對于不同肢體的復用命令均送入肢體數據庫,庫中列出了每個肢體的所有方位變化,以及肢體開始動作和完成動作的準確時間。與此同時,系統通過對輸入數據的檢驗來確保符合人體動作的真實性。支撐點的變換必須單獨處理,這是因為它們包含了軀體重心的運動以及并非清晰明了的肢體角度的變化。
記錄所有肢體各方位、旋轉角變化啟動和結束次數的數據庫,可用于計算軀體二十三個關節的笛卡爾座標。插值法以所需的幀幅率(典型值為每秒14幀)計算
這些變化的立體空間座標。為了將圖形顯示出來,就要根據使用者指定的任意觀察點產生出平面投影來。
適用于拉班舞譜的圖形輸入和編輯的交互式系統,已經在DEC GT40圖形計算機上得以實現。目前正在用更易于理解的輸入和編輯系統來取代之。這個新系統是由美國費城的布勞恩和斯莫利亞共同研制的。它的解釋程序是用FORTRAN語言(一種面向過程,用于科學計算的計算機語言——譯者注)編寫的,并且在SFU’s IBM370/155計算機上運行。現在該程序又用PASCAL語言(一種按結構程序設計,用于教學、科學計算的計算機語言——譯者注)重新編寫,并在PDP-11/34計算機上運行。顯示的圖形既可以在GT40圖形計算機上運行,也可以在我們的埃文斯和薩瑟蘭圖形系統1的圖形計算機上顯示。這兩種圖形計算機都是由PDP-11/34機支持的。PS-1的優點在于它有專用的硬件執行空間轉換,這樣可以在顯示過程中選擇觀察點,并且觀察者轉動旋鈕可以在計算機“舞臺”上“巡視”。
問題與展望
本系統的研制是包含舞蹈工作者和計算機科學工作者的多學科課題。因此對目前所遇到的問題及今后的打算就要從上述兩者的不同觀點來探討。
舞蹈工作者的觀點
當前,我們正在試圖建立舞蹈動作的計算機“詞匯”,而后給出這些詞匯的拉班舞譜的對等物,這樣計算機最終就可以將無論哪一種譜記翻譯成動作。由于計算機只能識別輸入它的程序,所以舞蹈工作者必須建立各種動作的“宏語言庫”。庫中存放由程序編制好的基本動作及組合,如:行走、蹲、小跳、踢腿、跨躍、騰躍、大跳、旋轉等等以及更復雜動作的組合。為了給一個動作編制程序,必須分解整個動作,并給包含在動作中的每部分軀體確定準確的時間和位置。這就需要分解肢體動作的角度(至十7.5°),而動作達到所需位置的時間必須根據半拍來確定。按照計算機可以識別的程序將動作信息編制好后,即可輸入到計算機中去。一旦計算機接受了這些數據并且順利地運行后,便以單線圖形將信息顯示在電視屏幕上。問題的關鍵在于怎樣才能使計算機準確地顯示出動作來,而這只有靠計算機專家才能解決。
另一項正在研究、改進的是使圖像更真實的問題。現在的圖像仍然只有一個,所以只能“演出”獨舞。但是在本系統中我們還會遇到不止一個舞蹈者的問題。同樣地,這里也還存在著音響合成的問題,以及在這個計算機舞臺上能否有燈光效果?能否有道具?一個舞蹈的所有這些方面的問題都必須涉及。
最后,當我們根據設想研制系統時,其唯一的限制就在記譜法本身。然而要想建立一個能與拉班舞譜任何譜記相對應的動作庫卻是非常費時的。正如在拉班舞譜中那樣,描述動作的精確度具有一些限制,因此所有的舞譜都提出了如何翻譯的問題。同時,人們也會對表達的準確度抱以懷疑態度,難道一個舞蹈的情感是可以動畫的嗎?而對這方面的興趣則導致了對形體語言和信息傳達的研究。
計算機科學工作者的觀點
為了避免拉班舞譜的細瑣乏味的方面,我們已經著手進行對宏命令和一種高級語言的研制。宏命令最簡單的格式是已編制好的、給予名稱的指令序列。如果參數可以以一些簡單的方法修正指令序列的話,宏命令的功能將會大大增強。指令序列的本身并不改變,但是一些重要的特征,如在執行指令序列時舞蹈者面對的方向,以及速度和風格,都可形成宏命令的參數。在較為復雜的宏命令中,參數則產生于指令的條件組合中,即根據某些條件得到根本不同的指令序列。
這些差別可以通過我們研制的行走宏命令加以說明。這個宏命令具有步長、步時和方向等參數,通過它們產生腿的動作和臂的輔助動作。這里并沒有試圖產生風格參數,不過這一點是可以做到的。正在研制的另一個較復雜的宏命令系統允許調用一個“行走”宏命令,通過它產生條件組合的相應代碼。下面就是這個行走宏命令的調用過程:
除第一項外,所有參數都隱含在命令中:速度為自然速度,步碼和風格是假設的,方向指舞蹈者面對的方向,起始腳為右腳。
目前,對于一個更高級語言是否能對記譜者、舞蹈設計者和動畫設計者有所幫助,存在著一些爭議。我們相信是會有幫助的,并認為這類高級語言應該具有以下特點:
1.允許使用基本的記譜法,以及簡單的或復雜的宏命令,
2.提供功能較強的條件語句和會話語句,
3.具有與自然語言盡可能相近的句法。
這里有一個最好的例子來說明“行走”命令,這個命令恰恰使用了符合以上規定的參數:
執行它產生的效果可能是:
當(舞蹈者B觸及)時,以非常慢的步子走向左前方直到(舞臺的邊緣)。在這個例子中,布爾式“舞蹈者B觸及”和“舞臺的邊緣”表述由使用者自己來規定。
運用以上類型語言的使用者可以各種交替的方法指定所有的參數,而量的參數又可以是粗略的或精確的。如速度,可以是粗略的(非常慢),也可以是精確的(每拍4步)。利用這種方法,使用者可以在初始階段建立一個通用的命令序列,然后再進一步加工它。