劉志雄 廖宇 王博 胡湘君 王凌峰
摘 要:針對(duì)鋼琴初學(xué)者往往會(huì)因彈琴姿勢(shì)不對(duì)而造成疼痛損傷,同時(shí)在冬天練琴會(huì)因琴鍵太冷而出現(xiàn)手指僵硬的問(wèn)題,提出了一種基于STM32的智慧鋼琴助手。該智慧鋼琴助手具有坐姿自動(dòng)識(shí)別、語(yǔ)音提示、音頻錄制、指紋信息識(shí)別、送暖等功能。通過(guò)攝像頭捕捉彈奏者的坐姿圖像,實(shí)時(shí)判斷其坐姿是否正確,并通過(guò)語(yǔ)音提示。送暖模塊能夠在冬天送出暖風(fēng)溫暖琴鍵,在夏天送出自然風(fēng)以防止手指出汗。同時(shí)可以通過(guò)系統(tǒng)的音頻錄制功能存儲(chǔ)彈奏者的演奏,通過(guò)回聽(tīng)尋找問(wèn)題。該助手還具有師-生-家互助模塊,能有效實(shí)現(xiàn)學(xué)習(xí)過(guò)程中的信息互通,從而更好地提升學(xué)習(xí)效率和演奏效果,以吸引更多兒童參與學(xué)習(xí),在學(xué)習(xí)中獲得音樂(lè)的樂(lè)趣。
關(guān)鍵詞:智慧鋼琴助手;坐姿識(shí)別;送暖模塊;STM32;數(shù)據(jù)傳輸;視頻采集
中圖分類(lèi)號(hào):TP39文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-1302(2020)06-00-02
0 引 言
隨著物聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用,傳統(tǒng)的兒童練琴方式暴露出諸多問(wèn)題:兒童彈琴的坐姿不正確,導(dǎo)致練琴效率低下,長(zhǎng)此以往不僅會(huì)形成不良習(xí)慣,更影響身體健康;冬天練琴時(shí)冰冷的琴鍵容易造成手指僵硬;缺少與老師交流的平臺(tái),兒童在家練琴暴露的問(wèn)題家長(zhǎng)無(wú)法及時(shí)指正。針對(duì)上述問(wèn)題,文中設(shè)計(jì)了一款多功能智慧鋼琴助手。
1 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)總體設(shè)計(jì)如圖1所示。核心芯片采用STM32F407,外設(shè)包括指紋識(shí)別模塊、無(wú)線(xiàn)傳輸模塊、攝像頭、語(yǔ)音播報(bào)模塊、錄放音模塊和PTC發(fā)熱體送風(fēng)模塊等。錄音模塊記錄彈奏的曲目,指紋模塊統(tǒng)計(jì)考勤,攝像頭模塊記錄當(dāng)前用戶(hù)彈奏的坐姿,STM32F407單片機(jī)記錄數(shù)據(jù)后,通過(guò)無(wú)線(xiàn)傳輸模塊將數(shù)據(jù)傳輸至云端庫(kù)中,待彈奏坐姿與正確坐姿對(duì)比后,將正誤結(jié)果傳輸至APP端顯示,還可通過(guò)語(yǔ)音播報(bào)模塊播報(bào)當(dāng)前情況,人員考勤記錄用以進(jìn)行彈奏時(shí)間的計(jì)算。系統(tǒng)還可判斷彈奏者的練習(xí)曲目,并在APP查看相關(guān)數(shù)據(jù)[1-4]。
2 系統(tǒng)功能及組成
系統(tǒng)由音頻系統(tǒng)、送風(fēng)系統(tǒng)、信息采集系統(tǒng)、信息傳輸系統(tǒng)和信息處理及顯示系統(tǒng)組成。
2.1 音頻系統(tǒng)
音頻系統(tǒng)由話(huà)筒與揚(yáng)聲器模塊構(gòu)成,當(dāng)用戶(hù)彈奏琴曲時(shí),按下按鈕,系統(tǒng)將自動(dòng)通過(guò)話(huà)筒模塊記錄彈奏過(guò)程并儲(chǔ)存。在彈奏結(jié)束后,可選擇重復(fù)播放彈奏內(nèi)容,以達(dá)到反思彈奏過(guò)程中存在的不足并及時(shí)改正的目的[5-6]。
2.2 送風(fēng)系統(tǒng)
送風(fēng)系統(tǒng)可在天氣寒冷時(shí)送出熱風(fēng)溫暖琴鍵,減少用戶(hù)彈奏時(shí)由于手指僵硬帶來(lái)的不適和損傷,強(qiáng)化練琴效果。系統(tǒng)由風(fēng)機(jī)、PTC發(fā)熱體組成,通過(guò)調(diào)節(jié)控制器的機(jī)械旋鈕,可對(duì)送風(fēng)溫度及風(fēng)速進(jìn)行調(diào)整。
2.3 信息采集系統(tǒng)
信息采集系統(tǒng)由指紋模塊及攝像頭模塊構(gòu)成。指紋模塊用于采集練琴者的考勤信息,并傳輸至STM32F407單片機(jī)處理后儲(chǔ)存;攝像頭模塊負(fù)責(zé)采集坐姿圖像及實(shí)時(shí)圖像。
2.4 信息傳輸系統(tǒng)
信息傳輸系統(tǒng)由RT5350模塊、ESP8266及GSM模塊組成。GSM模塊將經(jīng)過(guò)云端數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)對(duì)比后的結(jié)果(練琴曲目)及人員考勤時(shí)間統(tǒng)計(jì)(通過(guò)指紋模塊記錄)通過(guò)發(fā)送短信的方式通知家長(zhǎng)。傳輸系統(tǒng)主要傳輸三種數(shù)據(jù):將攝像頭采集的坐姿圖像通過(guò)RT5350傳輸至云端服務(wù)器進(jìn)行處理;將音頻錄制模塊采集的彈奏曲目的音頻文件通過(guò)ESP8266模塊傳輸至云端服務(wù)器進(jìn)行儲(chǔ)存和識(shí)別;將考勤人員初次錄入的指紋通過(guò)ESP8266模塊傳輸至云端服務(wù)器數(shù)據(jù)庫(kù)儲(chǔ)存。
2.5 信息處理及顯示系統(tǒng)
信息處理及顯示系統(tǒng)分為信息處理和顯示兩部分。
2.5.1 信息處理部分
坐姿識(shí)別:首先利用大量?jī)和瘡椬噤撉俚膱D片作為數(shù)據(jù)集,創(chuàng)建對(duì)應(yīng)的訓(xùn)練集和測(cè)試集,利用model-master訓(xùn)練得到Pb監(jiān)測(cè)模型,然后載入Tensorflow-master文檔發(fā)送給AndroidStudio軟件,最后運(yùn)行AndroidStudio軟件生成一個(gè)可執(zhí)行彈奏姿態(tài)檢測(cè)任務(wù)的APP。通過(guò)該APP完成鋼琴?gòu)椬嘁曨l流的采集和實(shí)時(shí)分析工作,將彈奏情況劃分為相應(yīng)的等級(jí),及時(shí)將分析結(jié)果發(fā)送給家長(zhǎng)或老師,以方便他們對(duì)孩子在家或在學(xué)習(xí)場(chǎng)所的情況隨時(shí)掌控和指導(dǎo)。實(shí)時(shí)圖像處理:通過(guò)特定的壓縮算法,將實(shí)時(shí)彈奏過(guò)程儲(chǔ)存并傳輸。指紋數(shù)據(jù)處理:將通過(guò)ESP8266模塊上傳的指紋數(shù)據(jù)儲(chǔ)存后建立數(shù)據(jù)庫(kù),將其保存建檔。
2.5.2 顯示部分
在APP端顯示坐姿識(shí)別結(jié)果,根據(jù)正誤與否顯示相應(yīng)提示;在APP端顯示處理壓縮后的實(shí)時(shí)彈奏過(guò)程圖像;在APP端顯示考勤人員相關(guān)信息,如姓名、練琴時(shí)長(zhǎng)等。
3 圖像數(shù)據(jù)采集及圖像數(shù)據(jù)傳輸實(shí)現(xiàn)
基于Linux系統(tǒng)圖像數(shù)據(jù)的采集及傳輸主要由RT5350實(shí)現(xiàn),姿勢(shì)動(dòng)作圖像的采集是系統(tǒng)成功的關(guān)鍵,需將USB攝像頭采集的數(shù)據(jù)轉(zhuǎn)化為媒體流數(shù)據(jù)并保存,需要使用Linux驅(qū)動(dòng)中的UVC協(xié)議。Linux內(nèi)核版本高于2.6則使用Video4Linux2 (V4L2),配合適當(dāng)?shù)挠布缫曨l采集卡、USB攝像頭等實(shí)現(xiàn)對(duì)視頻圖像的采集、壓縮等功能。V4L2為視頻數(shù)據(jù)采集的應(yīng)用程序提供了接口函數(shù),如open(),read(),write()等,這些接口函數(shù)能夠?qū)崿F(xiàn)對(duì)設(shè)備的管理。管理內(nèi)容包括對(duì)設(shè)備信息的查詢(xún)、圖像屬性的設(shè)置、視頻的捕捉等,方便圖像數(shù)據(jù)的采集、開(kāi)發(fā)。圖2所示為V4L2視頻采集的基本流程。
由于采集的原始數(shù)據(jù)是YUV格式,視頻信號(hào)數(shù)據(jù)量大,為節(jié)省網(wǎng)絡(luò)帶寬及存儲(chǔ)資源,須對(duì)采集的視頻數(shù)據(jù)壓縮編碼。首先對(duì)采集的視頻數(shù)據(jù)進(jìn)行壓縮處理,之后服務(wù)器端在采集結(jié)束后監(jiān)聽(tīng)客戶(hù)端的訪(fǎng)問(wèn)請(qǐng)求。若收到來(lái)自客戶(hù)端的訪(fǎng)問(wèn)請(qǐng)求,則服務(wù)器端將視頻數(shù)據(jù)返回至客戶(hù)端。系統(tǒng)基于TCP傳輸協(xié)議設(shè)計(jì),圖3所示為Socket通信傳輸流程。
4 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件部分主要包括基于Android系統(tǒng)的鋼琴?gòu)椬鄨D像采集處理系統(tǒng)及網(wǎng)頁(yè)、APP客戶(hù)端的信息發(fā)布。系統(tǒng)軟件設(shè)計(jì)流程如圖4所示,軟件功能框圖如圖5所示。
5 結(jié) 語(yǔ)
智慧鋼琴助手不僅有效解決了教-學(xué)-練的及時(shí)性問(wèn)題,更提升了兒童學(xué)習(xí)的樂(lè)趣。通過(guò)打通師-生-家環(huán)節(jié),方便學(xué)生無(wú)論何時(shí)、何地都能在科學(xué)的指導(dǎo)下練習(xí)。
參考文獻(xiàn)
[1]金平.基于嵌入式Linux的智能視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)沙:中南大學(xué),2013.
[2]龔文沖.基于WiFi的嵌入式視頻監(jiān)控系統(tǒng)設(shè)計(jì)[D].武漢:華中科技大學(xué),2011.
[3]陸小辰.基于DM365的智能視頻監(jiān)控系統(tǒng)研究[D].南京:南京理工大學(xué),2013.
[4]史震海.安吉縣城市公眾視頻監(jiān)控系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)[D].成都:電子科技大學(xué),2011.
[5]王保衛(wèi),申波.Android應(yīng)用開(kāi)發(fā)與系統(tǒng)改造實(shí)戰(zhàn)[M].北京:人民郵電出版社,2012:302-321.
[6]李旭東.基于Android移動(dòng)終端攝像的圖像處理與應(yīng)用[D].成都:電子科技大學(xué),2011.
[7]楊璐,沈悅,蔣蕾.一種TCP協(xié)議穿透SymmetricNAT方案[J].計(jì)算機(jī)工程與應(yīng)用,2007,43(6):122-125.
[8]趙錦霞.對(duì)鋼琴教學(xué)創(chuàng)新模式的構(gòu)件與思考[J].音樂(lè)時(shí)空,2013(11):114.
[9]范丹玲.依托教學(xué)助手打造學(xué)生智慧課堂[J].下一代,2019(5):1.
[10]李彬,江龍.基于Android的校園學(xué)習(xí)助手軟件的設(shè)計(jì)[J].智能計(jì)算機(jī)與應(yīng)用,2016,6(4):38-41.