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