劉 斌,劉 佳
(1.河南林業(yè)職業(yè)學(xué)院,河南 洛陽(yáng) 471000;2.河南省果園管理特種機(jī)器人工程技術(shù)研究中心,河南 洛陽(yáng) 471000)
傳統(tǒng)的豎琴是一種具有豐富的內(nèi)涵和美麗音質(zhì)的撥弦樂(lè)器,而激光豎琴是采用激光模擬琴弦[1],通過(guò)對(duì)采集到的信號(hào)進(jìn)行處理,從而發(fā)出相應(yīng)的聲音,而且可以根據(jù)音樂(lè)選擇不同的音色進(jìn)行演奏。而激光豎琴中最主要的就是對(duì)信號(hào)的采集、處理,及音色的還原[2]。本文設(shè)計(jì)了激光琴弦信號(hào)的采集、處理電路,以及對(duì)相應(yīng)的音頻信號(hào)采用多維度小波變換[3-4]及重構(gòu)的方式進(jìn)行解碼及音色還原。
激光豎琴采用stm32f407 作為處理器。通過(guò)信號(hào)調(diào)理板把光敏電阻阻值調(diào)理為處理器可識(shí)別的高低電平,再利用處理器通過(guò)對(duì)信號(hào)調(diào)理板來(lái)進(jìn)行實(shí)時(shí)巡檢,判斷是哪個(gè)光敏電阻變化,然后通過(guò)處理器給語(yǔ)音芯片發(fā)送控制命令。CPU 核心板接收到信號(hào)后,對(duì)琴弦信號(hào)進(jìn)行解析,并根據(jù)解析后的數(shù)字信號(hào)通過(guò)工業(yè)總線向音頻處理系統(tǒng)發(fā)送控制命令。音頻處理系統(tǒng)接到控制命令后,利用由多維度小波包、深度學(xué)習(xí)等算法組成的音頻信號(hào)重構(gòu)技術(shù)模擬各種弦樂(lè)的音頻信號(hào),從而達(dá)到用激光作為虛擬琴弦來(lái)模仿樂(lè)器進(jìn)行樂(lè)曲演奏的目的。
硬件電路主要包括由光敏電阻陣列構(gòu)成的傳感器,由LM393 比較器、電位器等構(gòu)成的信號(hào)采集調(diào)理電路,由處理器和語(yǔ)音芯片構(gòu)成的信號(hào)處理、控制電路。本設(shè)計(jì)硬件總體框圖如圖1 所示。
圖1 硬件總體框圖
信號(hào)采集電路以4 個(gè)比較器、光敏電阻傳感器陣列及外圍電路組成,如圖2 所示。其中,比較器采用的是德州儀器生產(chǎn)的LM393 比較器,LM393 內(nèi)部有兩個(gè)比較器,消耗電流小,輸出為TTL 電平信號(hào),是一款雙電壓比較器。
圖2 信號(hào)采集調(diào)理電路
LM393 的同相輸入端接上光敏電阻,當(dāng)阻斷激光頭與光敏電阻之間的光線時(shí),會(huì)減小光敏電阻的阻值。同相輸入端電壓與參考電壓通過(guò)LM393 進(jìn)行比較,將比較結(jié)果以輸出不同的電平信號(hào)的方式傳輸給stm32f407 的I/O 口。激光是否可以直接照射到光敏電阻,決定了比較器的輸出口輸出的電平狀態(tài)。8 路光敏電阻對(duì)應(yīng)的8 個(gè)輸出口接在了處理器上的PA 口,通過(guò)讀取PA 口的狀態(tài)值來(lái)確定彈奏的是哪根激光琴弦,從而發(fā)出相應(yīng)的聲音。
1.2.1 音頻模塊電路設(shè)計(jì)本模塊主要由音頻處理芯片WT588D-U 與外掛SPI Flash 兩路電路構(gòu)成,WT588D-U 需要外掛SPI總線的Flash 模塊來(lái)存儲(chǔ)音色樣本庫(kù)。為了使激光豎琴能夠彈奏出多種樂(lè)器的音色,可事先建立不同的音色庫(kù),這樣激光豎琴就可以通過(guò)按鍵來(lái)控制發(fā)出多種樂(lè)器的音色,比如鋼琴,小提琴、豎琴等,從而使功能更豐富。
音頻模塊電路圖如圖3 所示。圖中U6 為32M 的外掛SPI Flash GD25Q32SIP,用于深度學(xué)習(xí)算法樣本庫(kù)的建立,U7 為音頻芯片WT588D,用于各種樂(lè)器音頻信號(hào)的重構(gòu)[5]。
圖3 音頻模塊電路
主程序流程圖如圖4 所示。
圖4 主程序流程圖
將一個(gè)多頻率組成的波通過(guò)多維度小波分解[6],將所有頻率分解出來(lái),再通過(guò)逆運(yùn)算將這些分頻率加權(quán)重構(gòu),得到最終還原音色的結(jié)果。在離散小波變換(DWT)[7]中,音頻信息我們用空間VJ=VJ-1+WJ-1來(lái)表示,而兩個(gè)空間中的基函數(shù)可以表示出每一個(gè)在VJ上表示的音頻信號(hào)X(t)。
我們?cè)诔叨榷攘靠臻gJ 中分解系數(shù)A0(k)時(shí),在尺度度量空間中可以得到兩個(gè)系數(shù)D1(k)和A1(k),并且我們還可以通過(guò)重構(gòu)兩個(gè)系數(shù)A1(k)和D1(k)來(lái)得到系數(shù)A0(k)。
具體的系數(shù)計(jì)算過(guò)程如下:
制作好的激光豎琴樣機(jī)如圖5 所示,通過(guò)實(shí)驗(yàn)分析,驗(yàn)證系統(tǒng)的有效性。對(duì)硬件和軟件的調(diào)試實(shí)驗(yàn)在MATLAB 平臺(tái)上進(jìn)行。操作系統(tǒng)選用微軟公司的Windows 10 系統(tǒng),系統(tǒng)環(huán)境的運(yùn)行內(nèi)存為8 GB。
圖5 激光豎琴成品圖
本實(shí)驗(yàn)結(jié)果就是在該激光豎琴中實(shí)現(xiàn)的。
圖6 至圖8 是音頻重構(gòu)系統(tǒng)對(duì)豎琴不同頻段的信號(hào)的重構(gòu)結(jié)果[8]。
圖6 音頻重構(gòu)系統(tǒng)對(duì)豎琴信號(hào)(頻段95 Hz~4.3 kHz)重構(gòu)結(jié)果
圖7 音頻重構(gòu)系統(tǒng)對(duì)鋼琴信號(hào)(頻段120 Hz~8 kHz)重構(gòu)結(jié)果
圖8 音頻重構(gòu)系統(tǒng)對(duì)吉他信號(hào)(頻段65 Hz~ 1.7 kHz)重構(gòu)結(jié)果
試驗(yàn)分別對(duì)三種頻段的音色信息進(jìn)行信號(hào)重構(gòu),隨著小波包迭代次數(shù)的改變,系統(tǒng)對(duì)三種音頻處理的誤差呈現(xiàn)下降趨勢(shì)。其中,對(duì)于鋼琴音色處理誤差最低,最低可達(dá)約0.1%,而其他兩種音頻的誤差最低分別約為1.3%和1.8%,相比之下所提系統(tǒng)的處理誤差分別下降了約1.2%和1.7%。這是由于所提系統(tǒng)設(shè)計(jì)的芯片內(nèi)部電路有齊納調(diào)節(jié)的參考電壓,能夠確保輸出恒定為3.3 V 電壓,輸出精度誤差百分之一以內(nèi),進(jìn)而提高了所提系統(tǒng)處理的精度。實(shí)驗(yàn)結(jié)果表明,多維度小波變換對(duì)各種音色的低、中、高頻段具有很好的還原特性,誤差的均方值在0.97 以下,特別是在中、高頻段誤差的均方值可以達(dá)到0.99。
本文中的激光豎采用stm32f407 處理器為核心,通過(guò)大功率激光頭、光敏電阻陣列、LM393 組成的信號(hào)處理模塊所組成的信號(hào)采集系統(tǒng)進(jìn)行信號(hào)采集。其中應(yīng)用了信號(hào)采集、信號(hào)處理、數(shù)據(jù)存儲(chǔ)及傳輸、SPI通信、音頻解碼和音頻輸出等多項(xiàng)技術(shù)。通過(guò)對(duì)信號(hào)端進(jìn)行巡檢,來(lái)實(shí)時(shí)的判斷信號(hào)端的狀態(tài),當(dāng)有信號(hào)端被觸發(fā)時(shí),處理器采用多維度小變換和音頻信號(hào)重構(gòu)的方法對(duì)音頻信號(hào)進(jìn)行解析,利用信號(hào)重構(gòu)技術(shù)還原真實(shí)音色。