秦昳 王子俊 殷正 陳睿強(qiáng)
(西安科技大學(xué)計算機(jī)學(xué)院 陜西省西安市 710054)
音樂改變生活,音樂創(chuàng)造生活。如今人們生活壓力越來越大,研究表明[2]音樂有很奇妙的作用:放松身心、刺激腦部、提升創(chuàng)造力與企劃力、幫助入眠、增強(qiáng)記憶力與注意力。曲繪[3]指根據(jù)音樂所表達(dá)的思想感情創(chuàng)作畫作,達(dá)到增加音樂作品表現(xiàn)力的目的?!懊咳找徽{(diào)”作為我們設(shè)計的應(yīng)用,讓喜歡繪畫和音樂的人們?nèi)グl(fā)揮創(chuàng)造力,展現(xiàn)內(nèi)心豐富情感。通過這個應(yīng)用平臺將音樂與繪畫兩個領(lǐng)域的共同點融合并放大,讓人們參與音樂與繪畫領(lǐng)域。
目前國內(nèi)有大約8億年輕人,喜歡音樂的人占百分之九十,這些人中有不少人喜歡音樂與繪畫,目前市場上[4]有一些繪畫和音樂單方面的應(yīng)用與網(wǎng)站,如網(wǎng)易云音樂、ZCOOL、Line of Action等,但將音樂與繪畫結(jié)合起來的卻少之又少。這些應(yīng)用都沒有做到像“每日一調(diào)”這樣,具有指向性的曲繪平臺為用戶自身的愛好和音樂去服務(wù)。如今通過Android studio與Bmob實現(xiàn)的Android應(yīng)用越來越多,這些應(yīng)用大多通過大數(shù)據(jù)獲取信息[5],以Java和Android SDK為開發(fā)語言[6],結(jié)構(gòu)上采取模塊化設(shè)計,將應(yīng)用功能分模塊實現(xiàn)[7]。
圖1:總體功能結(jié)構(gòu)圖
項目根據(jù)技術(shù)要求和成員技術(shù)儲備力量,設(shè)計了技術(shù)路線,具體架構(gòu)如圖1所示。后臺的數(shù)據(jù)庫來記錄用戶信息;登陸界面由具體的登陸的基本界面和登陸動畫組合而成;注冊界面由注冊界面并帶有密碼找回功能;主界面有曲繪和圖片日記功能。這些就是該項目目前的基本結(jié)構(gòu)體系。
2.2.1 數(shù)據(jù)庫模塊
主要存放注冊用戶的信息、用戶上傳的音樂片段、Plog(Photo log)片段。
2.2.2 曲繪功能模塊
用戶可以將所選照片生成的音樂片段上傳至“每日一調(diào)”的平臺上,并且可以選擇上傳的標(biāo)簽,用戶可以欣賞其他用戶上傳的音樂片段,并且據(jù)此片段創(chuàng)作,可以理解為曲繪。這些繪畫作品會伴隨音樂片段一并發(fā)布至平臺上,供其他用戶去欣賞和評論。
2.2.3 登錄模塊
主要由登錄界面和登錄動畫組成,登錄界面是用來輸入用戶信息并進(jìn)行登錄的界面。登錄動畫則是歡迎動效,讓應(yīng)用更加美觀和個性化。
2.2.4 注冊模塊
用戶進(jìn)行注冊,并把成功注冊的用戶郵箱,密碼等個人賬號信息儲存到云端數(shù)據(jù)庫庫里,忘記密碼可以找回。2.2.5 主頁模塊
主頁模塊包括曲繪,Plog。用戶不僅可以生成當(dāng)日的音樂片段,還可以使用Plog記錄自己的經(jīng)歷,軟件提供簡易的字幕和濾鏡特效。
使用Bmob后端云[8]來儲存用戶信息,Bmob平臺為移動應(yīng)用提供了一個完整的后端解決方案,提供輕量級的數(shù)據(jù)服務(wù)SDK開發(fā)包,以最少的配置和最簡單的方式使用Bmob后端云平臺提供的服務(wù),進(jìn)而完全消除編寫服務(wù)器代碼以及維護(hù)服務(wù)器的操作。
用戶的所有信息都將會存儲在Bmob后端云數(shù)據(jù)庫中,通過界面的交互實現(xiàn)對用戶數(shù)據(jù)的訪問。
該項目軟件產(chǎn)品的流程如圖2所示。首先用戶打開軟件,進(jìn)入前會有篩選問題如:“對繪畫有何感覺?喜歡繪畫并有一定基礎(chǔ)嗎?”等問題。接著選擇圖片,后臺分析圖片屬性,有情侶,風(fēng)景,家人等多種標(biāo)簽,根據(jù)這些標(biāo)簽的屬性從數(shù)據(jù)庫中提取出盡量符合的音樂片段。接著用戶可以發(fā)布Plog給好友或者發(fā)布至畫Zone或者分享至社交平臺。若用戶一開始就有一定的繪畫基礎(chǔ),會建議去創(chuàng)作并直接發(fā)布至畫Zone。
應(yīng)用使用android studio進(jìn)行實現(xiàn),signin目錄下為應(yīng)用內(nèi)整體;main目錄下為登錄及過渡界面;其他為輔助程序。在Layout中sign布局為應(yīng)用主界面,activity布局為應(yīng)用外界面。其中Layout布局與Java文件之間相互對應(yīng)。
2.5.1 項目目錄文件結(jié)構(gòu)
圖2:軟件使用詳細(xì)流程
圖3:Java文件結(jié)構(gòu)
Java文件結(jié)構(gòu)如圖3所示,Layout文件結(jié)構(gòu)如圖4所示。
2.5.2 項目層次結(jié)構(gòu)
數(shù)據(jù)訪問層(bmob)[9]:主要針對Bmob后端云進(jìn)行操作,具體為業(yè)務(wù)邏輯層或表示層提供數(shù)據(jù)服務(wù)。
業(yè)務(wù)邏輯層:在Android中該層主要通過Activity實現(xiàn)[10]。
界面層:在Android中該層采用資源文件layout中的XML布局文件來進(jìn)行界面布局描述。
圖4:Layout文件結(jié)構(gòu)
2.6.1 選取像素點
點擊事件結(jié)束后調(diào)用bitmap.getPixel()函數(shù)對圖片進(jìn)行循環(huán)取點,每次選取300*300個像素點;選取后對像素點進(jìn)行整合,求出圖片整體像素點比例,確定圖片整體風(fēng)格。
2.6.2 主要代碼
選取相冊中的照片并壓縮,主要代碼為:
裁剪圖片,主要代碼為:
生成音樂,主要代碼為:
“每日一調(diào)”的最大特點是通過曲繪將音樂與繪畫兩種藝術(shù)形態(tài)合為一個整體,具體是通過音樂進(jìn)行創(chuàng)作,或通過圖片匹配音樂?,F(xiàn)在市面上的軟件功能較為單一,此APP可以帶來新的創(chuàng)作形式與開發(fā)靈感。
通過調(diào)研市場需求的不足,結(jié)合線下用戶的需要,基于Android平臺開發(fā)的圖像分析匹配音樂APP結(jié)合了音樂與繪畫兩個領(lǐng)域的優(yōu)點。目前APP運行穩(wěn)定,評價良好,具有很高的實用價值和推廣價值。