本日課程預告:
1-1播放內建音效
1-2用NXT錄音
1-3電腦轉檔WAV→RSO
1-4NXT說中文
1-1播放內建音效
◎NXT播放音效
NXT內建許多聲音特校,我們來試播看看內建的音效。
My files →sound files
裡面有四個音效檔
woops
startup
Attention
click
點選可以直接播放
◎在NXT的程式中,內建了更多的音效,我們可以編寫簡單的一個程式去播放內建的音效。
◎硬體組裝部分:
先將觸碰感應器裝在1234port其中一個 |
進到NXT程式中編寫觸碰程式,先丟一個觸碰
然後丟一個聲音圖示出來
下面屬性欄位可以看到許多選項,首先是ATION這邊
預設選項是sound files代表當執行這個程式時,NXT會播放音效,右邊的音效又更多了,當點選時會試播
在tone這邊的選項時,右邊會出現鍵盤,如果想要NXT播放音樂,就可以在這邊設定。
以小蜜蜂來說,他的tone就是
5334221234555
依序輸入小蜜蜂試看看
多到已經放不下去,但是可以放想放的音樂很棒。
再加上無限迴圈,便可以變成一個播放器。
◎讓機器說話:
同樣的迴圈,我們選擇sound files,第一次看下去播放OK +good jobs第二次按下播放you are good
測試影片
◎1-2用NXT錄音
錄音可以使用winxp內建的錄音程式來錄WAV檔
電腦錄電腦音樂使用「立體聲混音」,可以打開音效圖示去看是否被勾靜音
將麥克風接上電腦紅色的孔 ,便可以開始錄音
我錄了一句歌聲,注意,先不要錄太長的音樂,因為NXT記憶體很小,不太可能播放很長的音樂,所以我先錄個五秒來作測試。
1-3電腦轉檔WAV→RSO
NXT並不認識WAV檔案,但是卻認識RSO檔,所以我們要將WAV轉檔成RSO
到http://bricxcc.sourceforge.net/utilities.html可以下載wav2rso這個程式
下載完之後解壓縮,如果沒有解ZIP的程式,可以去下載winzip、winRAR 。
解壓完得到一個wav2RSO的程式
執行這個程式
點選Directory選擇檔案,我錄的檔名是01.WAV
選擇convert開始轉檔
這時候跳出error,因為未選壓縮格式,注意,選擇ZOH當resample。
勾選後,轉檔成功!
在wav2rso資料夾裡面多了01.rso,因為跟NXT程式內建的RS相衝,所以我將檔名改成011.rso
這時候將檔案搬移至C:\Program Files\Lego Software\Lego MINDSTORMS Edu NXT\engine\Sounds,這個目錄放了許多RSO檔,程式會讀取這邊的檔案。
再回來看程式的地方。
在聲音檔這邊,出現了011這個檔案,
好,可以將音樂檔灌進去了,沒想到灌一下,卻出現錯誤訊息,仔細看一下說明,原來記憶體不夠了,out og memory。
可是NXT的記憶體到底怎麼看, 點選控制面版左上角,就可以開啟NXT狀態。
在一開始的communication這邊可以看到連線正常,然後右邊NXT DATA可以看到電量,還有Free memory顯示20.6KB,真的很少。
點選上面memory,可以看到記憶體使用量,發現一大塊藍色的sound檔,既然是聲音檔,當然可以隨便刪除了,點選下面DELETE將聲音刪掉。
先確認我錄的音樂容量49KB,所以只要記憶體超過49KB就OK
我打音樂全部刪光,共清出74.1KB,NXT的容量還真小,現在隨便的隨身碟都16G、32G了。
再播放一次成功,來欣賞影片。
1-4NXT說中文
很多小朋友問,為什麼NXT的錄音功能這麼陽春,因為NXT本來就不是拿來專門做多媒體播放的,NXT的聲音播放部分只是配件,就好像我們買一台電腦,多送喇叭當作配件,大家在意的是電腦的檔次,而不會在乎送的配件好壞。
這邊要講一個寫程式的觀念,很多NXT的程式其實程式部分很簡單,但是難在怎麼樣透過程式把想要的積木做出結合。
程式→簡單
積木組裝→簡單
積木組裝好之後,用程式讓積木可以依照指令做出互動的動作→難
◎實做練習:自己錄一句話,並讓NXT說出來。
沒有留言:
張貼留言