国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

讓micro:bit和音樂(lè)互動(dòng)起來(lái)

2018-09-08 11:15謝作如張敬云
中國(guó)信息技術(shù)教育 2018年16期
關(guān)鍵詞:管理器串口矩形

謝作如 張敬云

當(dāng)下火遍整個(gè)創(chuàng)客教育圈的莫過(guò)于micro:bit了。如圖1所示,micro:bit是一個(gè)很小的可編程的微型電腦,能夠使用makecode、Mixly、Python等編程語(yǔ)言設(shè)計(jì)智能作品。一直期望能夠用micro:bit來(lái)識(shí)別音樂(lè)節(jié)奏,可惜micro:bit的功能太弱沒(méi)辦法實(shí)現(xiàn),只能轉(zhuǎn)而希望借助于電腦的幫忙,即讓電腦識(shí)別音樂(lè)節(jié)奏,再將識(shí)別結(jié)果告訴micro:bit。這種做法其實(shí)就是在設(shè)計(jì)一款互動(dòng)媒體作品。

互動(dòng)媒體方面,最有名的編程軟件當(dāng)屬Processing,Processing的Minim庫(kù)中有個(gè)范例程序——窗口的矩形會(huì)隨著音樂(lè)的節(jié)拍而跳動(dòng),效果圖如2所示。我們準(zhǔn)備借助這個(gè)庫(kù)來(lái)識(shí)別音樂(lè),然后實(shí)現(xiàn)micro:bit和音樂(lè)進(jìn)行互動(dòng)。比如,按下micro:bit的B鍵,音樂(lè)播放,按下micro:bit的A鍵,暫停播放,當(dāng)音樂(lè)中有節(jié)拍時(shí),則發(fā)送信息給micro:bit讓LED點(diǎn)陣屏快速閃爍心型圖像。

互動(dòng)作品的原理分析

窗口的矩形隨著音樂(lè)的節(jié)拍而跳動(dòng)的效果是由Processing的Minim庫(kù)中的“Frequency EnergyBearDetection”范例程序?qū)崿F(xiàn)的,此程序是用頻率能量模式對(duì)音樂(lè)中的節(jié)拍進(jìn)行監(jiān)測(cè),使用快速傅立葉變換(FFT)算法來(lái)獲得頻譜,然后將頻譜劃分為平均頻帶,并且獨(dú)立地監(jiān)測(cè)在頻譜的不同部分發(fā)出的聲音(如底鼓、軍鼓和小擦)。簡(jiǎn)單來(lái)說(shuō),此范例程序是對(duì)音樂(lè)的頻率進(jìn)行監(jiān)測(cè),而Processing窗口中矩形的出現(xiàn)以及位置便是由實(shí)時(shí)監(jiān)測(cè)到的頻率決定的。

那么,只要在這個(gè)范例程序中增加功能,當(dāng)特定頻率出現(xiàn)的時(shí)候,向micro:bit發(fā)送信息,就可以達(dá)到音樂(lè)互動(dòng)的目的??梢?jiàn),完成這個(gè)互動(dòng)作品的關(guān)鍵在于讓micro:bit和Processing之間相互通信。

Processing支持網(wǎng)絡(luò)通信,通過(guò)WIFI進(jìn)行互動(dòng)本來(lái)是很好的方式,只是micro:bit自身不帶WIFI功能,外加無(wú)線設(shè)備又比較麻煩。幸好Processing和micro:bit都支持串口通信,二者的互動(dòng)只能通過(guò)串口來(lái)實(shí)現(xiàn)。如果需要無(wú)線互動(dòng),則可以用一塊micro:bit作為中轉(zhuǎn)設(shè)備,多塊micro:bit作為終端同時(shí)顯示效果。

為了讓互動(dòng)更加有意思一些,我們?cè)趍icro:bit中加上了音樂(lè)控制功能。這個(gè)互動(dòng)媒體作品的運(yùn)行流程如圖3所示。

開(kāi)發(fā)環(huán)境準(zhǔn)備

1.安裝串口驅(qū)動(dòng)

micro:bit在windows中需要另外安裝Mbed串口驅(qū)動(dòng)。而在Linux和Mac OS上無(wú)需安裝驅(qū)動(dòng)。下面以Win7為例介紹Mbed串口驅(qū)動(dòng)的安裝。首先連接micro:bit到計(jì)算機(jī),然后雙擊Mbed串口驅(qū)動(dòng)進(jìn)行安裝,安裝完成后,便可通過(guò)設(shè)備管理器查看micro:bit的端口號(hào)了,如圖4所示的COM1是筆者使用的計(jì)算機(jī)中micro:bit的端口號(hào)。端口號(hào)與計(jì)算機(jī)連接過(guò)的設(shè)備有關(guān),不同的設(shè)備端口號(hào)不同。

2.安裝Minim庫(kù)

本案例中,Processing要用到Minim庫(kù)。3.3.6版本已內(nèi)置了Minim庫(kù),我們可以從庫(kù)管理器中安裝它。通過(guò)“速寫(xiě)本”—“引用庫(kù)文件”—“添加庫(kù)文件”打開(kāi)管理器的Libraries選項(xiàng)卡,在Filter框中鍵入Minim,從列表中選擇庫(kù),然后單擊Install(如圖5)。

