




已閱讀5頁(yè),還剩22頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
畢業(yè)論文(設(shè)計(jì))設(shè)計(jì)(論文)題目基于Max與Arduino的交互多媒體設(shè)計(jì)姓 名:王宇萌學(xué) 號(hào):201100800508學(xué) 院:機(jī)電與信息工程學(xué)院專 業(yè):數(shù)字媒體技術(shù)年 級(jí)2011級(jí)指導(dǎo)教師:黃文高 2015 年 4 月 27 日目 錄中文摘要.2英文摘要.2一、引言.5二、相關(guān)軟硬件簡(jiǎn)介.5(一)Arduino簡(jiǎn)介.5(二)MAX簡(jiǎn)介.6三、硬件及軟件選取.7(一)Arduino板選取及相關(guān)參數(shù).7(二)Arduino軟件開(kāi)發(fā)環(huán)境.8(三)MAX版本選取及功能介紹.9四、交互裝置設(shè)計(jì)實(shí)施.12(一)硬件組建與功能實(shí)現(xiàn).121、材料清單.122、硬件設(shè)計(jì).123、程序代碼.14(二)MAX patch創(chuàng)建.17五、總結(jié).22參考文獻(xiàn).24謝辭.25摘 要最近,數(shù)字藝術(shù)在各種表演藝術(shù)中扮演著越來(lái)越重要的角色。與以前相比,不僅表演者擁有更多的表演形式,而且觀眾也通過(guò)完全不同的方式從表演中獲取信息,更重要的是,當(dāng)今的數(shù)字藝術(shù)可以讓表演者與觀眾進(jìn)行互動(dòng)。大多數(shù)傳統(tǒng)藝術(shù)都是單向的,也就意味著觀眾從作者那里得到信息。然而數(shù)字藝術(shù)通過(guò)使用高科技創(chuàng)造了一個(gè)新的世界,尤其是交互藝術(shù)使觀眾變成了作者。它是如何將觀眾和作者連接起來(lái)的讓我們對(duì)交互藝術(shù)更加感興趣。作為開(kāi)發(fā)交互式音樂(lè)表演軟件通用語(yǔ)言的MAX與構(gòu)建互動(dòng)數(shù)字設(shè)備的新寵兒Arduino相結(jié)合,會(huì)創(chuàng)造出怎樣的充滿創(chuàng)意而又個(gè)性十足的交互式設(shè)計(jì)呢?在本文中,我試圖用上述兩種工具設(shè)計(jì)一個(gè)交互式電子演奏裝置,希望使用者能夠通過(guò)使用該裝置進(jìn)行實(shí)時(shí)電子演奏。本研究主要探討了以下兩個(gè)問(wèn)題:(1)怎樣實(shí)現(xiàn)所使用的軟硬件之間的通信(2)怎樣通過(guò)人的動(dòng)作來(lái)進(jìn)行演奏研究結(jié)果表明,此裝置不僅可以實(shí)現(xiàn)上述功能,而且可以實(shí)現(xiàn)多種樂(lè)器多種方式的演奏,證實(shí)了此裝置的可用性、靈活性和可擴(kuò)展性。關(guān) 鍵 詞交互;數(shù)字音樂(lè);MAXAbstractRecent years, the word interaction begins to appear more frequency than ever before in many areas of society. Its unique technical connotation and the characteristics of the times have brought great changes to our life,our artistic creation and the way we think.The major difference between digital interactive arts and traditional arts is that you can let the audience join the creating process ,allowing audience to create their own world by full using of digital technology.Most traditonal art is unidirectional,which means the audience gets the messages from the author.But digital art create a new world by using the technology,Especially interactive art,which turn the audience to the author.How does it link the audience and the author successfully makes us want to know more. Interactive music,short for interactive computer music, has also become a comparatively booming way of creation in todays digital music creation.In this article, we attempt to design an interactive electronic performance device, hoping the users can make real-time electronic performances by using this device. This research mainly discusses the following two questions: (1) how to realize the communication between the hardware and software that we use (2) how to realize the performance with actions of users.The result of this research shows that this device can not only realize the functions we mentioned above, but also change the musical instruments and the way we performance, which confirm that this devices usability, flexibility and extensibility.KeywordsInteractive;digital music;MAX26一、引言 最近,數(shù)字藝術(shù)在各種表演藝術(shù)中扮演著越來(lái)越重要的角色。與以前相比,不僅表演者擁有更多的表演形式,而且觀眾也通過(guò)完全不同的方式從表演中獲取信息,更重要的是,當(dāng)今的數(shù)字藝術(shù)可以讓表演者與觀眾進(jìn)行互動(dòng)。大多數(shù)傳統(tǒng)藝術(shù)都是單向的,也就意味著觀眾從作者那里得到信息。然而數(shù)字藝術(shù)通過(guò)使用高科技創(chuàng)造了一個(gè)新的世界,尤其是交互藝術(shù)使觀眾變成了作者。它是如何將觀眾和作者連接起來(lái)的讓我們對(duì)交互藝術(shù)更加感興趣。MAX作為一個(gè)非常強(qiáng)大的圖形化編程軟件,自開(kāi)發(fā)至今,一直被廣泛應(yīng)用于世界各地的博物館,畫(huà)廊,音樂(lè)工作室,藝術(shù)學(xué)校,舞臺(tái),研究實(shí)驗(yàn)室以及任何需要將科技與創(chuàng)新結(jié)合在一起的地方。MAX程序本身是模塊化的,它有很多共享庫(kù)形式的例程存在。一個(gè)API允許第三方開(kāi)發(fā)新例程,也稱為外部對(duì)象。因此,MAX擁有大量并不隸屬于cycling74公司的程序員用戶基礎(chǔ),他們通過(guò)對(duì)程序進(jìn)行商業(yè)或者非商業(yè)的擴(kuò)展來(lái)提高軟件的性能。因?yàn)槠淇蓴U(kuò)展的設(shè)計(jì)和圖形化的界面,MAX被稱為開(kāi)發(fā)交互式音樂(lè)表演軟件的通用語(yǔ)言。Arduino是一款方便靈活,易于上手的開(kāi)源電子平臺(tái),通過(guò)連接各種電子元件和傳感器來(lái)感知外界環(huán)境信息并以數(shù)字信號(hào)或模擬信號(hào)的形式傳輸給計(jì)算機(jī)。由于Arduino簡(jiǎn)單清晰的開(kāi)發(fā)語(yǔ)言,跨平臺(tái)操作系統(tǒng)的支持,軟件及硬件的開(kāi)源特性以及眾多社區(qū)與第三方支持,使得Arduino成為構(gòu)建互動(dòng)數(shù)字設(shè)備的新寵兒。 國(guó)內(nèi)有許多玩MAX的人,更有無(wú)數(shù)電子開(kāi)發(fā)愛(ài)好者致力于Arduino研究,但是卻很少有人將這兩者結(jié)合起來(lái),雖然國(guó)外對(duì)于MAX與Arduino結(jié)合的研究早在十幾年前就非常流行,但國(guó)內(nèi)卻實(shí)在是鮮有人知,可查閱的資料也非常稀少。 通過(guò)將MAX與Arduino結(jié)合設(shè)計(jì)出實(shí)時(shí)演奏的電子演奏裝置,可以實(shí)現(xiàn)自主定義音色庫(kù),通過(guò)使用不同的Arduino擴(kuò)展模塊實(shí)現(xiàn)演奏方式的多樣化,增加裝置的靈活性和自由度。該裝置應(yīng)實(shí)現(xiàn)的功能有: 1、MAX與Arduino實(shí)現(xiàn)通信 2、檢測(cè)振動(dòng)信號(hào)并通過(guò)一定的分析判斷來(lái)控制音樂(lè)響起,每一個(gè)振動(dòng)傳感器對(duì)應(yīng)一個(gè)音樂(lè)播放控制模塊。 3、通過(guò)人的動(dòng)作來(lái)實(shí)時(shí)演奏電子裝置,演奏時(shí)會(huì)有相應(yīng)的指示燈亮起,通過(guò)旋鈕可改變演奏音樂(lè)的音量。演奏相應(yīng)的音樂(lè)時(shí),會(huì)有相應(yīng)的指示燈亮起。二、相關(guān)軟硬件簡(jiǎn)介(一)Arduino簡(jiǎn)介Arduino是一款方便靈活,易于上手的開(kāi)源電子平臺(tái),通過(guò)連接各種電子元件和傳感器來(lái)感知外界環(huán)境信息并以數(shù)字信號(hào)或模擬信號(hào)的形式傳輸給計(jì)算機(jī)。Arduino板可以直接購(gòu)買已經(jīng)裝配好的,也可以自己動(dòng)手DIY。Arduino是基于一種由意大利SmartProjects設(shè)計(jì)制造的微控制板,它使用各種8位Atmel AVR單片機(jī)或者32位Atmel ARM處理器。這些系統(tǒng)提供各種數(shù)字和模擬I/O端口,他們可以作為各種擴(kuò)展板和其他電路的接口。這些板子擁有例如USB的系列通信串口,來(lái)從個(gè)人電腦上加載程序。為了為Arduino板編程,Arduino平臺(tái)提供了一種基于Processing項(xiàng)目的集成開(kāi)發(fā)環(huán)境,它支持C和C+編程語(yǔ)言。Arduino可以獨(dú)自完成項(xiàng)目,也可以和其他一些軟件,如MaxMsp、Processing、Flash等,一起完成項(xiàng)目。簡(jiǎn)單來(lái)說(shuō),Arduino是一塊手掌大的微控制板,使用者可以在板子上連接諸如開(kāi)關(guān)、LED燈、電阻、二極管、紅外探測(cè)器等各種電子裝置,以及Ethernet、WiFi、XBee、Bluetooth、RFID、GPS等各種通訊模組,然后將編好的程序燒進(jìn)Arduino板中,便可完成互動(dòng)裝置的設(shè)計(jì)并實(shí)現(xiàn)自動(dòng)控制了。由于Arduino簡(jiǎn)單清晰的開(kāi)發(fā)語(yǔ)言,跨平臺(tái)操作系統(tǒng)的支持,軟件及硬件的開(kāi)源特性以及眾多社區(qū)與第三方支持,使得Arduino成為構(gòu)建互動(dòng)數(shù)字設(shè)備的新寵兒。(二)MAX簡(jiǎn)介MAX是一款由Cycling74公司開(kāi)發(fā)和維護(hù)的圖形化編程語(yǔ)言,在其20年的歷史中,他已經(jīng)被無(wú)數(shù)的作曲家、軟件設(shè)計(jì)師、表演者、藝術(shù)家和研究人員使用和熱愛(ài)。MAX程序本身是模塊化的,它有很多共享庫(kù)形式的例程存在。一個(gè)API允許第三方開(kāi)發(fā)新例程,也稱為外部對(duì)象。因此,MAX擁有大量并不隸屬于cycling74公司的程序員用戶基礎(chǔ),他們通過(guò)對(duì)程序進(jìn)行商業(yè)或者非商業(yè)的擴(kuò)展來(lái)提高軟件的性能。因?yàn)槠淇蓴U(kuò)展的設(shè)計(jì)和圖形化的界面,MAX被稱為開(kāi)發(fā)交互式音樂(lè)表演軟件的通用語(yǔ)言。MAX支持六種基本的原子數(shù)據(jù)類型來(lái)傳遞消息,他們分別是:int、float、list、symbol、bang和signal。MAX程序中存在一些更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)用以處理數(shù)值型數(shù)組(表數(shù)據(jù)),哈希表(科爾數(shù)據(jù))和XML信息(pattr數(shù)據(jù))。MAX通常通過(guò)獲取對(duì)象字典和他們?cè)趐atch中的功能來(lái)學(xué)習(xí),比如metro物件的作用是一個(gè)簡(jiǎn)單的節(jié)拍器,random物件產(chǎn)生隨機(jī)整數(shù)。大多數(shù)物件是非圖形化的,他們由輸入到object塊里的物件名和一系列參數(shù)組成。還有一些物件是圖形化的,包括slider(滑塊)、number boxes(數(shù)字箱)、dials(刻度盤)、table editors(表編輯器)、pull-down menus(下拉菜單)、buttons(按鈕)和其他可以使程序交互式運(yùn)行的物件。當(dāng)你在patch中連接各種物件時(shí),不需要編寫(xiě)任何編程語(yǔ)言,MAX就會(huì)自動(dòng)代你處理好底層的一切,你便可以隨心所欲的創(chuàng)造出個(gè)性獨(dú)特的應(yīng)用程序來(lái)進(jìn)行即興演奏、作曲或者為演奏配樂(lè)等等。MAX的物件由C語(yǔ)言編寫(xiě),你可以用C語(yǔ)言編寫(xiě)新的擴(kuò)展物件,來(lái)使他完成他本不能做到的事。MAX文件可以打包成獨(dú)立的應(yīng)用程序,也可為主流音頻生產(chǎn)系統(tǒng)創(chuàng)作音頻插件。隨著使用筆記本電腦進(jìn)行實(shí)時(shí)音樂(lè)演奏的人越來(lái)越多,MAX作為一個(gè)便捷好用的開(kāi)發(fā)環(huán)境受到了越來(lái)越多的關(guān)注。三、硬件及軟件選?。ㄒ唬〢rduino板選取及相關(guān)參數(shù)本設(shè)計(jì)所采用的Arduino板為Arduino UNO R3,如圖1所示圖 1其相關(guān)參數(shù)如下:微處理器:ATmega328工作電壓:5V輸入電壓:USB供電或外部7V12V DC輸入輸出電壓:5V DC輸出和3.3V DC輸出和外部電源輸入Bootloader:Carduino Uno時(shí)鐘頻率:16 MHz輸入電壓(推薦):7-12V輸入電壓(限制):6-20V數(shù)字I/O端口:14(6個(gè)PWM輸出口)模擬輸入端口:6直流電流:40mA(I/O端口)直流電流:50mA(3.3V端口)Flash內(nèi)存:32 KB (ATmega328其中0.5 KB用于引導(dǎo)程序)SRAM:2 KB (ATmega328)EEPROM:1 KB (ATmega328)尺寸:75x55x15mm各Pins介紹:14個(gè)數(shù)字I/O Pins可以當(dāng)做input使用,也可以當(dāng)做output使用,通過(guò)pinMode(),digitalWrite()和digitalRead()這幾個(gè)函數(shù)來(lái)設(shè)置。這14個(gè)數(shù)字I/O端口中有幾只有特殊的功能:Serial 通訊:0(RX)和1(TX)這兩支腳。用來(lái)接收(RX)與傳輸(TX)TTL信號(hào)的序列資料。這兩支腳也連接到USB Converter晶片中。外部中斷:2和3這兩支腳。這兩支腳可以利用外部事件觸發(fā)中斷,通過(guò)利用attachInterrupt()函數(shù)。PWM:3、5、6、9、10、11這六支腳。通過(guò)analogWrite()函數(shù)可以提供8-bit的PWM輸出。SPI:10(SS)、11(MOSI)、12(MISO)、13(SCK)這四支腳。他們搭配SPI Library可提供SPI序列通訊。LED:13。內(nèi)建一顆LED,當(dāng)pin腳為HIGH時(shí),LED打開(kāi),當(dāng)pin腳為L(zhǎng)OW時(shí),LED關(guān)閉。Arduino UNO有6個(gè)模擬輸入端口,分別為A0A5,每支腳都可提供10位元的解析,也就是1024種不同的數(shù)值。這些腳所用的參考電壓預(yù)設(shè)為0-5V,但也可通過(guò)AREF腳和analogReference()函數(shù)更改參考電壓。另外,有幾支腳也有特殊功能:I2C:4(SDA)和5(SCL)這兩支腳。通過(guò)Wire library可以提供I2C通訊。(二)Arduino軟件開(kāi)發(fā)環(huán)境Arduino集成開(kāi)發(fā)環(huán)境(IDE)是用一個(gè)用Java編寫(xiě)的跨平臺(tái)應(yīng)用,它是從Processing編程語(yǔ)言和Wiring項(xiàng)目的IDE發(fā)展而來(lái)的。它是為了向藝術(shù)家和其他不熟悉軟件開(kāi)發(fā)的新手介紹編程而設(shè)計(jì)的。它包括一個(gè)有各種功能的代碼編輯器,比如語(yǔ)法高亮,括號(hào)匹配,自動(dòng)縮進(jìn)等,它還能編譯和上傳程序到板子上。Arduino的程序叫做“sketch”。Arduino IDE打開(kāi)界面如圖2所示:圖 2Arduino程序是由C或C+編寫(xiě)而成。ArduinoIDE起源于一個(gè)叫Wiring的軟件庫(kù),這使得許多常用輸入輸出操作變得更加簡(jiǎn)單。使用者僅需要定義兩個(gè)函數(shù)來(lái)完成一個(gè)可循環(huán)執(zhí)行的可執(zhí)行程序,這兩個(gè)函數(shù)是setup()和loop()。其中setup()函數(shù)在Arduino通電或者復(fù)位后便會(huì)執(zhí)行,并且只執(zhí)行一次,而loop()函數(shù)則在setup()之后不斷的循環(huán)執(zhí)行,直到電源被切斷。(三)MAX版本選取及功能介紹本設(shè)計(jì)選用的MAX版本為MAX7,初始界面如圖3: 圖 3當(dāng)你要開(kāi)始你的創(chuàng)作時(shí),鼠標(biāo)選擇菜單欄左上角的File-New Patcher即可創(chuàng)建一個(gè)新的patch。這個(gè)新的patch就像一張空白的畫(huà)布,等待你去隨心所欲地創(chuàng)作屬于你自己的作品。如果你想用鍵盤快捷鍵新建一個(gè)patch的話,請(qǐng)按Command(Mac)/Ctrl(Windows)+N。圖 4Patch的初始界面如下:圖 5MAX有兩種模式:鎖定模式和編輯模式。當(dāng)左下角的鎖頭鎖住的時(shí)候,MAX就處于鎖定模式。在鎖定模式下,你不能編輯patch的內(nèi)容,但可以跟patch里的用戶界面object進(jìn)行互動(dòng)。而當(dāng)你需要編輯patch內(nèi)容時(shí),你就需要點(diǎn)擊鎖頭,讓鎖頭打開(kāi),進(jìn)入編輯模式。當(dāng)然,你也可以使用快捷鍵Command/Ctrl+E或者Command/Ctrl+鼠標(biāo)點(diǎn)擊patch窗口來(lái)進(jìn)行模式切換。MAX的基本語(yǔ)言和程序是一個(gè)數(shù)據(jù)流系統(tǒng):MAX程序,也就是patch,是通過(guò)在patcher或者視覺(jué)畫(huà)布中安排和連接object塊來(lái)實(shí)現(xiàn)的。每一個(gè)object都是一個(gè)獨(dú)立的程序,每一個(gè)object都可以通過(guò)一個(gè)或多個(gè)“入口”(inlet)接收數(shù)據(jù),也可通過(guò)“出口”(outlet)輸出數(shù)據(jù)。他們通過(guò)連接一個(gè)object的出口和另一個(gè)object的入口來(lái)傳遞消息。如圖6所示圖 6四、交互裝置設(shè)計(jì)實(shí)施(一)硬件組建與功能實(shí)現(xiàn)1、材料清單Arduino UNO R3控制器 1個(gè)USB數(shù)據(jù)線 1個(gè) 面包板 1個(gè) 振動(dòng)傳感器 5個(gè) 470歐電阻 6個(gè)10K歐可調(diào)電位計(jì) 1個(gè)發(fā)光二極管 5個(gè)3P杜邦線 5個(gè)跳線 若干2、硬件設(shè)計(jì)硬件連接圖如下:圖 7 上圖使用Fritzing軟件制作而成,軟件中的振動(dòng)傳感器為兩個(gè)引腳的,分別是“-”引腳與S引腳。而實(shí)際制作時(shí)我使用的振動(dòng)傳感器是三個(gè)引腳的,其中S引腳連接Arduino的模擬輸入端口,“+”和“-”引腳分別連接5V電源和GND接地端口。五個(gè)振動(dòng)傳感器分別與Arduino的模擬輸入端口A1-A5連接,A0與電位計(jì)相連,而Arduino的數(shù)字端口pin2-pin6則分別與五個(gè)發(fā)光二極管相連。當(dāng)振動(dòng)傳感器被敲擊時(shí),便產(chǎn)生一個(gè)模擬信號(hào),Arduino接收這個(gè)模擬信號(hào),并將它轉(zhuǎn)化為0-1023的整數(shù)形式,然后通過(guò)對(duì)這個(gè)數(shù)據(jù)的分析判斷來(lái)使發(fā)光二極管發(fā)光,并將該數(shù)據(jù)發(fā)送給MAX,通過(guò)MAX中的一系列處理來(lái)發(fā)出相應(yīng)的聲音。同樣的,當(dāng)旋動(dòng)電位計(jì)時(shí),也會(huì)產(chǎn)生一個(gè)模擬信號(hào),Arduino接收這個(gè)模擬信號(hào)并將它轉(zhuǎn)化為0-1023的整數(shù)形式,并將它傳送給MAX來(lái)控制音量大小。3、程序代碼在硬件部分搭建好之后,就需要編寫(xiě)代碼并上傳到Arduino板上來(lái)使硬件能夠完成其應(yīng)實(shí)現(xiàn)的功能。完整代碼如圖: #define THRESHOLD 15 int v1 = -1; int v2 = -1; int v3 = -1; int v4 = -1; int v5 = -1; int n = -1;void setup() Serial.begin(57600); for (int i = 2; i = 6; i+) pinMode(i, OUTPUT); void loop() for (int j = 14; j = THRESHOLD) digitalWrite(2,HIGH);delay(100);digitalWrite(2,LOW);delay(1);elsedigitalWrite(2,LOW); /-if(v2 = THRESHOLD) digitalWrite(3,HIGH);delay(100);digitalWrite(3,LOW);delay(1);elsedigitalWrite(3,LOW); /-if(v3 = THRESHOLD)digitalWrite(4,HIGH);delay(100);digitalWrite(4,LOW);delay(1);elsedigitalWrite(4,LOW); /-if(v4 = THRESHOLD)digitalWrite(5,HIGH);delay(100);digitalWrite(5,LOW);delay(1);elsedigitalWrite(5,LOW); /-if(v5 = THRESHOLD) digitalWrite(6,HIGH);delay(100);digitalWrite(6,LOW);delay(1);elsedigitalWrite(6,LOW); /- 下面進(jìn)行具體代碼分析: #define THRESHOLD 15 int v1 = -1; int v2 = -1; int v3 = -1; int v4 = -1; int v5 = -1; int n = -1;此部分為變量初始化,將Vi的值初始化為負(fù)值,以保證程序開(kāi)始運(yùn)行時(shí)給他一個(gè)新的值。void setup() Serial.begin(57600); for (int i = 2; i = 6; i+) pinMode(i, OUTPUT); Serial.begin()函數(shù)為Arduino的通信函數(shù),用來(lái)初始化串口,設(shè)置串口的各項(xiàng)參數(shù),如波特率、數(shù)據(jù)位等等。此處為設(shè)置串口的波特率為57600。下面一個(gè)for循環(huán)語(yǔ)句,用來(lái)設(shè)置pin2到pin6為輸出狀態(tài)。void loop() for (int j = 14; j = THRESHOLD) digitalWrite(2,HIGH);delay(100);digitalWrite(2,LOW);delay(1);elsedigitalWrite(2,LOW); 后面五個(gè)if()循環(huán)實(shí)現(xiàn)的功能是一樣的,此處僅分析其中一個(gè)。假如傳感器1的值大于等于之前設(shè)置的界限值,那么把pin2寫(xiě)為高電平,即讓與pin2連接的發(fā)光二極管亮起,延時(shí)100毫秒,再將pin2寫(xiě)為低電平,即讓發(fā)光二極管熄滅,延時(shí)1毫秒,若傳感器1的值小于界限值,則將pin2寫(xiě)為低電平,即讓發(fā)光二極管熄滅。(二)MAX patch創(chuàng)建當(dāng)硬件連接完成并將Arduino程序上傳到板上之后,就可以開(kāi)始MAX patch的創(chuàng)建了。此patch總共可以分為五個(gè)功能模塊,下面我們來(lái)一一分析: 圖 8此部分為MAX與Arduino進(jìn)行通信的部分,由于在不同的計(jì)算機(jī)上運(yùn)行會(huì)發(fā)生串口變化,所以此處并沒(méi)有為serial指定某一固定的串口,而是通過(guò)點(diǎn)擊loadmess print物件來(lái)獲取該計(jì)算機(jī)當(dāng)前可使用的串口信息,并在旁邊的菜單欄中自行選擇。Serial是一個(gè)MAX與Arduino進(jìn)行通信時(shí)需要用到的構(gòu)件,使用serial時(shí)要設(shè)置好Arduino使用的串口,并且串口的波特率的設(shè)置要與Arduino程序中相同,以保證正常通信。Serial上面的接口可將MAX中的數(shù)據(jù)傳輸給Arduino,而serial左下角的接口可接收來(lái)自Arduino的數(shù)據(jù),注意此數(shù)據(jù)并不可直接被MAX所使用,而是需要通過(guò)解析之后才可以被使用。選擇好串口、建立好通信后,就需要進(jìn)行上文中提到的數(shù)據(jù)的解析,如圖 圖 9因?yàn)槲抑粋魉土薃rduino的六個(gè)接口數(shù)據(jù)至MAX,所以通過(guò)unpack解析之后就產(chǎn)生了六個(gè)數(shù)據(jù),他們分別來(lái)自模擬輸入端口A0到A5。圖 10數(shù)據(jù)解析之后還要對(duì)數(shù)據(jù)進(jìn)行一些判斷處理,使用“change 0”來(lái)過(guò)濾掉重復(fù)的信息,防止發(fā)生錯(cuò)誤觸發(fā)。然后用一個(gè)if語(yǔ)句判斷從Arduino傳來(lái)的數(shù)據(jù)是否大于等于15,若是,則發(fā)出一個(gè)bang信息。圖 11從模擬端口A0傳來(lái)的數(shù)據(jù)用于控制音量,通過(guò)實(shí)際測(cè)試,電位器的輸出數(shù)據(jù)范圍為0-977,本程序中通過(guò)使用live.gain來(lái)調(diào)節(jié)音量,它的數(shù)據(jù)表示范圍為-70到6分貝,但在實(shí)際操作中當(dāng)分貝低于-30時(shí),就已聽(tīng)不到聲音,所以用scale物件將電位器的數(shù)據(jù)范圍從0-977變換到-30-6。對(duì)從A1到A5傳來(lái)的數(shù)據(jù)的處理是一樣的,以A1的數(shù)據(jù)為例進(jìn)行分析。上面提到,如果傳來(lái)的數(shù)據(jù)大于等于15,則產(chǎn)生一個(gè)bang信息,我們知道MAX里數(shù)據(jù)傳送是從右向左的,所以當(dāng)bang信息產(chǎn)生時(shí),先將“open 1.mp3”信息傳送給sfplay物件,然后再送一個(gè)“1”給sfplay,這樣sfplay就會(huì)播放1.mp3這個(gè)音頻了。同樣的,也可以不使用提前錄制好的聲音,而是使用電腦軟音源,這樣可以更方便靈活的控制聲音的播放。如下圖 12網(wǎng)絡(luò)上有各種各樣的軟音源可供使用,此處我使用的是VST插件格式的Cakewalk Studio Instruments軟音源,它包含一個(gè)高質(zhì)量的鼓組,貝斯,電鋼琴和弦樂(lè)組,由于設(shè)備有限,本程序中只設(shè)置適用于鼓組的數(shù)據(jù)。演奏時(shí),點(diǎn)擊plug,就會(huì)彈出一個(gè)窗口,讓你選擇你要使用的VST,選擇完后你也可以點(diǎn)擊open來(lái)打開(kāi)此VST,本程序選擇鼓組,打開(kāi)界面如下: 圖 13 至此,全部MAX的patch已經(jīng)分析完,現(xiàn)在可以開(kāi)始你充滿個(gè)性的演奏啦!五、總結(jié) 近些年來(lái),隨著科技的發(fā)展,交互式數(shù)字音樂(lè)逐漸流行起來(lái),相對(duì)于傳統(tǒng)的數(shù)字音樂(lè)作品,交互式數(shù)字音樂(lè)更注重人與人,人與機(jī)器的互動(dòng)性,讓觀眾、聽(tīng)眾也成為音樂(lè)的一部分。 此交互設(shè)計(jì)是基于MAX與Arduino的交互裝置,他以MAX為軟件平臺(tái),以Arduino為硬件平臺(tái),實(shí)現(xiàn)了MAX與Arduino的通信互動(dòng),實(shí)現(xiàn)了數(shù)字音樂(lè)實(shí)時(shí)演奏。本文對(duì)Arduino的硬件特性、Arduino的編程語(yǔ)言、MAX的patch創(chuàng)建以及Arduino與MAX的通信交流等等等等都做了非常詳細(xì)的研究,證實(shí)了MAX與Arduino的交互設(shè)計(jì)的可行性,希望能夠?yàn)閲?guó)內(nèi)此類研究提供一定的資源與思路。 此交互裝置的優(yōu)點(diǎn)及特色有如下幾點(diǎn): 1、實(shí)現(xiàn)了數(shù)字音樂(lè)的實(shí)時(shí)演奏和控制 2、使用發(fā)光二極管指示燈,更好的反應(yīng)實(shí)時(shí)演奏時(shí)的交互通信 3、該裝置可設(shè)計(jì)成桌面敲打式設(shè)備,也可設(shè)計(jì)成可穿戴式設(shè)備,增加設(shè)計(jì)的趣味性和完善性,實(shí)現(xiàn)真正的虛擬演奏 4、演奏的音樂(lè)可以任意改變,可以是提前錄制好的音樂(lè),也可以由軟音源提供,根據(jù)不同的演奏音樂(lè),此裝置可變換為電子鋼琴,虛擬架子鼓,電吉他等等任何你能想到的設(shè)計(jì)。 5、根據(jù)選用的Arduino模塊的不同,此設(shè)計(jì)的演奏方式也可以隨你的想法任意改變,若選用觸摸傳感器,便可實(shí)現(xiàn)觸摸演奏,若選用溫濕度傳感器,便可實(shí)現(xiàn)吹奏。 通過(guò)對(duì)此裝置進(jìn)行測(cè)試,他已實(shí)現(xiàn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 能源統(tǒng)計(jì)報(bào)表培訓(xùn)課件
- 抖音商戶直播樣品回收再利用登記制度
- 抖音商戶主播直播狀態(tài)穩(wěn)定管理制度
- 公交優(yōu)先與城市交通擁堵治理:2025年政策效果與優(yōu)化策略研究
- 公交優(yōu)先策略在2025年城市交通擁堵治理中的實(shí)踐探索報(bào)告
- 公眾參與在2025年環(huán)境影響評(píng)價(jià)中的實(shí)際操作案例報(bào)告
- 湖南汽車工程職業(yè)學(xué)院《醫(yī)學(xué)影像診斷學(xué)B》2023-2024學(xué)年第一學(xué)期期末試卷
- 陜西機(jī)電職業(yè)技術(shù)學(xué)院《社會(huì)調(diào)查方法》2023-2024學(xué)年第一學(xué)期期末試卷
- 遼寧省興城市紅崖子滿族鄉(xiāng)初級(jí)中學(xué)2025屆化學(xué)九年級(jí)第一學(xué)期期末調(diào)研模擬試題含解析
- 吉林建筑大學(xué)《導(dǎo)游俄語(yǔ)視聽(tīng)說(shuō)》2023-2024學(xué)年第一學(xué)期期末試卷
- 設(shè)備技改項(xiàng)目管理制度
- 浙江萬(wàn)泰公司安全設(shè)施試運(yùn)行總結(jié)報(bào)告
- 2025至2030中國(guó)天然水晶手鐲行業(yè)商業(yè)模式及發(fā)展前景與投資報(bào)告
- 應(yīng)急救援無(wú)人機(jī)系統(tǒng)應(yīng)用解析
- 復(fù)讀班課堂管理制度
- 關(guān)于教育減負(fù)的議論文
- 2025北師大版新教材七年級(jí)上冊(cè)英語(yǔ)單詞表(精校打印)
- 2025至2030年中國(guó)電弧故障斷路器(AFCI)行業(yè)市場(chǎng)競(jìng)爭(zhēng)態(tài)勢(shì)及產(chǎn)業(yè)前景研判報(bào)告
- 2025至2030年中國(guó)電力大數(shù)據(jù)行業(yè)市場(chǎng)動(dòng)態(tài)分析及發(fā)展前景研判報(bào)告
- 2025年安徽省中考英語(yǔ)試卷(含答案)
- 思想道德與法治2023年版電子版教材-1
評(píng)論
0/150
提交評(píng)論