張昕怡
(武漢音樂學院 音樂學系,湖北 武漢 430060)
古老樂器如何與現代科技相結合,是當前音樂學理論研究的重要課題。曾侯乙編鐘出土以后,研究編鐘科技的學者和機構越來越多。作為最為知名的青銅樂器,曾侯乙編鐘高達數噸的體量及其卓越的音樂性能,體現了古代中國高超的青銅鑄造水平及嫻熟的加工技藝,為聲學、音律學、冶金技術和精密鑄造技藝等學科的研究提供了方向[1]。曾侯乙編鐘出土至今,一共奏響過3次,編鐘的3次原鐘演奏讓全世界聆聽到中國古代樂器的音律之美,在眾多曾侯乙編鐘的科學研究中,如何仿造曾侯乙編鐘,實現曾侯乙編鐘的現場演奏成為學者們關注的熱點。為解決曾侯乙編鐘仿制與演奏的問題,本文提出借助電子智能控制技術,選擇STC89C51單片機嵌入式控制方法和Python編程軟件,完成電子編鐘演奏系統的設計與開發。
當前,為了實現曾侯乙編鐘的現場演奏,眾多文物學家、音樂學家、精密鑄造科研人員都投入同比例復制編鐘的研究之中,但要復制一套能夠演奏的編鐘,就要從材質到制作方式,都要嚴格按照原來的編鐘去做,這不僅涉及精密鑄造技術,也涉及更為復雜的編鐘定音技術,曾侯乙編鐘一鐘雙音的鑄造技法對現代人而言依然難以輕易實現[2]。另外,按照曾侯乙編鐘的演奏規范,編鐘音樂曲目需要10~18位專業演奏人員協同作業,才能完成一套完整編鐘樂器的完美演奏,這些限制直接導致了編鐘演奏無法普及到非專業演出團體。如何讓更多的音樂人能夠輕松演奏編鐘樂器,成為學界關切的焦點。
為了解決編鐘演奏的難題,2017年2月,武漢音樂學院、湖北省博物館與煙臺豪特樂器有限公司聯手,以仿制曾侯乙編鐘為文化元素,設計制作了智能新編鐘。智能新編鐘的設計,解決了曾侯乙編鐘需要多人協同演奏的問題,但是,由于智能編鐘制作工藝和成本限制,鐘體的鑄造與調律依然制約編鐘音樂的傳播,智能新編鐘依然無法滿足音樂人隨時隨地演奏、民眾隨心所欲聆聽編鐘音樂的需求。
曾侯乙編鐘作為敲打型樂器,其仿制的難點是編鐘鑄造和定音極為復雜,難以批量生產。為了解決編鐘鑄造和定音的難題,本文提出借助電子智能控制技術,讓規模龐大的編鐘轉變成為電子編鐘,進而借助鍵盤進行編鐘演奏的設計理念。這樣設計的電子編鐘不僅可以輕松完成編鐘曲譜的演奏,而且可以大批量生產與推廣,實現編鐘音樂的傳播與普及。該設計理念主要包括3項核心內容:
(1)曾侯乙編鐘音律的原音采集,這為電子編鐘音樂演奏的發聲提供基本的音源支持。
(2)電子編鐘演奏鍵盤的設計,這一設計要參考編鐘音源的特征,結合演奏人員的演奏習慣進行設計。
(3)電子編鐘演奏控制元件的設計,為實現電子編鐘的演奏控制提供技術支撐。
為了保證電子編鐘音律的原生態,電子編鐘的設計需要保持編鐘音色的純正性、音律的準確性和音域的全面性,同時也要具備樂器演奏的便捷性、制造的批量性等特征。
電子編鐘是利用電子電路產生各種音階的半音來推動揚聲器演奏樂曲的電子樂器。電子編鐘由琴鍵,優先編碼器,程控半音音階發生器,最高、高、中、低音階組別選擇器,低通濾波器,音量控制器,功率放大器和揚聲器組成。琴鍵把樂曲音階的半音送進編碼器進行編碼,以區別12個不同的半音。編碼器輸出到譯碼器譯碼,譯碼器可分別輸出12個控制信號。這些控制信號對半音音階發生器進行程控,最后音頻信號通過功率放大器放大,推動揚聲器產生樂曲,樂曲音符借助編鐘原音采集獲取。
電子編鐘的設計參考現行電子琴或電鋼琴的發聲原理,按照技術流程,電子編鐘設計主要包括以下關鍵步驟:
3.2.1 編鐘音源采集
為了保證電子編鐘音色的純正性,首先需要完成曾侯乙編鐘音律的采集,對64件編鐘(曾侯乙編鐘共有65座單體鐘組成,其中64件具有音律屬性,大镈鐘沒有音律屬性)的每一件鐘體的正音和側音進行逐一采集編號,按照音律的高低和屬性分布存儲。編鐘64座鐘體音律的高質量采集是該設計的基礎,只有保證音源的純正,才能保證后續電子編鐘發音合成的質量。
3.2.2 演奏鍵盤設計
根據編鐘的音域設計演奏鍵盤,每個按鍵對應一個音符,并按照音高序列排列,構成電子編鐘的演奏鍵盤。電子編鐘的演奏鍵盤實際是一些開關,按下鍵盤的一只鍵就等于接通一只開關,揚聲器就發出與該鍵對應的鐘聲。這樣,按照一定的演奏技法和編鐘曲譜,就可彈奏出優美的編鐘之曲。
3.2.3 電子編鐘的發聲和控制元件設計
在編鐘控制電子元件的設計中,可以使用PCM采集音源,將其數字化后存入ROM或FLASH,然后按下演奏鍵盤,CPU或DSP芯片接到指令后會發出ROM或FLASH里預先存儲的鐘聲,這與現場敲擊編鐘樂器的音色完全一致。
另外,在電子編鐘設計的過程中,鍵盤的演奏力度感應控制與處理也是影響電子編鐘設計品質的關鍵。
根據編鐘演奏的市場需求,電子編鐘產品設計包括2種類型:
針對專業音樂演奏人員和音樂愛好者對傳統樂器的需求,設計音域覆蓋全面、音色準確、做工精良的專業演奏級電子編鐘。該類產品需要滿足音樂演奏人員和音樂愛好者專業演奏的市場需求,在設計和制造過程中,需要建立全面的技術工藝標準。無論產品外形設計、生產工藝控制,還是電子元件的加工與調試,音色、音準、音域的檢驗都需要由專業人員按照要求嚴格控制[3]。專業演奏級電子編鐘產品研發的技術難點是曾侯乙編鐘中64座鐘體的音源采集,由于編鐘敲擊位置、角度、敲擊方式和力度的不同,所采集到的音源都會有一定的差異,所以必須由專業的人員完成曾侯乙編鐘音源的采集和錄音處理工作[4]。
針對當前手機、平板等電子設備普及的情況,按照電子編鐘設計的方法,借助網絡編程設計電子編鐘網絡版演奏系統軟件。軟件分為PC端和移動端2種類型,網絡用戶下載安裝后,可以借助平板、手機或者電腦觸摸屏,完成電子編鐘的演奏。網絡版電子編鐘演奏軟件系統開發的技術難點主要集中在軟件編碼和軟件系統的集成,為了保證電子編鐘演奏軟件系統的兼容性,在開發軟件的選擇上,選擇功能強大、集成性高的主流開發工具Python作為系統開發軟件。電子編鐘演奏軟件開發包括編鐘音源數據庫開發、編鐘演奏控制的內核開發和軟件外觀界面的開發3部分,其中軟件外觀界面開發主要完成電子編鐘演奏琴鍵的樣式設計和彈奏控制的設計工作;數據庫開發主要解決音頻的存儲與調用問題;內核開發主要是完成琴鍵演奏輸入后樂譜音律的生成工作,解決編鐘音源的集成、音高的協同控制、音響的調節和雜音的過濾等問題。
在專業演奏級電子編鐘產品的設計中,可以選擇STC89C51單片機完成。STC89C51是一種低功耗、高性能CMOS 8位微控制器。在電子編鐘的設計中,STC89C51為電子編鐘的嵌入式控制應用系統提供較為高效的解決方案[5]。
在網絡版電子編鐘演奏系統的設計中,為了完成網絡版電子編鐘的界面和音頻控制,可以選擇Python創建界面與按鈕,并給每個按鈕綁定播放音階的函數,在此借助playsound庫來實現相關功能。
fromplaysoundimportplaysound
playsound('bianzhong.wav')
上面代碼完成了編鐘音符的播放,但無法指定播放時長等功能,如果一個音階時長8 s,必須要等上一個播放完畢才能播放下一個,這樣輸出的聲音就不能連貫。為此,需要借助pygame實現音頻播放的控制處理,配合time庫可以音符播放時長,例如每個音階只播放 1 s。編碼如下:
frompygameimportmixer
pygame.mixer.music.play()
time.sleep(10)
pygame.mixer.music.stop()
按照以上控制流程,在兩個音階之間切換時會有一個爆音,于是可以使用fadeout(time)進行淡出,在指定時間內音量由初始值漸變為0,最后停止播放。當然也是使用mixer.Sound方法來播放編鐘音符,且可以同時按下多個按鍵形成和聲效果,編碼如下:
frompygameimportmixer
mixer.Sound("mp3/bianzhong.wav").play()
另外,為了在電子編鐘演奏過程中,能對演奏者按鍵的力度和時間進行自動化控制,需要系統實時監聽系統鍵盤按下(press)與釋放(release)的速度和延續的時長,借此智能化控制演奏的音節與音高。至此,網絡版電子編鐘控制編碼的關鍵性問題可以得到解決。
Python作為面向對象編程語言,被廣泛應用于人工智能等領域,在電子編鐘的設計中,使用MIDI庫開發電子編鐘具有較強的適用性,是一個非常高效的音樂類軟件編程工具。在電子編鐘硬件設計上,選擇STC89C51單片機完成電子編鐘的嵌入式控制設計,可以實現編鐘電子演奏的智能化控制,具有良好的實驗效果和較強的可行性。本文運用音樂學原理、電子技術、智能技術等多個交叉學科知識,完成曾侯乙編鐘的電子化設計,為我國編鐘音樂的鍵盤化演奏設計提供了一條新的路徑,具有一定的科學價值和實踐參考意義。