【正文】
, and support to identify the appropriate music and play function, because its itself is based on a musicxml format, so to file in the same format can also be import and export. For a software, the basic realization of roughly the same function and similar software and achieve longterm goal of core value lies in whether it has strong portability and scalability. This paper specially for this purpose of musicxml format files are appropriate to expand and modify, timely enhances the system fault rate and scalability, the function to adapt to future music recorded spectrum of software development is indisputable. This paper designs and pletes the online music recorded spectrum software, to solve the current related to a lot of music teaching system for music lack of considerable interaction problem, also in a certain extent, get rid of the dependence on the static score and the rendering cost. This system is not only suitable for amateur music lovers, will be living in the wonderful sounds recorded. It can also be used in some music professionals and related teaching purposes, actually life learning essential things. Keywords : Music ; MusicXML ; Interactive ; Music Notation武漢工程大學(xué) 畢業(yè)論文 IX 武漢工程大學(xué) 畢業(yè)論文 1 第一章 緒 論 課題背景 音樂是伴隨著人類歷史文明的發(fā)展應(yīng)運而生的一種行為藝術(shù),它寄托著人們特殊的情感。 作者簽名: 日期: 年 月 日 學(xué)位論文版權(quán)使用授權(quán)書 本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機構(gòu)送交論文 的復(fù)印件和電子版,允許論文被查閱和借閱。本人完全意識到本聲明的法律后果由本人承擔(dān)。 關(guān)鍵詞 : 樂譜; MusicXML;交互性;音樂記譜 武漢工程大學(xué) 畢業(yè)論文 VII 武漢工程大學(xué) 畢業(yè)論文 VIII Abstract In the Inter of things technology rapid development today, music and digital technology has bee an indispensable important part of, they are all a great influence on the society39。它允許學(xué)生根據(jù)個人能力及進度調(diào)整學(xué)習(xí)目標(biāo)和學(xué)習(xí)計劃,從而構(gòu)建個人的認知學(xué)習(xí)體系;使得學(xué)生進行各種針對性的測評并提供相應(yīng)的激 勵及反饋策略。 3. 由于其很低的移植行,樂譜內(nèi)容又單一,根本無法允許老師手動編輯錄入,只能通過技術(shù)人員事先錄入或?qū)?,缺乏相?dāng)?shù)撵`活度。所以本項目研究的方向也不僅僅應(yīng)該著眼于電腦端,也會在移動端大力開發(fā)。 3) 插件是一個小的整體,其內(nèi)部是由特定程序結(jié)構(gòu)所組成,那么對于插件的重復(fù)率也會相當(dāng)高,這相當(dāng)于某種外部接口,使用者不必關(guān)心其內(nèi)部實現(xiàn),只需找到使用接口武漢工程大學(xué) 畢業(yè)論文 4 就行,這就導(dǎo)致了使用插件,程序的可移植性會加強,程序執(zhí) 行效率會更高。在以前,當(dāng)樂器數(shù)字接口格式這個概念被提出來以后,其基于 MINI 的各方面應(yīng)用也趨于成熟階段,但令人遺憾的是, MINI 輸出的只是音樂強度及音調(diào)的數(shù)字記錄信息,而其中大量的信息符號均未被保留下來。 第三章:系統(tǒng)設(shè)計。它雖然不支持多繼承,但在另一方面卻發(fā)明了接口這種神奇的技術(shù),通過接口,開發(fā)者可以間接實現(xiàn)多繼承,并不關(guān)心內(nèi)部代碼的實現(xiàn)情況,使得開發(fā)模塊化,自由靈活程度更高,對日后的測試和維護也是大有裨益; Java 語言是很健壯的。 MINI 和 MusicXML 的開發(fā)效率都比較高,而且它們的結(jié)構(gòu)復(fù)雜度也比較低。 AWT 里面的圖形函數(shù)和本地操作系統(tǒng)所提供的圖形函數(shù)之間有著點對點映射的關(guān)系,我們把它稱之為 peers。 控制:即控制器,相當(dāng)于人體大腦的 神經(jīng)中樞,控制著整個系統(tǒng)的一整套流程走向,它將視圖和模型整合串接起來,響應(yīng)發(fā)生的事件并發(fā)出命令。而之前僅有的一種音樂交換格式 —— MINI 卻不盡人意。 Applet Applet 是英文應(yīng)用程序 Application 的縮寫 , Applet 就是一種在 WEB 環(huán)境下,應(yīng)用于客戶端的 Java 應(yīng)用程序組件。如今只要稍微有點規(guī)模的公司或?qū)W校,為了讓學(xué)生或員工更加自主靈活的學(xué)習(xí),增加他們的學(xué)習(xí)積極性,就會在學(xué)校或公司的官方網(wǎng)站或社區(qū)免費提供學(xué)習(xí)視頻?,F(xiàn)代是高科技時代,科技本身就不應(yīng)該和廣大群眾脫軌,然而 如今的科技卻依然只適用于拔高的少部分所謂上層人士,所以本項目的追求就是能允許各式各樣的用戶對象制作出或復(fù)雜或簡單,或單樂或多音的曲譜。圖 為本在線記譜系統(tǒng)的總體框架模型。這里在設(shè)計時可以有兩種選擇方式, UI 數(shù)據(jù)和邏輯數(shù)據(jù)相結(jié)合、 UI 數(shù)據(jù)和邏輯數(shù)據(jù)相分離。從這方面進行模塊化劃分的話,就可以給出比較 細致的系統(tǒng)實現(xiàn)模塊了,具體參見圖 的形式。而在音樂中經(jīng)常見到的和弦音就是多個音符在垂直方向上互相疊加的結(jié)果,所以它們都具有相同的 y 坐標(biāo)。最好是當(dāng)行寬不夠時,該行最后一節(jié)會自動被擠到下一行的第一小節(jié),然后依次排列;當(dāng)行寬度過于稀松時,根據(jù)策略會將每行小節(jié)長度按比 例擴展。比如說常見的連音符號,一般情況下,線條符號所關(guān)聯(lián)的音符都會在同一行或同一頁,但特殊情況從不少見,有時會出現(xiàn)線條關(guān)聯(lián)的幾個音符存在于兩個頁面中,這時就需要將其換行進行切割顯示,但是彼此之間必須是相互關(guān)聯(lián)的。 武漢工程大學(xué) 畢業(yè)論文 22 2) 樂譜結(jié)構(gòu)控制:對 UI 層中的符號對象進行樂理常識上的基本控制,保證樂譜數(shù)據(jù)的正確性,包括繪制策略和排列算法等。事實上,絕大部分符號在畫板上的存在形式都是依靠最常見也是最基本的音符、小節(jié)等存在的。其中繪制管理模塊實質(zhì)上是將音符符號按照樂理和排列規(guī)則,組合在一起顯示到畫板上去,最終的顯示形態(tài)就是常見的五線譜;符號管理模塊作為音樂符號的控制核心,管理著幾乎所有的符號對象;數(shù)據(jù) I/O 模塊作為系統(tǒng)與第三方軟件交互的接口,負責(zé)所有與數(shù)據(jù)交換相關(guān)的功能,比如數(shù)據(jù)的導(dǎo)入導(dǎo)出等,其中最重要的也是必須要實現(xiàn)的就是對 MusicXML 格式數(shù)據(jù)的讀取和保存工作。 樂譜作為數(shù)據(jù)交換的核心無疑是記譜系統(tǒng)中的重中之重,而音符作為樂譜顯示最常見最關(guān)鍵的對象,無疑也是不可忽視的。在設(shè)計中,由于樂譜是最核心的元素,作為繪制樂譜的畫板不可避免的也成為了軟件的核 心容器。當(dāng)然UI 數(shù)據(jù)是不能直接就存在的,必須人為的創(chuàng)建,那么這種最底層的數(shù)據(jù)就是所謂的邏輯數(shù)據(jù)了。 樂譜系統(tǒng)框架設(shè)計 系統(tǒng)設(shè)計是基于自身需求而開發(fā)的整體架構(gòu)安排和對各種設(shè)計模式做出的最適當(dāng)?shù)倪x擇。在播放模式下,用戶可以根據(jù)自身喜好自由播放,比如選取自己比較喜歡的一段音樂,點擊那段樂譜的首音符,從頭開始播放,也可以暫停操作,其它無關(guān)操作則不能進行;在樂譜編輯模式下,用戶可自由編輯樂譜,保存后才能進行播放 調(diào)試,也就是說播放和編輯模式兩者是相互獨立的,這更加符合面向?qū)ο蟮木幊趟枷?。對于本系統(tǒng)而言,主要是針對當(dāng)前社會音樂教育系統(tǒng)所存在的諸多弊端進行開發(fā)和研究的,其中最重要的就是滿足音樂領(lǐng)域中對樂譜的在線編輯和保存,而重點就在動態(tài)二字,潛在功能則是交互性。 type表示這個音符的類型, whole 表示全音,即 4 個 4 分音符??梢院芮逦目闯?XML 文檔實際上是一種樹形結(jié)構(gòu)。比如簡單的登陸功能,我們一般不直接將方法寫到控制層里,而是創(chuàng)建一個接口,在業(yè)務(wù)邏輯里實現(xiàn)登陸具體方法,最后在控制層中直接調(diào)用登陸接口即可,所以大部分情況,模型層接受控制層的命令進行相關(guān)邏輯操作。 相關(guān)技術(shù)綜述 Swing組件 要想了解 Swing 技術(shù),那么先認識一下 AWT 組件是必不可少的。到目前為止,它的最新版本已經(jīng)到了 Inter Explorer 11,此版本在速度和界面方面有了很大的改善。 Java 是由四大基本部分組成: Java 基本語法、 Java 文件格式、 JVM 虛擬機和 Java API[10]。 2. 根據(jù)文檔上面的需求,分析并制作出一部實現(xiàn)上面所有功能的音樂記譜軟件,最低標(biāo)準(zhǔn)是可支持在線播放、在線編輯、在線標(biāo)注,而且可以支持 MusicXML 文件格式并加以自我擴展。還有好多這樣寓意深刻的漢子,在這里就不多贅述了。除此之外,使用插件其實也是有弊端的?,F(xiàn)在比較常用的客戶端包括接收郵件的電子郵件客戶端,瀏覽網(wǎng)頁的萬維網(wǎng)網(wǎng)頁客戶端以及生活中已經(jīng)非常普及的騰 訊 客戶端等。而這些插件只支持固定的簡單編輯操作,僅用于習(xí)題等有限場合。網(wǎng)絡(luò)教育也稱做 ELearning 或者虛擬教育環(huán)境,它是老師與學(xué)生之間借助多媒體以及互聯(lián)網(wǎng) IT 技 術(shù)為媒介進行教育的一種便捷方式,有了這種模式,學(xué)生在家中也可以遠程與老師連接進行學(xué)習(xí),或在相應(yīng)的資源鏈接中下載學(xué)習(xí)視頻自學(xué)。對于一個軟件來說,其基本實現(xiàn)功能與類似的軟件大體相同,而能實現(xiàn)長遠目標(biāo)的核心價值就體現(xiàn)在它是否具有強大的移植性和可擴展性。 作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日 期: 使用授權(quán)說明 本人完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝 ⒖s印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉績?nèi)容。 :任務(wù)書、開題報告、外文譯文、譯文原文(復(fù)印件)。研究表明,這是因為 音樂中的音符的間隔、銜接、轉(zhuǎn)換,其高低起伏之音調(diào),由淡轉(zhuǎn)濃的音色,恰恰與人類的心靈和機體密切關(guān)聯(lián)。作為一種音樂的新型載體,網(wǎng)絡(luò)在如今的網(wǎng)絡(luò)教育時代為我們帶來了嶄新的教育模式和教育理念 [3]。當(dāng)前的打譜工具大多數(shù)是以客戶端的形式存在著。 2. 在線記譜插件 什么是插件呢?插件,英文翻譯為 Plugin,又名外掛。通過這種方式,用戶可隨意的在線顯示并播放樂譜文件,并且還可做一些額外的操作,比如保存、導(dǎo)出以及更換樂器播放等。而且 MusicXML 結(jié)構(gòu)清晰,便于閱讀,對于音樂文件的記錄描述也是十分詳盡而規(guī)范 [7]。對本文已經(jīng)實現(xiàn)的功能進行分析總結(jié),并找出存在的一些隱患和缺陷,然后根據(jù)樂譜需求提出相應(yīng)的改進方案,方面日后的多次擴展和改進工作。 武漢工程大學(xué) 畢業(yè)論文 8 開發(fā)工具 本次設(shè)計所使用到的開發(fā)工具主要是 MyEclipse 以及 IE 瀏覽器。眾做周知, AWT是最原始的圖形界面開發(fā)類庫,它最開始所使用的是基于 Linux 的開發(fā)平臺,其內(nèi)的許多圖形符號只能依托于本地操作系統(tǒng)中,也就是說,開發(fā)者所使用的操作系統(tǒng)中有多少圖形符號,那 么開發(fā)者就只能通過 AWT 間接獲取到想要使用的符號。 而 Swing 則是在 AWT 的基礎(chǔ)上, 自行構(gòu)建的一套新的可視化圖形界面系統(tǒng)類庫,它提供了 AWT 所提供的所有可使用的方法,并用最純粹的 Java 代碼對 AWT 的功很多能進行了很大規(guī)模的擴充。所以說 HTML 旨在顯示信息, XML 旨在傳輸信息。 Divisions 標(biāo)簽則表示一個四分音符所持續(xù)的時間,值得注意的是,該元素和 note 中的 duration 是相互關(guān)聯(lián)的。 Applet 還支持 Java中很多的組件,比如 Swing 和 AWT 這類的 GUI 圖形繪制庫等。那么這種弊端要如何解決呢?毫無疑問,如果這時候采用一種功能強大的在線樂譜編輯軟件,那么問題就迎刃而解了,為什么這么說呢?我們知道在線樂譜可實現(xiàn)教師對樂譜的在線標(biāo)注和注解,對出錯 的地方也能及時更正,不會出現(xiàn)上傳之后就不能做出修改的尷尬局面,所以這種方式的互動性就顯得格外強