<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 計算機接口使19世紀管風(fēng)琴自行彈奏

計算機接口使19世紀管風(fēng)琴自行彈奏

作者: 時(shí)間:2013-04-07 來(lái)源:網(wǎng)絡(luò ) 收藏


const midi_state_table_entry_t MIDI_STATE_TABLE[] =

{

{INHIBITED,PANIC,

MidiSM_Panic,INHIBITED},

{ANY_STATE,PANIC,

MidiSM_Panic,INIT},

{ANY_STATE,INHIBIT,

MidiSM_DoNothing,INHIBITED},

{ANY_STATE,OTHER_STATUS_RECEIVED,MidiSM_ClearMessage,INIT},

{INIT,NOTE_ON_OR_OFF_RECEIVED,MidiSM_StoreStatusByte,NOTE_ON_OR_OFF},

{INIT,DATA_RECEIVED,

MidiSM_DoNothing,INIT},

{NOTE_ON_OR_OFF,NOTE_ON_OR_OFF_RECEIVED, MidiSM_StoreStatusByte,NOTE_ON_OR_OFF},

{NOTE_ON_OR_OFF,DATA_RECEIVED, MidiSM_StoreNoteNumber,NOTE_ON_OR_OFF_NUMBER},

{NOTE_ON_OR_OFF_NUMBER,NOTE_ON_OR_OFF_RECEIVED, MidiSM_StoreStatusByte, NOTE_ON_OR_OFF},

{NOTE_ON_OR_OFF_NUMBER,DATA_RECEIVED, MidiSM_NoteOnOrOffComplete,NOTE_ON_OR_OFF},

{INHIBITED,ENABLE,

MidiSM_DoNothing,INIT},

{LAST_STATE, LAST_EVENT, 0,LAST_STATE},

};

我們成功演奏了一些非常復雜、快節奏的音樂(lè ),從古典到搖滾;電磁鐵和驅動(dòng)器在速度方面并沒(méi)有表現出太大的局限性。

StoreStatusByte,NOTE_ON_OR_OFF},
{NOTE_ON_OR_OFF,DATA_RECEIVED,
MidiSM_StoreNoteNumber,NOTE_ON_OR_OFF_NUMBER},
{NOTE_ON_OR_OFF_NUMBER,
NOTE_ON_OR_OFF_RECEIVED,MidiSM_StoreStatusByte, NOTE_ON_OR_OFF},
{NOTE_ON_OR_OFF_NUMBER,
DATA_RECEIVED,MidiSM
_NoteOnOrOffComplete,
NOTE_ON_OR_OFF},
{INHIBITED,ENABLE,
MidiSM_DoNothing,INIT},
{LAST_STATE, LAST_EVENT, 0,
LAST_STATE},
};

在該結構體中的第一個(gè)entry表示當前狀態(tài);第二個(gè)entry表示事件到達;第三個(gè)entry表示處理該事件需要使用狀態(tài)轉換功能;第四個(gè)entry表示下一狀態(tài)。

狀態(tài)機業(yè)務(wù)端采用的代碼如下:

XStatus MidiSM_
DoStateTransition
(midi_state_machine_t *pInstance,
u8 event)
{
const midi_state_table_
entry_t *pTable = pInstance-
>pStateTable;
// Search for a match in the
state table
do {
if ((event == pTable-
>received_event)
((pInstance-
>current_state == pTable-
>state)
|| (pTable->state ==
ANY_STATE)))

{
(*pTable-
>transition_function)((v
oid *)pInstance);
pInstance->current_state
= pTable->next_state;
return XST_
SUCCESS;
}
pTable++;
} while (pTable->state !=
LAST_STATE);
// Aaargh, something bad happened - should never get here
XASSERT_NONVOID_ALWAYS();
}

事件循環(huán)提供的事件是對這種功能的論證,根據當前的狀態(tài)和事件,采取某種措施和改變系統狀態(tài)。事件的類(lèi)型包括字節到達MIDI接口,字符到達控制端口和按下重啟按鈕(panic button)。所有經(jīng)驗豐富的MIDI玩家都知道重啟按鈕是保護耳朵和電源必備的特性——它可無(wú)條件地關(guān)閉所有電磁鐵,使系統恢復到已知安全狀態(tài)。

演奏WaldflOe

安裝了這種應用精致的控制器, 機器人手可演奏從狂想曲到搖滾的所有風(fēng)格音樂(lè )。隱藏在琴鍵底部的是電磁鐵木制背板——每塊板上安裝30個(gè)或更多的電磁鐵,同時(shí)還安裝了一些回收利用的罐狀電容器,為電磁鐵提供電能。我們將整個(gè)驅動(dòng)器組件與連接。在圖的上方,您可看到Spartan-3E入門(mén)套件開(kāi)發(fā)板和其右側的接口萬(wàn)用板;我們利用回收利用的CAT5電纜將這些裝置與驅動(dòng)器組件連接。

用文字很難說(shuō)明的運行情況,因此,我建議您點(diǎn)擊本文結尾的互聯(lián)網(wǎng)鏈接地址,收看我們上傳的視頻。當機器人管風(fēng)琴手演奏《月光奏鳴曲》或《Jump》時(shí),您將會(huì )聽(tīng)到電磁鐵發(fā)出的咔嗒聲——這是電磁鐵鐵芯降至線(xiàn)圈底部時(shí)發(fā)出的聲音,不是杠桿敲擊琴鍵的聲音。不過(guò),您若是坐在大廳里,而不是站在講道臺上,電磁鐵發(fā)出的聲音就會(huì )小很多。您所能聽(tīng)到的只是管風(fēng)琴流淌出的優(yōu)美音樂(lè )。

我們利用這套系統成功演奏了一些非常復雜、快節奏的音樂(lè ),從古典到搖滾;電磁鐵和驅動(dòng)器在速度方面并沒(méi)有表現出太大的局限性。即使在彈奏要求最苛刻的曲目時(shí),電磁鐵電源在15V電壓條件下通常電流不超過(guò)4A。即使我們稍微過(guò)度使用電磁鐵,電磁鐵線(xiàn)圈也沒(méi)有出現明顯升溫的情況??偠灾?,我們對這個(gè)系統非常滿(mǎn)意,同時(shí)為參與開(kāi)發(fā)這套系統深感自豪。

WaldflOe下一步是什么?噢,我們已經(jīng)非正式地邀請了一些音樂(lè )家為這種新樂(lè )器創(chuàng )作曲目(尤其是對擁有53根手指、從不感到疲倦的演奏者感興趣的作曲家),我們還考慮舉辦一個(gè)獨奏會(huì )。另一種可能是實(shí)現管風(fēng)琴音栓運作的機械化,便于我們在電子演奏過(guò)程中改變音量和音色。我們還在考慮采取某些方法驅動(dòng)管風(fēng)琴的低音踏板,使最長(cháng)的低音管發(fā)音。最后也是最有可能完成的是,我們正打算在互聯(lián)網(wǎng)上推出一項服務(wù),使公眾能夠把他們的MIDI文件上傳至這個(gè)系統,然后再聆聽(tīng)管風(fēng)琴的實(shí)時(shí)演奏。

然后,我們會(huì )再次回到酒吧。

如欲觀(guān)看和收聽(tīng)WaldflOe的演奏,敬請登錄:http://dorkbot.noodlefactory.co.uk/ wiki/WaldFlote。

上一頁(yè) 1 2 3 下一頁(yè)

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>