安裝完成后,便可通過(guò)“文件”—“范例程序”看到添加的Minim庫(kù)(如圖6)。

代碼編寫(xiě)

1.修改Processign范例程序

范例中用Minim庫(kù)中的BeatDetect實(shí)時(shí)讀取Buffer中的數(shù)據(jù)并采集音頻頻率識(shí)別Kick(底鼓)、Snare(軍鼓)和Hi-Hat(小擦)三種鼓點(diǎn)。本案例的音樂(lè)互動(dòng)作品便是在此范例程序的基礎(chǔ)上完成的。將代碼另存后開(kāi)始修改范例程序,主要增加了定義串口語(yǔ)句、接收信息語(yǔ)句以及發(fā)送信息語(yǔ)句(加下畫(huà)線部分),以下是修改過(guò)的Processing代碼(限于篇幅,僅僅提供部分代碼,如果有需要請(qǐng)發(fā)郵件索取)。

Processing代碼說(shuō)明:運(yùn)行程序,開(kāi)始播放音樂(lè),并且Processing窗口中的矩形會(huì)隨著節(jié)拍的變化而變化,窗口上的文字KICK、SNARE、HAT也會(huì)隨著各自的鼓點(diǎn)大小發(fā)生變化。當(dāng)檢測(cè)到Kick時(shí),則向micro:bit發(fā)送信息K;當(dāng)接收到信息為48(即數(shù)字0)時(shí),則停止播放音樂(lè);當(dāng)接收到信息為49(即數(shù)字1)時(shí),則繼續(xù)播放音樂(lè)(如下頁(yè)表1)。

2.編寫(xiě)micro:bit代碼

當(dāng)micro:bit接收到信息K時(shí),則LED顯示圖像;當(dāng)按下A鍵時(shí),則向Processing發(fā)送信息0;當(dāng)按下B鍵時(shí),則向Processing發(fā)送信息1。下頁(yè)表2為micro:bit代碼。

互動(dòng)效果測(cè)試

運(yùn)行程序,其測(cè)試效果如下頁(yè)圖8所示。隨著音樂(lè)的律動(dòng),電腦的畫(huà)面和micro:bit的LED屏幕也跟著閃爍,感覺(jué)很酷。因?yàn)槭诸^的micro:bit不夠,筆者沒(méi)有測(cè)試多塊micro:bit一起無(wú)線互動(dòng)的效果,但理論上是沒(méi)有問(wèn)題的。實(shí)現(xiàn)無(wú)線也很簡(jiǎn)單,只要在代碼中加一句發(fā)送,其他的板子接收并且判斷這一信息即可。

結(jié)語(yǔ)

和音樂(lè)互動(dòng)的方式很多,這個(gè)互動(dòng)媒體作品還有很多地方可以改良:①micro:bit的A、B鍵控制背景切換;②micro:bit的LED陣列屏朝上控制音樂(lè)播放,LED陣列屏朝下暫停播放;③用micro:bit的A鍵控制下一首音樂(lè)的播放,用micro:bit的B鍵控制上一首音樂(lè)的播放等。Processing是一款很不錯(cuò)的互動(dòng)編程軟件,很多看起來(lái)很難的問(wèn)題,如音樂(lè)識(shí)別、視頻識(shí)別、語(yǔ)音識(shí)別等,都可以借助各種擴(kuò)展庫(kù)來(lái)完成。讓學(xué)生們玩玩有趣的新技術(shù)從而愛(ài)上技術(shù),這正是創(chuàng)客教育的核心工作之一。

猜你喜歡
管理器串口矩形
啟動(dòng)Windows11任務(wù)管理器的幾種方法
矩形面積的特殊求法
應(yīng)急狀態(tài)啟動(dòng)磁盤(pán)管理器
從矩形內(nèi)一點(diǎn)說(shuō)起
MCS—51單片機(jī)中的多串口通訊技術(shù)的應(yīng)用
用好Windows 10任務(wù)管理器
巧用矩形一性質(zhì),妙解一類(lèi)題
全國(guó)計(jì)算機(jī)等級(jí)考試機(jī)房準(zhǔn)備工作探討
微機(jī)串口的測(cè)試診斷
在Win 7下利用憑據(jù)管理器提高訪問(wèn)速度等
张家川| 阿拉尔市| 界首市| 松原市| 玉田县| 双桥区| 崇仁县| 富平县| 连平县| 宕昌县| 页游| 讷河市| 全州县| 增城市| 禄丰县| 铜川市| 肃南| 乌鲁木齐市| 通城县| 法库县| 禄丰县| 南城县| 博客| 蓝山县| 武陟县| 宝应县| 元阳县| 新野县| 且末县| 鲁山县| 玉树县| 通河县| 浏阳市| 拉萨市| 石柱| 通辽市| 陆良县| 彰化市| 清涧县| 镇沅| 博湖县|