胡麗敏 桂浩
摘要:鋼琴教育近年來在我國越來越受到重視,如何能夠更有針對性的進(jìn)行教學(xué),提高學(xué)生日常練習(xí)的效率成為鋼琴普及性教育中亟待解決的問題。本文通過利用人工神經(jīng)網(wǎng)絡(luò)對習(xí)琴者所彈曲目與原曲目進(jìn)行比對,并對習(xí)琴者的演奏指法進(jìn)行識別,指出練習(xí)過程中出現(xiàn)的問題。通過人工智能技術(shù)加以分析處理并給出針對鋼琴練習(xí)的指導(dǎo)性意見,從而使習(xí)琴者能夠更有針對性的解決練琴過程中的問題,提高練習(xí)效率。
關(guān)鍵詞:鋼琴普及性教育? 人工智能? 自動音樂轉(zhuǎn)錄? 基于視頻流的指法識別
中圖分類號:J624.1?文獻(xiàn)標(biāo)識碼:A?文章編號:1008-3359(2021)07-0101-03
雨果曾經(jīng)說過,“人類的智慧掌握著三把鑰匙,一把開啟數(shù)字,一把開啟字母,一把開啟音符。知識,思想,幻想就在其中”。這句話充分展示了音樂之于人生的重要性,音樂不僅可以幫助孩子們提升鑒賞美的能力,還能幫助培養(yǎng)健全的人格,對于個人氣質(zhì)的提升更是十分明顯。
隨著物質(zhì)生活的發(fā)展,越來越多的人開始重視早期的音樂教育,但學(xué)習(xí)過程中經(jīng)常會出現(xiàn)各式各樣的問題,以鋼琴普及性教育為例,習(xí)琴者通常每周在老師那里進(jìn)行一次回課指導(dǎo),更多的時間則是自己單獨進(jìn)行練習(xí)。但很多習(xí)琴者在練習(xí)過程中都會出現(xiàn)各種常見錯誤,自己卻毫無所知,看錯譜、彈錯鍵、指法錯誤更是常見。如果這時能有指導(dǎo)者在旁進(jìn)行糾正,那么練習(xí)效果將會得到極大的提升。然而鋼琴師資相對稀缺,據(jù)統(tǒng)計數(shù)據(jù)顯示,不到十分之一的習(xí)琴者能夠得到即時的練習(xí)指導(dǎo)。
近年來,人工智能技術(shù)進(jìn)展迅速,在多個領(lǐng)域都展現(xiàn)了極高的發(fā)展?jié)摿ΑT谄孱惱锵鄬?fù)雜的圍棋領(lǐng)域,谷歌開發(fā)的 AlphaGo 成功擊敗了世界冠軍李世石;在語音識別領(lǐng)域,市場上也已存在著較為成熟的軟件,如蘋果的 Siri、小米的小愛同學(xué)。音樂也不例外,目前人工智能不僅可以根據(jù)給定的旋律生成伴奏,甚至能夠獨立生成完整的曲目,所以人工智能練習(xí)指導(dǎo)在如今的技術(shù)條件下是可行的,完全可以進(jìn)行更加深入的研究。
一、研究背景
(一)計算機處理音樂的方式
聲音信號處理是用計算機進(jìn)行音樂轉(zhuǎn)錄的首要問題,換言之,如果想讓人工智能成為鋼琴練習(xí)指導(dǎo),首先需要讓計算機聽懂音樂。目前常用的數(shù)字信號處理方法有離散傅里葉變換、梅爾頻譜以及常數(shù)Q變換這三種,根據(jù)文獻(xiàn)顯示,其中常數(shù)Q變換(Constant Q Transform,CQT)就是對音樂信號在十二平均律的頻點上進(jìn)行分解,是目前音樂信號處理的主要方法,非常適合音樂信號的轉(zhuǎn)換。
在鋼琴教學(xué)的現(xiàn)實活動中,計算機獲取的樂音總是十分復(fù)雜的,包含基音和大量的泛音,甚至還有噪音,這就導(dǎo)致分離出基音變得十分困難,但是依然可以通過樂音中頻率成分的變化來尋找基音。十二平均律就體現(xiàn)了這種頻率成分的分布,通過常數(shù)Q變換能獲取一個樂音中所有單音的頻率以及每個頻率的平均振幅。
(二)鋼琴的聲學(xué)特點
鋼琴是鍵盤樂器,通過敲擊琴鍵來拉動琴槌以敲打琴弦發(fā)出聲音,也可以歸結(jié)為弦樂器的一種。從聲學(xué)原理來講,樂器發(fā)音一般是由三個過程組成的——始振、穩(wěn)定、衰減。鋼琴發(fā)音音態(tài)的聲學(xué)特征包括:始振過程的振幅峰值大,起振音頭圓,瞬態(tài)時值短;沒有穩(wěn)定過程直接進(jìn)入衰減過程;不同頻率的高低音區(qū)及其衰減過程的時值長短成反比,這就決定了鋼琴發(fā)出的每一個單音都會十分清晰,其頻譜的諧波也會相對較少,適用于人工神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)。
(三)鋼琴教學(xué)的現(xiàn)狀
目前鋼琴教學(xué)仍然非常依賴線下一對一的教學(xué),需要教師手把手進(jìn)行指導(dǎo),人工智能或許便是個完美的替代方案,價格低廉,能夠即時進(jìn)行指導(dǎo)。
當(dāng)今市場上也存在著一些鋼琴練習(xí)指導(dǎo)軟件,例如各類陪練App,它們依然是以教師一對一的練習(xí)指導(dǎo)為主,同時提供線上教學(xué)管理。
二、研究內(nèi)容
首先將采集到聲音信號通過CRNN轉(zhuǎn)錄生成MIDI文件,然后將獲取的練琴時手部拍攝的視頻通過C3D模型提取出特征,最后通過多模態(tài)的決策級融合進(jìn)行綜合分析,得到習(xí)琴者練琴時出現(xiàn)的問題,后文主要分析這些問題。
(一)練琴的常見問題及相應(yīng)處理
初學(xué)者在鋼琴演奏中可能遇到的問題包括由于手型問題和一些錯誤的演奏習(xí)慣導(dǎo)致的一些演奏效果不佳的情況。很多初學(xué)者在演奏時無名指和小指無法獨立演奏,兩指的行動互相牽制,導(dǎo)致彈琴的聲音不夠均勻流暢,旋律音的輕重也會不同,甚至在演奏分解和弦時會出現(xiàn)由于無名指和小指把位不準(zhǔn)確而造成的錯音。
可以從兩方面著手處理,一是通過手型識別的神經(jīng)網(wǎng)絡(luò),針對習(xí)琴者的演奏,發(fā)現(xiàn)不正確的手型指法及時反饋報告。二是通過將習(xí)琴者的演奏與標(biāo)準(zhǔn)原曲進(jìn)行對比,從差異中分析其中可能存在的問題。
(二)鋼琴練習(xí)中音頻的分析處理
主體流程是識別練習(xí)者演奏并將其與標(biāo)準(zhǔn)原曲進(jìn)行對比,然后從差異中分析其中可能存在的問題。其中需要將練習(xí)者的演奏轉(zhuǎn)錄為易于計算機分析的格式,這里用到的是MIDI格式,它用音符的數(shù)字控制信號記錄音樂,詳細(xì)記錄了樂曲中各個音的音高、時值、響度、通道和樂器等信息,MIDI以其獨特的編碼方式,將與聲音播放相關(guān)的重要信息編碼到mid文件中。MIDI文件的本質(zhì)是一組演奏指令,指令文件被解碼后可以操作MIDI設(shè)備樂器、或是播放音色庫中事先錄制好的各種樂器,這些標(biāo)準(zhǔn)化的指令和高效的編碼形式,將極大程度上方便計算機的處理,目前我們已經(jīng)能做到通過神經(jīng)網(wǎng)絡(luò)將演奏轉(zhuǎn)錄成MIDI形式,還需訓(xùn)練新的神經(jīng)網(wǎng)絡(luò)模型通過對比原曲來分析并指出問題。
一段樂曲是由多個音符銜接而成的,為了將鋼琴演奏音頻轉(zhuǎn)換為MIDI格式,需要神經(jīng)網(wǎng)絡(luò)對樂曲進(jìn)行音符級別的轉(zhuǎn)錄。為了簡化識別任務(wù)的復(fù)雜性并提升轉(zhuǎn)錄識別性能,通過直接識別整個音符來實現(xiàn)轉(zhuǎn)錄,而不是逐幀識別然后將幀進(jìn)行拼接,為此需要識別音符的兩個重要屬性:音高和時值。
文獻(xiàn)提出了基于CNN的音符級自動轉(zhuǎn)錄方法,為了進(jìn)行特征提取,將輸入的聲音信號進(jìn)行預(yù)處理,提取時頻域特征,利用常數(shù)Q變換將頻譜映射到以log2為底的線性空間,得到多音級的頻譜窗口。
第一階段:為了得到每個音符的時值,分別識別音符的起點和止點,這兩者均由一個獨立的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行。
第二階段:為了識別音高,模型采用一個額外的多音級識別網(wǎng)絡(luò),識別起止點附近的音級。
第三階段:將所有音符起點和止點上的音級進(jìn)行配對,得到一個完整的音符音高和時長信息。
由于生成音符序列要經(jīng)過起止點的音符對齊過程,起止點處的音級識別誤差會對對齊工作產(chǎn)生較大的阻礙,因而該方案對音級識別的精度要求很高。
在此基礎(chǔ)上,本文提出了另外一種方案——基于CRNN的音符級自動轉(zhuǎn)錄。該方法將CNN和RNN進(jìn)行了結(jié)合,并添加了一層自注意力層,形成CRNN網(wǎng)絡(luò),用于捕捉音頻結(jié)構(gòu)中的音級特征和時間特征,主要改善之前遇到的起止點對齊的問題。首先將輸入的聲音信號轉(zhuǎn)化為頻譜圖,為了識別頻譜切片內(nèi)部的時間結(jié)構(gòu)和音級結(jié)構(gòu),并且保持完整的連貫性,消除無上下文的音頻片段,并控制切片時間為2s、4s和8s的長度來進(jìn)行模型的訓(xùn)練。其中,無上下文的音頻片段是指在音頻切片中有來自上一個切片的音頻數(shù)據(jù),或者未完全結(jié)束的音頻。
模型用CNN提取出頻譜特征,然后進(jìn)行特征切片,使用后續(xù)的序列識別層獲取分析。由于RNN中通常使用的LSTM只能依據(jù)之前時刻的時序信息預(yù)測下一時刻的輸出,而當(dāng)前時刻的輸出不僅與之前的狀態(tài)有關(guān),還可能和未來的狀態(tài)有關(guān)系。比如音符起點的預(yù)測,不僅依賴于之前的狀態(tài)和當(dāng)前輸入的特征切片,還可能與之后出現(xiàn)的止點狀態(tài)有關(guān),同理,預(yù)測音符止點時也是如此。因此這里采用雙向LSTM即BiLSTM,通過前后向的LSTM結(jié)合,起到前后文關(guān)系的預(yù)測作用。
序列識別層最終會將特征提取后的頻譜進(jìn)行縱向切片,經(jīng)過雙向LSTM處理后,得到序列化向量輸出到自注意力層,這些向量包含音頻的全部音符信息。自注意力層則是用來訓(xùn)練學(xué)習(xí)頻譜的音符起止點的內(nèi)部關(guān)聯(lián)性,來加強模型對起止點序列的識別性能。最后對識別處的音符起止點進(jìn)行對齊,這里由于加強了音頻序列化的上下文關(guān)聯(lián)性,解決了之前因起止點處音級識別誤差產(chǎn)生的無法對齊的難題,最后對齊率相對CNN的41%提升到了81%。
(三)鋼琴練習(xí)中指法的識別分析
手型指法的識別由CNN 模型承擔(dān),采取常見演奏中的錯誤手勢作為數(shù)據(jù)集進(jìn)行模型訓(xùn)練,并設(shè)法采集到練習(xí)者演奏時的手勢圖片。本方案獲取習(xí)琴者在練習(xí)整首曲目中手型指法,這是一個動態(tài)過程。不同于目前常見的基于圖片形式的手型識別,需要從視頻中識別對應(yīng)的手型,可使用基于三維卷積神經(jīng)網(wǎng)絡(luò)(3D CNN)的大規(guī)模視頻手型識別算法。
第一步,通過4K高清攝像機從上方以及側(cè)面對演奏過程進(jìn)行拍攝來獲取視頻數(shù)據(jù),做好標(biāo)注處理后經(jīng)3D CNN模型處理,該算法模型由N Kato等人在文獻(xiàn)中提出,解決了基于視頻的手型識別需要處理時域和空域的特征這一問題。首先要對訓(xùn)練數(shù)據(jù)進(jìn)行預(yù)處理,將分辨率和幀數(shù)統(tǒng)一,同時還需要提取視頻的光流特征,獲得同幀數(shù)的光流視頻,一方面用于提取動作的路徑信息,另一方面也去除了背景、表演者膚色等信息。
第二步,神經(jīng)網(wǎng)絡(luò)需要從數(shù)據(jù)集(處理后的演奏視頻)提取對應(yīng)的時序特征用于手型和指法的識別,這里實驗通過三維的卷積神經(jīng)網(wǎng)絡(luò)——C3D模型來實現(xiàn)視頻手型特征的自動提取。與二維神經(jīng)網(wǎng)絡(luò)相比,C3D模型更關(guān)注視頻幀序列的圖像集合,將時域和空域的信息結(jié)合。
第三步,由于光流視頻和原視頻中的特征信息不盡相同,二者各有偏重,為了提高特征的準(zhǔn)確率,將原視頻和光流視頻通過神經(jīng)網(wǎng)絡(luò)分別得到的時序特征進(jìn)行綜合分析,加強特征識別的效果,最終提升指法和手型識別的準(zhǔn)確率。在此基礎(chǔ)上,同音頻分析的結(jié)果類似,最終得到的是一個結(jié)果矩陣M×N的矩陣V(m,n),其中M表示幀數(shù),N表示演奏問題的類別數(shù)。V(m,n)代表視頻第m幀中手型指法存在第n類錯誤的概率。
將手型識別的結(jié)果數(shù)據(jù)運用多模態(tài)增量聚類融合算法,與處理好的音頻數(shù)據(jù)一并作為輸入進(jìn)行分析。通過同時參考音頻和視頻的數(shù)據(jù),能夠較為準(zhǔn)確的對演奏中的問題進(jìn)行判斷。
(四)鋼琴訓(xùn)練視頻和音頻的多模態(tài)決策級融合
在完成了前文的處理分析后,可以分別得到來自鋼琴訓(xùn)練視頻和音頻的特征信息,從二者中各自得到一些結(jié)論。但是考慮到視頻和音頻的信息側(cè)重不一,因為它們包含了兩個模態(tài)的信息,單獨參考其中之一可能會遺漏部分特征信息,例如視頻中可能更多的是反映演奏者的動作是否規(guī)范,而音頻部分可能更強調(diào)節(jié)奏和旋律的準(zhǔn)確性。為了使模型的分析更加全面,本文參考了Reuderink B等人于文獻(xiàn)中提出的方案,對二者的數(shù)據(jù)分析結(jié)果進(jìn)行多模態(tài)的決策級融合,獲取一個綜合分析的結(jié)果。
決策級融合策略是一種高層次的融合方法,具有通信量小、抗干擾能力強、容錯率高等優(yōu)點。通過前文中神經(jīng)網(wǎng)絡(luò)識別分類獲得每種特征關(guān)于手型指法錯誤類別的后驗概率,然后按照一定的策略將其融合,最后將融合結(jié)果中的最大值對應(yīng)的類別作為最終分析結(jié)果。
三、結(jié)語
本文在人工智能領(lǐng)域做了一個全新的嘗試,不僅僅是使用大數(shù)據(jù)等技術(shù)進(jìn)行教學(xué)輔助,而是希望通過人工智能領(lǐng)域的先端技術(shù)神經(jīng)網(wǎng)絡(luò)解決鋼琴練習(xí)中的一些難題,借此幫助鋼琴學(xué)生及時發(fā)現(xiàn)并糾正演奏中存在的指法和節(jié)奏把控等問題。這里從兩條思路出發(fā),由于視頻信息和音頻信息各有偏重,所以同時采集獲取演奏者的視頻和音頻數(shù)據(jù),分別訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型對演奏視頻和音頻進(jìn)行處理,最后對分析結(jié)果進(jìn)行多模態(tài)決策級融合。通過人工智能技術(shù)加以分析處理并給出針對鋼琴練習(xí)的指導(dǎo)性意見,從而使習(xí)琴者能夠更有針對性的解決練琴過程中的問題,提高練習(xí)效率。
參考文獻(xiàn):
[1]丁志中,戴禮榮.音樂信號分析中常數(shù)Q變換的性能研究[J].聲學(xué)技術(shù),2005(04):259-263.
[2]楊瑾.鋼琴發(fā)音原理與演奏音色控制[J].交響.西安音樂學(xué)院學(xué)報,2005(01):73-75.
[3]Shi B,Bai X,Yao C.An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition[J].IEEE transactions on pattern analysis and machine intelligence,2017(11):2298-2304.
[4]Ayyadevara V.K.(2018) Convolutional Neural Network. In: Pro Machine Learning Algorithms. Apress, Berkeley, CA.
[5]Kato N., Hakozaki K., Tanabiki M., Furuyama J., Sato Y., Aoki Y.(2018) Video-Based Person Re-identification by 3D Convolutional Neural Networks and Improved Parameter Learning. In: Campilho A., Karray F., ter Haar Romeny B. (eds) Image Analysis and Recognition. ICIAR 2018. Lecture Notes in Computer Science, vol 10882. Springer, Cham.
[6]Reuderink B., Poel M., Truong K., Poppe R., Pantic M.(2008) Decision-Level Fusion for Audio-Visual Laughter Detection. In: Popescu-Belis A.,Stiefelhagen R.(eds) Machine Learning for Multimodal Interaction. MLMI 2008. Lecture Notes in Computer Science, vol 5237. Springer, Berlin, Heidelberg.