SCORE(軟體)
SCORE 是一款製譜軟體,由史丹佛大學教授 Leland Smith(1925–2013)以 FORTRAN 語言為 MS-DOS 系統編寫,以其極高品質的成品而聞名。在 1980 年代和 1990 年代,它被廣泛用於音樂製版,至今仍有一小群忠實的製版師追隨者,其中許多人因其能在頁面上精確定位符號的能力而對該軟體給予高度評價。多本使用 SCORE 排版的出版物曾榮獲 Paul Revere 獎及德國音樂媒體製版獎。
程式開發
大型主機起源
SCORE 的第一個版本由 Leland Smith 於 1967 年編寫,作為將音樂輸入至史丹佛人工智慧實驗室(SAIL)PDP-10 大型主機上運行的 MUSIC V 聲音生成系統的一種方式。
SCORE 的核心概念是將音樂分解為一組「項目」(現代術語中的「物件」),並用參數描述其特性。在下面這個早期的 SCORE 常式範例中,可以看到參數系統(P2, P3 等)的雛形:
BUZZ; P2 RHY/4/2/8//REP 3,2//; DF 1000.2; P3 NOTES/P C4/B/C/O B3/C/FINE; P4 LIT/P3%2/!-52; P5 .2 10,100 .4 200,210 .2 1,1; P6 -9999.5; P7 1000; P8 FU/1/2//; END;
隨著向量圖形終端機在 1970 年代初期問世,Smith 將原本為 MUSIC V 設計的參數化描述音樂資訊的方法,改編成一個他稱為 MSS(手稿的標準縮寫)的程式,用於印刷樂譜。由於當時用於輸出的圖形繪圖機無法繪製曲線,MSS 並未使用現今所理解的音樂字型,而是使用基於多邊形、可由使用者編輯的符號庫,文字則由內部字元集生成。
第一份完全由電腦排版印刷的完整音樂作品是 Smith 的《鋼琴六首小品》,於 1971 年 12 月問世,在 CalComp 繪圖機上以 100dpi 解析度印刷,再縮小五倍以印製在 8.5"x11" 的紙張上。Smith 的《木管三重奏》於 1973 年使用此系統出版,Richard Swift 在《Notes》期刊的評論中,特別提到其「對演奏者和讀譜者而言,清晰易讀,品質絕佳,完全可與其他方式印製的當代音樂頂級範例媲美。此一新製程的優良品質,尤其是製作的簡易與廉價,值得商業音樂出版商的鄭重關注。」
第一本完全由電腦排版的音樂相關書籍是他在 1979 年出版的《和聲分析手冊》,該書是在 SAIL 的 PDP-10 電腦上,結合 MSS 與 PUB 排版程式(更多資訊請見外部連結)製作而成。印刷時先在 Varian Data Machines Statos 靜電繪圖機上以雙倍尺寸印出,再經光學縮小兩倍後進行平版印刷。
從創立到 1985 年,所有 MSS 的開發工作,要不是在史丹佛大學的 PDP-10 電腦上進行,就是在巴黎龐畢度中心的 IRCAM 駐村期間完成。
商業化發展
在 1985 年至 1986 年間,MSS 被移植到運行 MS-DOS 的 Tandy 2000 電腦上,並恢復其早期名稱 SCORE。由於當時個人電腦的記憶體有限(通常約 640KB),SCORE 每個檔案限制為 32 個譜表和 1420 個項目。為了處理複雜或冗長的作品,使用者一次只能處理樂譜的小部分,並依序為檔案命名。這些檔案在送至印表機前,會先經過排版並拼接在一起。為了在圖形操作上進一步節省記憶體,樂譜會以「火柴人」般的字元和符號顯示(見「以圖形/數字編輯音樂」第一張截圖),這種方式能精確顯示樂譜的邊界,但缺乏精細細節。若剩餘記憶體足夠,也有選項可以顯示真實的符號(見「以符號輸入音樂」中的 Pass 2 截圖)。
SCORE 第 1 版於 1987 年由 Passport Designs 發行,並於 1988 年 8 月更新至第 2 版。德國音樂出版商 Schott Music 於 1988 年開始使用 SCORE,其公司內部的製版字型成為了 SCORE 符號庫的基礎。第 2 版也引入了使用 PostScript Type 1 字型來處理頁面文字。
1988 年,Passport Designs 派遣程式設計師 Perry Devine 與 Smith 合作,使程式更易於使用。他們還聘請了專業製版師 William Holab(G. Schirmer, Inc. 的音樂編輯)重寫手冊,最終於 1990 年發布了 3.0 版。
SCORE 音樂出版系統由主程式 SCORE 及以下相關的工具程式組成:
- JUST:用於對齊和調整超過 32 個譜表的系統。
- PAGE:處理分譜提取,以及同時對多頁音樂進行排版。
- SPRINT:將排版好的頁面傳送至 PostScript 印表機或建立 EPS 檔案。
- DRAW:繪製符號以納入主(CODE 9)或使用者自訂(CODE 11)的符號庫中。
ESCORT 和 SCOREINPUT 分開銷售,分別允許從 MIDI 檔案和 MIDI 鍵盤進行 MIDI 輸入。SCOREINPUT 由 Smith 在史丹佛大學音樂系音樂理論與作曲教職的前同事 Paul Nahay 博士創建。
與 Passport Designs 的合作關係於 1991 年終止,所有後續版本均由 Smith 的公司 San Andreas Press 發行和銷售。
3.10 版於 1993 年發布,並用 SCORLAS 和 SCORDOT 取代了 SPRINT,分別用於將輸出傳送到雷射印表機和點陣印表機。
3.11 版於 1994 年 5 月發布,並用 MIDISCOR 和 MIDISCORWRITE 取代了 ESCORT 和 SCOREINPUT。MIDISCOR 和 MIDISCORWRITE 由 Ararat Software 的 Stephen Gibson 編寫。SCORE 3.11 是第 3 版的最終增量版本,至今仍在商業上使用,因為一些人認為它是已發布版本中最成熟和穩定的。
FinalScore 工具程式於 1996 年發布,可將 Finale 程式的 PostScript 輸出轉換為標準的 SCORE 檔案,但隨著 Finale 2004 改變了 EPS 檔案的創建方式,此工具程式也隨之過時。
4.0 版(稱為 SCOR4)於 1998 年 5 月發布,包含了自動魯特琴和吉他指法譜系統、MIDI 播放、項目群組編輯、條件式編輯器,以及與檔案存取相關的各種使用者介面改進和更多的滑鼠支援。許多變更的引入是為了讓新使用者更容易上手,但在此過程中,常使程式對現有的專業使用者來說變得更為繁瑣——這也是第 3 版至今仍備受推崇的原因之一。
最後一次小更新,4.01 版,於 2001 年 10 月 16 日發布,不過在 2002 年 5 月還發布了一個名為 SCORLAP 的特別版本,解決了某些筆記型電腦上出現的圖形重繪問題。
WinScore,即 Microsoft Windows 版本,於 2009 年 3 月以 5.00 版進入 Beta 測試。改進之處包括增加了頁面上的譜表數量上限、取消了每頁項目和向量的限制、所見即所得(WYSIWYG)介面、使用顏色、原生 MIDI 輸入和播放、將每個項目的參數擴展到 36 個,並將所有先前的 SCORE 工具程式(PAGE, JUST, DRAW, SCORLAS)整合到主程式中。WinScore 存在記憶體洩漏和其他錯誤,導致許多使用者未能採用,儘管於 2012 年 12 月 8 日正式發布,但在 2013 年 11 月 1 日最後一次更新至 5.01 版時,實際上仍處於 Beta 開發階段,此時距離 Smith 去世僅六週。
SCORE 的基礎是用 FORTRAN 編寫的,所有的滑鼠和圖形常式則是用 Intel 組合語言編寫。WinScore 是結合 Visual C++ 和 32 位元 DEC FORTRAN 創建的。
Smith 去世後
在 Smith 於 2013 年 12 月 17 日去世後,SCORE 和 WinScore 皆已停止銷售,網站註冊也已失效。2021 年初,Adobe Inc. 宣布對 Type 1 PostScript 字型的支援將於 2023 年 1 月結束。
定價
1987 年發布時,SCORE 第 1 版售價 795 美元,1988 年的第 2 版為 995 美元,1991 年的第 3 版為 995 美元,1999 年的第 4 版為 995 美元,而 2013 年的 WinScore 為 499 美元。
1990 年,從舊版升級到第 3 版的費用為 150 美元。
1999 年,從 3.11 版升級到 4.0 版的費用為 250 美元。
2013 年,從第 3 版升級到 WinScore 的費用為 249 美元,從第 4 版升級則為 149 美元。
產品評論
第 1 版於 1987 年初在媒體上宣布,預計同年 4 月發布,預測價格為 500 美元。其發布消息刊登在 1987 年冬季的《Computer Music Journal》期刊上。
1.1 版在 1988 年秋季的《Computer Music Journal》上受到評論。當時 DRAW 尚未提供,但已承諾會推出。後來一位評論者被技術支援告知,向使用者提供 DRAW 程式是事後才想到的。螢幕上的幫助說明被描述為「笨拙且無啟發性」,但該軟體「以其強大的能力回報那些努力克服學習曲線的人」。「對於常規的音樂印刷來說,它可能比某些競爭對手更昂貴、更複雜、更不方便,但 Score 比它們任何一個都更強大。」
為《Electronic Musician》撰文的 Carter Scholz 發現 2.0 版的介面「晦澀難懂且令人抓狂」,但他總結說 SCORE 是一款「驚人」的「強力工具」,為專業人士「樹立了新標準」,對他們而言,易用性不如可獲得的成果重要。數學輔助處理器被認為是必不可少的,以防止程式在處理螢幕操作的浮點運算時反應遲緩。
《Keyboard》雜誌的 Jim Aikin 同意,學習這套軟體需要投入大量時間。Scholz 花了三個月,並承認他只「觸及了其能力的皮毛」。Aikin 得出了類似的結論,建議對介面和輸入方法進行改進,使其更易於使用。
《PC Magazine》在 1988 年底評論 SCORE 時總結說,該軟體針對的是那些願意投入時間學習它的有成就的音樂家,並且程式和手冊的設計周到而清晰。三年後,同一本雜誌形容該程式「開創了真正的桌面音樂出版時代」,讓音樂家能夠製作出「任何複雜度的製版品質印刷音樂」,但仍承認它有一個「極其困難的介面」,一個「命令列和功能鍵的混亂組合」,「從未完全從其起源的大型主機過渡過來」。一旦輸入音樂後,編輯起來「既繁瑣又令人生畏」,而糟糕的文件說明使得該程式更難以接近。
1990 年 3 月,Garrett Bowles 在《Notes》期刊上評論 2.10 版時指出,在記譜複雜性、文字處理、分譜提取、頁面佈局以及譜表上項目間距方面,SCORE 超越了當時任何其他的記譜程式(The Copyist III, DynaDuet, MusicPrinter Plus, The Note Processor, Personal Composer System, 和 Theme, the Music Editor)。螢幕上的幫助說明現在「非常出色」,內容豐富的手冊也是如此(儘管一些操作的討論被認為「過於詳細」)。
Karl Signell 在 1991 年春季撰文指出,第 3 版擁有最「不優雅、反直覺的介面」,但他也提到它比其他程式(包括 Finale, Music Writer, NoteWriter 和 Professional Composer)更快,並且能製作出最專業的樂譜之一。
程式使用
以符號輸入音樂
音樂通常是使用標準 ASCII 鍵盤輸入文字代碼來輸入的(儘管 MIDI 鍵盤可用於純粹的音高輸入),並且需要經過數個「回合」(pass)才能輸入所有資訊。在頁面設定好適當的譜表後,資訊會逐一聲部輸入如下:
- 第一回合(Pass 1)定義音名(包括臨時記號和譜表位置,但不包括時值)、休止符(不包括時值)、譜號、小節線、調號、拍號
- 第二回合(Pass 2)定義音符和休止符的節奏值(時值)
- 第三回合(Pass 3)定義標記:演奏法、重音、力度等
- 第四回合(Pass 4)定義符槓的位置
- 第五回合(Pass 5)定義圓滑線和連結線的端點
例如,要創建巴哈《平均律鋼琴曲集》第一冊中 C 小調賦格曲(BWV 847)的這兩個小節:
要創建譜表:
資料輸入的五個回合:
這些顯示了以下文字代碼的使用——請注意「/」是分隔符,而「;」標記每個回合的結束:
Pass 1
Pass 2
在第二回合之後,每個音符上方會顯示數字,以協助指定標記、符槓和圓滑線。下圖也展示了使用「Show」命令顯示所有項目真實向量的結果,而非通常使用的「火柴人」符號。
Pass 3
Pass 4
Pass 5
以圖形/數字編輯音樂
音樂透過上述五階段輸入過程輸入後,SCORE 會將音樂資料轉換為以下的圖形項目,並以一系列數字參數的形式儲存:
與這些項目相關的參數範例:
以下是 BWV 847 賦格曲主題範例的數字表示。每一行代表一個圖形項目,包含一個 CODE 編號(項目類型)和相關的數字參數。第二個數字是該項目所屬的譜表,第三個是該項目在整張紙寬度上的水平位置,0 代表左邊界,200 代表右邊界。第四個數字通常包含在譜表上的垂直位置——譜表的底線是垂直位置 3,譜表的底間是 4,依此類推。
8 1 0 0 0 200 3 1 1.5 17 1 9.416 0 -3 18 1 19.016 0 4 4 2 1 26.516 0 1 0 0.5 1 1 34.835 8 20 0 0.25 9 1 34.835 -3 54 1 0 0 0 0 0 0 0 0 -5 6 1 34.835 8 7 41.43 22 5 1 34.835 10 10 41.43 1.1093 -1 1 1 41.435 7 23 0 0.25 1 1 47.233 8 10 0 0.5 -1 6 1 47.233 7 5.5 55.55 11 1 1 55.551 5 10 0 0.5 0.5 1 1 64.122 6 20 0 0.5 6 1 64.122 6 7 78.24 21 0 0 11 72.44 78.24 1 1 72.441 8 20 0 0.25 1.33 5 1 72.441 10 10 78.24 1.1092 -1 1 1 78.239 7 20 0 0.25 1 1 84.037 8 20 0 0.5 6 1 84.037 8 9 92.36 21 1 1 92.355 9 20 0 0.5 14 1 100.842 1 1 1 104.174 5 10 0 0.5 3 6 1 104.174 8 8 119.09 11 0 0 11 112.49 119.09 1 1 112.493 8 10 0 0.25 5 1 112.493 6 4 119.09 -1.3092 -1 1 1 119.093 7 13 0 0.25 1 1 1 125.143 8 20 0 0.5 6 1 125.143 8 9 133.46 21 1 1 133.462 9 20 0 0.5 1 1 141.781 4 10 0 0.25 6 1 141.781 4 5 147.58 12 5 1 141.781 2 4 153.38 -1.5185 -1 1 1 147.578 5 10 0 0.25 1 1 153.376 6 10 0 1 1 1 165.476 5 10 0 0.25 6 1 165.476 5 4 171.27 12 5 1 165.476 2 2 171.27 -1.1092 -1 1 1 171.274 4 10 0 0.25 14 1 178.274 1 1 1 181.606 3 10 1 2 0 0 0 14 14 1 200 1 1
與大多數音樂排版編輯器不同,SCORE 的使用者被期望要能理解和操作這些數字參數。要在 SCORE 中存取項目的數字參數,使用者需點擊一個圖形元素,編輯器頂部就會顯示該參數的列表——如第一張截圖所示,其中選取了一條圓滑線(注意在第三小節開頭,譜表上方的黑色垂直箭頭)。
SCORE 在將盡可能多的資訊壓縮到每個數字參數中方面非常有創意。例如,CODE 1 的參數 5 被描述為「符桿方向/臨時記號」,但它利用每個位值來編碼不同的資訊。請注意,在 SCORE 的預設中,一個和弦中只有最上面的音符有符桿,所有其他音符都是無符桿的。因此,一個向下的升符桿會有一個 P5 值為 22。一個向上的降符桿,向左偏移 2.5,則會是 11.25。一個無符桿的還原記號,向右偏移 3,則會是 3.93,如果它被括號括起來,則會是 103.93。
以下是從賦格曲範例的數字參數資料中選出的項目範例:
調號:
拍號:
力度標記('mp'):
* 見第一張圖中字元表的右下角條目
第一小節的休止符:
第一小節的第一個還原 B 音:
第一小節的第二條圓滑線:
第一條小節線:
最後一個音符(二分音符):
編輯文字
在第 1 版中,PostScript 文字字型並未用於印刷,僅使用程式內部的火柴人字元和內部版本的 Bodoni 字體,且文字只能透過在 CODE16 參數中單獨修改每個字元的 ASCII 碼來編輯。第 2 版允許使用 PostScript Type 1 字型,並提供了一種更方便的文字編輯方法,但不幸的是,SCORE 只能使用所選字型中的一部分字符。不同的字型是透過在文字開頭使用轉義序列來選擇的。轉義碼 _00 到 _34 選擇了 Adobe PostScript Level 2 字型集的 Base 35 字型,而代碼 _35 到 _89 可由使用者分配。一些在標準鍵盤上沒有的字元,是透過使用另一個轉義序列來獲得的,例如:
要以 Times Roman 的變體設定文字「Fête-Dieu à Séville by Isaac Albéniz」,需要以下序列:
_02F^^ete-Dieu >>a S<<eville _00by Isaac _01Alb<<eniz
其中
要使用 SCORE 中尚未轉義的字符,只能透過手動編輯字型檔案、重新編碼 SCORE 的字型範本(有一個第三方工具程式 AFM2PSC 用於協助此過程),或編輯最終的 EPS 檔案。
條件式編輯
從第 4 版開始,條件式編輯被納入主程式中。這允許使用者用類似 BASIC 的語言編寫條件陳述式。在此之前,這只能透過使用第三方工具程式來實現:Ararat Software 的 ScorEdit 和 Brodhead Music Typography 的 EDITSCOR。
例如,
`IF P3 > 100, P3 - 20` 將會把所有譜表上位置超過 100 (`P3 > 100`) 的所有項目向左移動 20 步 (`P3 - 20`)。
`IF C=1 P2<4, D | IF C=2 P2>=6, D` 將會刪除所有譜表 4 以下 (`P2<4`) 的音符 (`C=1`),以及所有譜表 6 或以上 (`P2>=6`) 的休止符 (`C=2`)。
`IF C=1 (P2>3 P9%10!=0) | (P2=1 P3>100), P7=1 P8=3` 如果音符 (`C=1`) 在譜表 3 以上 (`P2>3`) 且有符尾(P9 MOD 10 的結果不為 0),或者音符 (`C=1`) 在譜表 1 上 (`P2=1`) 且在位置 100 的右邊 (`P3>100`),那麼這些音符將被加上一個重音 (`P7=1`) 和一個 X 形的符頭 (`P8=3`)。
該功能的實現存在一些限制,例如不支援巢狀括號(除了用於 MOD()),無法編輯文字,無法交叉比較和同時編輯不同項目,以及無法從來源檔案中循序讀取巨集。希望使用這些方法的用戶必須使用前面提到的第三方工具程式。
WinScore 允許從來源檔案循序讀取巨集,但沒有增加任何新功能。
輸出
樂譜資料以一種專有但開放的格式儲存:
> 檔案以二進位格式儲存,其中第一個字是整個檔案的字數。字數通常是一個 16 位元的整數;然而,如果字數超過約 31000,則使用 32 位元的整數。儲存字數小於 31000 的檔案可以被舊版的 SCORE 讀回,但當然,WinScore 的任何新功能都將被忽略。字數大於 31000 的檔案無法被舊版的 SCORE 讀取。檔案以一個 6 字的結尾部分作結。最後一個字是 -9999。倒數第二個字是前面結尾部分的字數(目前是 5)。再往前一個字是測量代碼(0 = 英寸,1 = 公制)。再往前是程式版本號。再往前是程式序號(一個轉換後的整數)。結尾部分的第一個字目前未定義。在初始的整數字數之後,檔案的其餘部分完全由 4 位元組(32 位元)的浮點數字組成。每個項目由一個參數計數及其後給定的參數定義。
檔案通常給予 ".mus" 或 ".pag" 的副檔名,但任何副檔名都是允許的。(Finale 也使用 ".mus" 副檔名,但檔案格式不同)。
SCORE 創建 PostScript 圖形,可以發送到 PostScript 印表機或另存為封裝式 PostScript(EPS)檔案。為了製作出版物,EPS 圖形可以匯入到桌面出版程式中。
擴充功能與工具程式
有許多第三方工具程式利用其開放的檔案格式來擴展程式功能,並與其他記譜程式共享資料。以下是一些最著名的:
在現代系統上的使用
MS-DOS 版本的 SCORE 仍然可以透過使用虛擬機在現代作業系統上運行,但需要為其年代做出一些調整。最常用於 SCORE 的 MS-DOS 模擬器是 Windows 中的 DOSBox,或 macOS 中的 Boxer。
參考資料
外部連結
- NAMM 口述歷史圖書館的 Leland Smith 專訪
- 史丹佛大學與 CCRMA 的電腦音樂革命
- 使用 SCORE 進行樂譜頁面排版 at YouTube
- 展示如何搭配 SCORE 使用 LABELS 工具程式 at YouTube
- PUB (早期文件編譯器) 手冊及資訊
- 我如何為五百萬音樂家設計一款免費音樂字型 (MuseScore 3.6) at YouTube
- 查爾斯·艾伍士的故事,第 2 部分:第四號交響曲及其在艾伍士之後的生命 at YouTube
分類:製譜軟體 分類:Fortran 軟體