freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

樂(lè)譜繪制系統(tǒng)的方法研究與實(shí)現(xiàn)畢業(yè)論文-資料下載頁(yè)

2025-07-09 15:53本頁(yè)面

【導(dǎo)讀】指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和。包含我為獲得及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過(guò)的材料。說(shuō)明并表示了謝意。以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉?jī)?nèi)容。其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。對(duì)本文的研究做出重要貢獻(xiàn)。的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法。律后果由本人承擔(dān)。涉密論文按學(xué)校規(guī)定處理。類論文正文字?jǐn)?shù)不少于萬(wàn)字。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準(zhǔn)用徒手畫

  

【正文】 sicXML 格式文件是存在于目前市場(chǎng)上所有音樂(lè)記譜軟件所支持的對(duì)樂(lè)譜信息進(jìn)行交換的標(biāo)準(zhǔn)格式文件,而尤其值得注意的是,為了加上本系統(tǒng)所持有的特殊屬性信息,本項(xiàng)目開發(fā)小組對(duì) MusicXML文件在原有基礎(chǔ)上加以擴(kuò)展,延伸了一些新的特性。那么從圖 中就可以看出,新的MusicXML 格式內(nèi)部增多了譬如標(biāo)注信息、文本等新內(nèi)容,大大加強(qiáng)了系統(tǒng)的擴(kuò)展性和可移植性,這對(duì) 于本軟件未來(lái)的發(fā)展無(wú)疑十分有利的。 核心架構(gòu)設(shè)計(jì) 本系統(tǒng)采用的是 Java 的 Swing 實(shí)現(xiàn)的。由于樂(lè)譜當(dāng)中有各種各樣的音樂(lè)元素,并且元素之間還得通過(guò)一定的樂(lè)理規(guī)則進(jìn)行排列組合,最終滿足用戶對(duì)記譜軟件在樂(lè)譜編輯上的需求。所以對(duì)于不同的音樂(lè)元素需要定義成不同的對(duì)象表示,而樂(lè)譜的最終形態(tài)就是由不同的 UI 對(duì)象排列拼合而成的。 平時(shí)用戶所接觸到的真實(shí)可見的樂(lè)譜圖形就是俗稱的前臺(tái)數(shù)據(jù),即 UI 數(shù)據(jù)。當(dāng)然UI 數(shù)據(jù)是不能直接就存在的,必須人為的創(chuàng)建,那么這種最底層的數(shù)據(jù)就是所謂的邏輯數(shù)據(jù)了。 UI 數(shù)據(jù)直接和用戶進(jìn)行交互,比如頁(yè)面上顯示的圖片界面等,用戶對(duì)這些數(shù)據(jù)可以直接操作,然后系統(tǒng)將數(shù)據(jù)反饋到后臺(tái),此時(shí)我們也可以把后臺(tái)稱之為邏輯處理層,根據(jù)這些數(shù)據(jù),進(jìn)行邏輯判斷并且保存好樂(lè)譜的所有信息后,系統(tǒng)就會(huì)將響應(yīng)的結(jié)果以 UI 形式輸出到前臺(tái)。這就是前后臺(tái)數(shù)據(jù)交換的大致流程了。 系統(tǒng)核心架構(gòu)設(shè)計(jì)的關(guān)鍵之處就是如何處理好 UI 數(shù)據(jù)和邏輯數(shù)據(jù)之間的關(guān)系了。這里在設(shè)計(jì)時(shí)可以有兩種選擇方式, UI 數(shù)據(jù)和邏輯數(shù)據(jù)相結(jié)合、 UI 數(shù)據(jù)和邏輯數(shù)據(jù)相分離。圖 和圖 分別是兩者的結(jié)構(gòu)圖。 圖 UI 數(shù)據(jù)與邏輯數(shù) 據(jù)結(jié)合示意圖 武漢工程大學(xué) 畢業(yè)論文 17 圖 UI 數(shù)據(jù)與邏輯數(shù)據(jù)分離示意圖 前者相結(jié)合的模式固然在書寫程序的時(shí)候方便,將 UI 圖像數(shù)據(jù)和邏輯判斷數(shù)據(jù)都揉合在一起了,但是缺點(diǎn)也是顯而易見的,其在結(jié)構(gòu)上并不清晰,很容易造成視覺(jué)和思維上的混亂,即有 MVC 模式的實(shí),卻不具備其形;但是后者就不一樣了, UI 數(shù)據(jù)和邏輯數(shù)據(jù)相互分離,它變現(xiàn)出了標(biāo)準(zhǔn)的 MVC 架構(gòu)設(shè)計(jì)模式。 MVC 模式是將表示層和邏輯層完全分離開,讓其相互間自然解耦。當(dāng)用戶使用鼠標(biāo)鍵盤對(duì)樂(lè)譜進(jìn)行操作時(shí),就自動(dòng)觸發(fā)了相關(guān)監(jiān)聽事件,此時(shí)控制器就會(huì)將當(dāng)前的狀態(tài)記錄下來(lái)并傳給 邏輯層;在邏輯層數(shù)據(jù)改變后,該層就會(huì)把重新生成的數(shù)據(jù)發(fā)給 UI 顯示層,隨后 UI 層會(huì)根據(jù)獲得的數(shù)據(jù)在刷新之后顯示出不同的效果。但是如果根據(jù)前面的方法來(lái)不斷刷新顯示的話,對(duì)于系統(tǒng)來(lái)說(shuō),其工作量肯定是是相當(dāng)龐大的,因?yàn)槊看嗡⑿?,之前在畫板上繪制好的圖形就會(huì)被洗掉,然后還必須根據(jù)數(shù)據(jù)邏輯再重新生成。同時(shí),對(duì) UI 全局刷新也會(huì)產(chǎn)生一些新的狀態(tài)信息,對(duì)用戶之前的操作當(dāng)然也要記錄下來(lái),這無(wú)疑又降低了程序的可擴(kuò)展性。而事實(shí)是,我們完全沒(méi)有必要僅僅為了達(dá)到刷新效果而浪費(fèi)大量的資源。這個(gè)時(shí)候,可能有人就說(shuō),采用局部刷新行不行呢?只 在一定范圍內(nèi)進(jìn)行刷新,其他范圍保持不變,這個(gè)方法好像可行。但是在實(shí)際的實(shí)施過(guò)程中,我們就會(huì)發(fā)現(xiàn),其實(shí)要實(shí)現(xiàn)局部刷新的話,那么就需要對(duì)刷新的范圍有相當(dāng)精準(zhǔn)的定位,還要考慮如何保證刷新后局部信息的浮動(dòng)范圍,這樣做程序的復(fù)雜度也是變高了,不容易操作。但是,如果采用 UI 數(shù)據(jù)和邏輯數(shù)據(jù)相結(jié)合的方式,事情就變的簡(jiǎn)單多了,它完全避免了刷新的困擾,同時(shí)系統(tǒng)的結(jié)構(gòu)也更為清晰。 經(jīng)過(guò)以上對(duì)比后,本系統(tǒng)最終選擇了 UI 數(shù)據(jù)與邏輯數(shù)據(jù)相結(jié)合的形式。在設(shè)計(jì)中,由于樂(lè)譜是最核心的元素,作為繪制樂(lè)譜的畫板不可避免的也成為了軟件的核 心容器。一方面畫板容納了幾乎所有的音樂(lè)對(duì)象的集合,所有和圖形符號(hào)相關(guān)的對(duì)象都必須在畫板上排列組合顯示;另一方面,畫板在繪制時(shí)承擔(dān)著顯示的角色,它作為系統(tǒng)和用戶交互的橋梁發(fā)揮著至關(guān)重要的作用。 武漢工程大學(xué) 畢業(yè)論文 18 從宏觀上來(lái)講,作為樂(lè)譜的容器和與用戶變向交互的核心,畫板控制著所有的界面圖形符號(hào)和各種邏輯控制,畢竟記譜軟件主要就是一款視覺(jué)感官軟件。而實(shí)際上畫板在響應(yīng)系統(tǒng)行為時(shí)不是直接處理的,而是交給相對(duì)應(yīng)的組件處理,此時(shí)畫板就相當(dāng)于一個(gè)第三方的中央控制器,它會(huì)委托功能組件進(jìn)行管理。從這方面進(jìn)行模塊化劃分的話,就可以給出比較 細(xì)致的系統(tǒng)實(shí)現(xiàn)模塊了,具體參見圖 的形式。 圖 系統(tǒng)結(jié)構(gòu)示意圖 :用于繪制樂(lè)譜,是繪制模塊的主要控制器。 解析器:讀取或生成樂(lè)譜的 MusicXML 格式文件中的所有音樂(lè)相關(guān)信息,包括音樂(lè)符號(hào),標(biāo)注等。 3. MINI 播放器:負(fù)責(zé)樂(lè)譜的播放。 :主要用于記錄用戶的歷史信息,并通過(guò)用戶執(zhí)行的撤銷等操作進(jìn)行還原。 :邏輯控制模塊的主要控制器,負(fù)責(zé)處理系統(tǒng)的業(yè)務(wù)邏輯,具體來(lái)說(shuō)就是對(duì)用戶執(zhí)行的對(duì)樂(lè)譜的操作進(jìn)行信息接 收并做出事件響應(yīng)。 從圖 中可以看出,畫板是核心存在,而 XML 解析器、樂(lè)譜繪制器和邏輯控制器則是圍繞其展開的。系統(tǒng)通過(guò)邏輯控制器將需求反饋給畫板,然后畫板通過(guò)樂(lè)譜繪制器調(diào)用相關(guān)負(fù)責(zé)的組件開始繪制工作;而需要導(dǎo)入或?qū)С鑫募r(shí),直接讓畫板調(diào)用 XML解析器進(jìn)行解析即可。在所有過(guò)程中,我們可以看到畫板很少直接執(zhí)行命令,它通常針對(duì)不同的功能委托給相關(guān)組件處理。 樂(lè)譜數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 樂(lè)譜數(shù)據(jù)對(duì)象包含了幾乎所有繪制樂(lè)譜所需要的音樂(lè)符號(hào)以及上下層間的基本關(guān)系。經(jīng)過(guò)一定的學(xué)習(xí)和了解之后,可知它是 一個(gè)非常精細(xì)的樹狀結(jié)構(gòu),從根節(jié)點(diǎn)到子節(jié)點(diǎn)到子孫節(jié)點(diǎn)逐漸向下延伸,其大致結(jié)構(gòu)參見圖 。 武漢工程大學(xué) 畢業(yè)論文 19 圖 樂(lè)譜數(shù)據(jù)結(jié)構(gòu)示意圖 由圖可看出,樂(lè)譜作為整體存在于樹狀結(jié)構(gòu)的根節(jié)點(diǎn),表示為 score, score 包含一頁(yè)或多頁(yè),每頁(yè)又包含多行,每行之中有多個(gè)小節(jié)組,每個(gè)小節(jié)組內(nèi)包含多個(gè)小節(jié),每個(gè)小節(jié)又有兩個(gè)音部,最后每個(gè)音部之中又包含多個(gè)音符。 樂(lè)譜作為數(shù)據(jù)交換的核心無(wú)疑是記譜系統(tǒng)中的重中之重,而音符作為樂(lè)譜顯示最常見最關(guān)鍵的對(duì)象,無(wú)疑也是不可忽視的。在畫板上,我們通常用橢圓形作為音符符頭,然后再加上符 桿和符尾就構(gòu)成了最基本的符號(hào)。音符通常具有時(shí)長(zhǎng)和音高兩個(gè)最核心的屬性。時(shí)長(zhǎng)是由振動(dòng)的時(shí)間決定的,振動(dòng)時(shí)間越長(zhǎng),則音越長(zhǎng);音高則由音的頻率決定的,振動(dòng)頻率越高,則音越高,相反則越低。而在音樂(lè)中經(jīng)常見到的和弦音就是多個(gè)音符在垂直方向上互相疊加的結(jié)果,所以它們都具有相同的 y 坐標(biāo)。在某種程度上,和弦音和組成它的單音符其實(shí)是非常類似的。當(dāng)對(duì)和弦音當(dāng)中的某個(gè)音符添加某些標(biāo)注記號(hào)時(shí),這些記號(hào)既可以屬于單個(gè)音符,也可以屬于和弦音符。那么什么是拍號(hào)呢?舉例來(lái)說(shuō), 2|4,在數(shù)學(xué)中表示的四分之二,在音樂(lè)中則表示以四分音符為一拍, 每小節(jié)有兩拍。音名就是音的名稱,簡(jiǎn)譜代表了音高對(duì)比,從 1 到 7 為一個(gè)循環(huán),音名則表示了音的固定高度,即 C,D,E,F,G,A,B,其中 1 和 C 對(duì)應(yīng), 3 和 E 對(duì)應(yīng),以此類比。如果以 C 音為 do音,那么它所形成的音列就叫 C 大調(diào)音列。 除去對(duì)于樂(lè)譜數(shù)據(jù)結(jié)構(gòu)上的設(shè)計(jì),還需要理解圖形用戶界面類方向上的邏輯處理。系統(tǒng)內(nèi)的絕大部分音符符號(hào)對(duì)象都處于 UI 層和邏輯模型層之中,所以一般來(lái)說(shuō),這兩個(gè)層應(yīng)該保持相對(duì)獨(dú)立,這樣在處理對(duì)象操作時(shí)才不會(huì)混亂邏輯關(guān)系,以至發(fā)生誤刪或新增的行為。比如用戶點(diǎn)擊刪除對(duì)象時(shí),系統(tǒng)接收到刪除命令,此 時(shí) UI 層就會(huì)將該符號(hào)對(duì)象清除掉,而邏輯層則會(huì)找到與該對(duì)象相關(guān)的一系列對(duì)象,將它們和刪除對(duì)象之間的聯(lián)系完全清除,達(dá)到真正意義上的刪除。那么具體到細(xì)微的執(zhí)行操作上, UI 層會(huì)調(diào)用 Swing 相關(guān)組件中的移除方法將對(duì)象從所屬的頁(yè)面刪除掉。 武漢工程大學(xué) 畢業(yè)論文 20 功能模塊設(shè)計(jì) 經(jīng)過(guò)以上章節(jié)對(duì)在線記譜軟件在音樂(lè)教學(xué)中所做的的調(diào)查分析,本小節(jié)最終對(duì)系統(tǒng)的具體功能模塊作出了相應(yīng)設(shè)計(jì)。系統(tǒng)按照從簡(jiǎn)到繁,由上到下的設(shè)計(jì)理念,將功能模塊設(shè)計(jì)順序安排如下:繪制管理模塊、符號(hào)管理模塊、數(shù)據(jù) I/O 模塊、播放管理模塊、邏輯控制模塊和用戶行為管理 模塊。其中繪制管理模塊實(shí)質(zhì)上是將音符符號(hào)按照樂(lè)理和排列規(guī)則,組合在一起顯示到畫板上去,最終的顯示形態(tài)就是常見的五線譜;符號(hào)管理模塊作為音樂(lè)符號(hào)的控制核心,管理著幾乎所有的符號(hào)對(duì)象;數(shù)據(jù) I/O 模塊作為系統(tǒng)與第三方軟件交互的接口,負(fù)責(zé)所有與數(shù)據(jù)交換相關(guān)的功能,比如數(shù)據(jù)的導(dǎo)入導(dǎo)出等,其中最重要的也是必須要實(shí)現(xiàn)的就是對(duì) MusicXML 格式數(shù)據(jù)的讀取和保存工作。 繪制管理模塊 繪制管理模塊控制著關(guān)于樂(lè)譜繪制相關(guān)的一切邏輯和行為,它的實(shí)質(zhì)是將樂(lè)譜數(shù)據(jù)結(jié)構(gòu)當(dāng)中的有關(guān) UI 對(duì)象按照樂(lè)理規(guī)則排列組合在一起, 顯示到畫板上,而最直觀的說(shuō)法就是將樂(lè)譜內(nèi)容呈現(xiàn)給用戶。繪制管理模塊涉及到很多相關(guān)的繪制問(wèn)題,最后可歸納為以下幾點(diǎn): 1) 繪制策略:繪制樂(lè)譜時(shí),樂(lè)譜的最左邊和最后邊音符的坐標(biāo)是固定不變的,而且每一行的總寬度也應(yīng)該相同。但是由于每行包括多個(gè)小節(jié),每個(gè)小節(jié)內(nèi)音符個(gè)數(shù)也不一樣,導(dǎo)致小節(jié)的寬度也不應(yīng)該是靜態(tài)的,而是根據(jù)某種良好的繪制策略,既可以保持行中小節(jié)的長(zhǎng)度不變,也要使小節(jié)不顯得太寬松或太擁擠。最好是當(dāng)行寬不夠時(shí),該行最后一節(jié)會(huì)自動(dòng)被擠到下一行的第一小節(jié),然后依次排列;當(dāng)行寬度過(guò)于稀松時(shí),根據(jù)策略會(huì)將每行小節(jié)長(zhǎng)度按比 例擴(kuò)展。 2) 排列算法:當(dāng)繪制樂(lè)譜時(shí),制作者常常會(huì)遇到同一時(shí)刻多音符排列的問(wèn)題。五線譜中那些音符的排列不是隨意散亂的,而是按照樂(lè)理規(guī)則有規(guī)律的進(jìn)行組合,即在同一時(shí)刻發(fā)出的音樂(lè)中可能會(huì)包括多個(gè)音符,這時(shí),就需要將這些音符的 y 坐標(biāo)保持一致。所以繪制管理模塊也需要一個(gè)排列算法進(jìn)行邏輯判斷。 3) 標(biāo)注管理:標(biāo)注功能在進(jìn)行樂(lè)譜繪制時(shí),無(wú)疑是十分實(shí)用的。這就好比讀者閱讀時(shí),書本專門為讀者設(shè)立一片可作為注解的獨(dú)立空間,等下次再閱讀時(shí)效果會(huì)相當(dāng)顯著。本系統(tǒng)開發(fā)的標(biāo)注管理也功能是如此。本標(biāo)注不僅針對(duì)小節(jié)可以標(biāo)注,對(duì)單個(gè)音符同樣支持 標(biāo)注功能。標(biāo)注具有一個(gè)特定圖標(biāo)的標(biāo)志,點(diǎn)擊圖標(biāo)時(shí),標(biāo)注被選中,其對(duì)應(yīng)的標(biāo)注對(duì)象會(huì)被高亮。 4) 文本管理:文本管理針對(duì)畫板上所有的文本信息,包括樂(lè)譜的作者、標(biāo)題、歌詞、標(biāo)注等。該文本允許用戶自由編輯,對(duì)文本的樣式同樣可做修改,比如文字的顏色、大小、粗細(xì)等。 武漢工程大學(xué) 畢業(yè)論文 21 符號(hào)管理模塊 符號(hào)管理模塊負(fù)責(zé)所有與符號(hào)對(duì)象相關(guān)的多有操作。事實(shí)上,絕大部分符號(hào)在畫板上的存在形式都是依靠最常見也是最基本的音符、小節(jié)等存在的。而符號(hào)主要包括有音符符號(hào)、線條符號(hào)等。 1) 音符符號(hào):依附于或者屬于音符的符號(hào),比如說(shuō)顫音 、修飾音等,它們?cè)趫D形界面顯示上依附于基本音符存在。 2) 線條符號(hào):線條符號(hào)通常不依賴于特定的某個(gè)音符對(duì)象存在,它具有一定的時(shí)間跨度,而且起始和結(jié)束也有相關(guān)標(biāo)識(shí)。比如說(shuō)常見的連音符號(hào),一般情況下,線條符號(hào)所關(guān)聯(lián)的音符都會(huì)在同一行或同一頁(yè),但特殊情況從不少見,有時(shí)會(huì)出現(xiàn)線條關(guān)聯(lián)的幾個(gè)音符存在于兩個(gè)頁(yè)面中,這時(shí)就需要將其換行進(jìn)行切割顯示,但是彼此之間必須是相互關(guān)聯(lián)的。具體體現(xiàn)就是,當(dāng)刪除掉其中某一部分時(shí),另一頁(yè)的那部分也會(huì)自動(dòng)被刪除掉。 數(shù)據(jù) I/O 模塊 數(shù)據(jù) I/O 模塊負(fù)責(zé)所有的數(shù)據(jù)交換操作,包括 MusicXML 格式文件的信息讀取和保存、打印服務(wù)等。由于前面提到 MusicXML 格式在音樂(lè)領(lǐng)域?qū)儆诒容^通用的文件格式,也就是說(shuō)絕大部分音樂(lè)記譜軟件都支持其數(shù)據(jù)交換,所以本軟件在未來(lái)的發(fā)展也將不會(huì)僅僅止步于本系統(tǒng),它可以將第三方軟件保留的數(shù)據(jù)導(dǎo)入并繪制成五線譜。打印機(jī)就是通過(guò)程序調(diào)用本地系統(tǒng)的打印設(shè)備進(jìn)行打印。 本模塊中最核心的內(nèi)容是 XML 解析器,它控制著 MusicXML 文件的生成和讀取。 播放管理模塊 播放管理模塊負(fù)責(zé)系統(tǒng)中樂(lè)譜的播放功能。在該模式下,用戶只能體驗(yàn)播放功能,不能進(jìn)行其他比如樂(lè)譜編 輯、刪除等操作。用戶可根據(jù)喜好選擇任意位置開始播放,任意位置包括小節(jié)或單個(gè)音符;播放時(shí),界面會(huì)顯示一個(gè)進(jìn)度條顯示播放進(jìn)度,當(dāng)用戶點(diǎn)擊暫停按鈕時(shí),播放終止。 邏輯控制模塊 邏輯控制模塊負(fù)責(zé)整個(gè)系統(tǒng)的業(yè)務(wù)邏輯處理,包括繪制時(shí)所必須的繪制策略、音符排列時(shí)所依據(jù)的排列算法以及 UI 層中的邏輯關(guān)系等。在本系統(tǒng)中,專門為控制層構(gòu)建了一個(gè)控制器,即 Controller,通過(guò) Controller,負(fù)責(zé)系統(tǒng)的所有邏輯控制,它和繪制管理模塊都是系統(tǒng)最核心也是最基本的部分。 1) 音符編輯控制:當(dāng)用戶編輯樂(lè)譜,添加新的 音符或修改音符之后,系統(tǒng)就會(huì)自動(dòng)判斷小節(jié)內(nèi)的剩余時(shí)長(zhǎng),并為樂(lè)譜添加休止符,一旦剩余時(shí)長(zhǎng)不足以添加新的符時(shí),系統(tǒng)就不允許用戶進(jìn)行添加了。 武漢工程大學(xué) 畢業(yè)論文 22 2) 樂(lè)譜結(jié)構(gòu)控制:對(duì) UI 層中的符號(hào)對(duì)象進(jìn)行樂(lè)理常識(shí)上的基本控制,保證樂(lè)譜數(shù)據(jù)的正確性,包括繪制策略和排列算法等。 武漢工程大學(xué) 畢業(yè)論文 23 第四章 音樂(lè)記譜系統(tǒng)的實(shí)現(xiàn)與測(cè)試 繪制模塊 繪制模塊主要負(fù)責(zé)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1