999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

彈鋼琴擬人機械手控制軟件設計

2015-05-30 17:27:33王舒揚孫江波蔡赟柳虹亮
中小企業管理與科技·上旬刊 2015年11期
關鍵詞:仿真

王舒揚 孫江波 蔡赟 柳虹亮

摘 要:在Visual Studio開發環境下,使用C#語言設計了彈鋼琴擬人機械手控制軟件,軟件由樂譜管理,音頻播放,仿真操作界面以及串口通信部分組成。軟件設計了算法對輸入的樂譜數據進行識別與分析,將樂譜的彈奏任務智能分配給機械手。充分利用C#語言可視化編程的優點,將機械手運動的過程進行了可視化仿真。

關鍵詞:擬人;機械手;仿真;軟件設計

0 引言

隨著科學不斷進步,新型機械手在關節自由度、靈活性、定位精度等方面有了很大的提高,加強了音樂機器人物理演奏能力。現有的控制系統大致上分為兩類,一是采用記錄并回放的方式,將演奏過程中按鍵的輕重等因素記錄為midi音源,并通過將其轉化為波形脈沖信號驅動機器人達到演奏的目的[1]。這種方式應用于早期的鋼琴自動演奏技術上,其硬件不具有擬人化的特征,例如日本早稻田大學曾經研制過鋼琴演奏機器人,共有88臺擊鍵器和兩臺踏板驅動裝置。二是采用硬編碼的方式,即將完整曲目進行手工分析、每個曲譜分配給機械手相應的部位(例如某一根手指)計算運動軌跡然后編碼。這種方式雖然在硬件上具有了擬人化的特性,但是任意兩個不同結構的機械手之間即使是同一曲目的編碼也各不相同,無法實現歌曲編碼的復用。同時這兩種類控制系統對環境、樂器規格適應性不強,無法對未知曲目進行自動分析并演奏。

編寫符合軟件工程理念,能對未知曲譜擬進行自動分析的擬人機械手彈鋼琴控制軟件能提高機器人演奏的自動程度和減少系統開發的開銷,在音樂機器人演奏方面的應用前景十分廣闊。

1 彈鋼琴擬人機械手硬件結構

機械手選用圓柱的手指外形,使得手指的強度增加,同時最大化的接近人手的比例,可以使機械手更加的靈活[2-4]。手指的連接處采用平滑的邊緣設計,使得手指節在復位時限位在手指伸直的中心軸線上。

采用氣動作為動力源,氣動作為驅動具有體積小、結構簡單等優點[5]。氣缸通過閘線進行傳動,在機械手的上指節處連接,受力點在上指節并以連接銷為軸進行運動,使得機械手擁有人手骨骼與肌肉一樣的工作方式。整個氣動回路連接氣缸固定在固定板上,在固定板上與閘線定位塊上的閘線穿孔進行對心固定。整體裝配圖如圖1所示。

2 軟件總體設計

軟件使用C#語言編寫,總體分為四大部分,樂譜管理,音頻播放,操作界面以及串口通信,其中樂譜管理是軟件的核心,包括對樂譜的輸入與輸出,將樂譜處理成機械手可以識別的數據格式,并將彈奏過程以可視化的形式在軟件界面中仿真出來[6]。軟件總體框圖如圖2所示。

3 樂譜處理

使用樂譜的最終目的是在軟件可視化仿真時播放對應的音頻,所以必須讓計算機的發聲設備能夠理解軟件發送的信號,因此采用了MIDI(Musical Instrument Digital Interface)格式傳輸數據[7]。

3.1 軟件數據結構設計

整個軟件中使用的數據都是整數類型,且樂譜的播放是有序的,所以選擇數組作為數據結構。具體的數據需求及處理如下:

3.1.1 當前系統正在播放的音符

正在播放的音符使用MIDI音符編碼,但由于用戶輸入的樂譜格式和輸出的MIDI音符編碼方式不同,所以需要在內部進行轉換。鋼琴上的白色琴鍵依次對應簡譜中的1、2、3……,但在MIDI中對應的編碼卻不是連續的,因為穿插在白色琴鍵中的黑色琴鍵也占用了MIDI中的發音序列。考慮到琴鍵的總數是有限的,所以在軟件中直接使用哈希表的形式將兩者的編碼建立映射。從中央C開始白色琴鍵和其間的黑色琴鍵的MIDI編碼與用戶輸入編碼的部分映射語句如下:

Hashtable soundToMidiNote = new Hashtable();

soundToMidiNote.Add("1",60);

soundToMidiNote.Add("#1", 61);

soundToMidiNote.Add("2",62);

3.1.2 當前音符在整首樂譜中所處的時間位置

第三方組件C# MIDI Toolkit提供了內部時鐘用以計時,并將其轉化成整數形式表示的時間位置,當內部時鐘與音符位置相同時產生一個發音事件。

3.1.3 當前音符使用左手還是右手彈奏

3.1.4 當前音符使用哪個手指彈奏

3.1.5 機械手需要移動的距離

軟件播放音符時,仿真界面下方的機械手也應該隨著音符的改變而變化自身的位置,所以將音符和中央C之間的距離進行映射。以中央C為距離0,一個白色琴鍵的寬度為單位1,黑色琴鍵的寬度為0.5,從中央C開始連續7個白色琴鍵和其間的黑色琴鍵的距離映射代碼如下:

Hashtable soundToMidiDistance = new Hashtable();

soundToMidiNote.Add("1",0); soundToMidiNote.Add("#1", 0.5);

soundToMidiNote.Add("2",1);

因為以上元素都用數字來表示,是相同的數據類型,并且每一個音符都包含上述元素信息且音符之間具有順序關系,所以采用二維數組作為軟件的數據結構。數組的定義及初始化的代碼如下:

int[,] finAnalyse = new int[originaSound.Length, 5];

for (int i = 0; i < originaSound.Length; i++)

{ finAnalyse[i,0] = midiNoteSound[i];//音符

finAnalyse[i, 1] = 0;//時間(節拍計算)

finAnalyse[i, 2] = 0;//使用哪只手彈奏

finAnalyse[i, 3] = 0;//使用哪個手指彈奏

finAnalyse[i, 4] = 0;//機械手移動距離 }

3.2 軟件算法設計

比較簡單的算法是將琴鍵從正中分為兩部分,兩只機械手分別管轄這兩部分,依次循環數組中的曲譜,首先判斷曲譜屬于哪一大部分,在計算當前機械手中哪個手指與當前曲譜位置最近,驅動機械手去彈奏。但這樣做會使機械手左右最邊上的手指使用頻繁,而樂譜不恰好落入當前手掌范圍內則很少用到處于中間的手指,并且限于機械手的性能,頻繁的位移會影響彈奏的流暢性。所以應當盡量減少移動次數,也就是應該在一次機械手移動的過程中盡可能的多彈奏音符。為了達到這個目的,為每個機械手定義一個存放所彈奏樂譜的序列,當序列中最大音符與最小音符之差超出機械手能控制的彈奏范圍時,即意味著機械手需要進行移動。循環處理所有音符,將每個音符放入距離較近的機械手的對應樂譜序列中,每當達到需要機械手進行移動的條件時,確定下來機械手的位移距離,將樂譜序列清空,并將移動后的機械手位置記錄下來。軟件流程圖如圖3所示:

4 軟件操作及仿真界面

整個軟件的界面分為數據的輸入及顯示區域,操作區域以及機械手演奏的仿真三個部分。當樂譜播放時,仿真界面會模擬機械手彈奏的過程,移動機械手的位置,以深色顯示出曲譜對應的琴鍵及當前動作的機械手的手指,同時將彈奏的樂譜播放出來。軟件界面如圖4所示。

5 結論

使用C#語言編寫了彈鋼琴擬人機械手控制軟件,軟件定義了樂譜的輸入與輸出格式,設計了算法對輸入的樂譜數據進行識別與分析,將樂譜的彈奏任務智能分配給機械手。并將機械手運動的過程進行了可視化仿真。實際應用結果表明軟件操作界面友好靈活,仿真過程清晰易懂,達到了設計要求。

參考文獻:

[1]蔡自興.機器人學[M].北京:清華大學出版社,2000.

[2]張邦成,譚海東,刑天羿,等.微小型救援機械手的輕量化設計[J].制造業自動化,2014(15):129-132.

[3]龐在祥,宮麗男,姜大偉,等.基于CATIA/ADAMS仿人靈巧手建模與動力學仿真[J].長春工業大學學報:自然科學版,2013,34(3):264-267.

[4]周慧明.關節型機械手的結構創新設計[J].煤礦機械,2007,28(10):17-19.

[5]董立立,趙益萍,梁林泉,等.機械優化設計理論方法研究綜述[J].機床與液壓,2010(8):114-119.

[6]張邦成,張玉玲,王占禮,等.汽車離合器從動盤拖拽分離測試機軟件設計[J].機械設計與制造,2011(9):203-205.

[7]馮國杰,王吉軍.基于分層次聚類的MIDI音樂主旋律提取方法[J].計算機工程與應用,2009,45(26):233-235.

基金項目:

吉林省教育廳“十二五”科學技術研究項目(2012110)。

作者簡介:

王舒揚(1983-),男,漢族,吉林長春人,長春工業大學講師,碩士,主要從事軟件應用與虛擬現實方向研究。

猜你喜歡
仿真
Proteus仿真軟件在單片機原理及應用課程教學中的應用
工業機器人模擬仿真技術在職業教育中的應用淺析
一種幫助幼兒車內脫險應急裝置的仿真分析
科技資訊(2016年18期)2016-11-15 20:09:22
論虛擬仿真實訓系統在口腔實驗教學中的應用
科技資訊(2016年18期)2016-11-15 07:55:28
基于機電設備電氣控制線路排故的仿真系統設計
價值工程(2016年29期)2016-11-14 02:01:16
航空電氣系統中故障電弧研究
Buck開關變換器的基本參數設計及仿真分析
試析PLC控制下的自動化立體倉庫仿真情況分析
基于MADYMO的航空座椅約束系統優化設計
科技視界(2016年18期)2016-11-03 21:44:44
中國體態假人模型與FAA Hybrid Ⅲ 型假人模型沖擊差異性分析
科技視界(2016年18期)2016-11-03 20:31:49
主站蜘蛛池模板: 女人18毛片一级毛片在线 | jizz国产视频| 欧美成人精品一级在线观看| 成人在线欧美| 99热线精品大全在线观看| 亚洲中文字幕国产av| 国产精品三区四区| 露脸真实国语乱在线观看| 免费看a毛片| 色婷婷在线播放| 国产黄在线免费观看| 日韩欧美中文| 亚洲色图狠狠干| 成人亚洲天堂| 国产一区二区三区精品久久呦| 欧美国产日韩一区二区三区精品影视| 亚洲最大看欧美片网站地址| AV熟女乱| 另类综合视频| 成人午夜天| 在线永久免费观看的毛片| 91免费国产高清观看| 国产综合另类小说色区色噜噜| 国产麻豆永久视频| 国产激情无码一区二区免费| 92午夜福利影院一区二区三区| 在线观看国产精品第一区免费| 欧洲极品无码一区二区三区| 欧美啪啪一区| 中文字幕 日韩 欧美| 欧美五月婷婷| 国产亚洲视频免费播放| 91日本在线观看亚洲精品| 欧美区一区| 五月天天天色| 国产成人三级| 精品福利国产| 国产精品永久在线| 免费 国产 无码久久久| 色呦呦手机在线精品| 国产永久免费视频m3u8| 国产91全国探花系列在线播放| 日韩欧美国产中文| 亚洲黄色成人| 2022精品国偷自产免费观看| 99精品视频播放| 91精品久久久无码中文字幕vr| 99热这里只有免费国产精品 | 国产成年女人特黄特色毛片免| 欧美亚洲一二三区| 中文字幕在线观| 丁香六月综合网| 男人天堂伊人网| 国产丝袜第一页| 久久99国产综合精品1| 在线国产综合一区二区三区| AV老司机AV天堂| 亚洲一区国色天香| 亚洲女人在线| 国产簧片免费在线播放| 欧美色亚洲| 亚洲成a人片在线观看88| 国产女同自拍视频| 伊人婷婷色香五月综合缴缴情| 在线不卡免费视频| 久久亚洲精少妇毛片午夜无码| 爽爽影院十八禁在线观看| 国产成人1024精品下载| 亚洲日本中文字幕乱码中文| 国产精品三级专区| 亚洲综合婷婷激情| 国产AV无码专区亚洲A∨毛片| 久久青青草原亚洲av无码| 亚洲精品无码av中文字幕| 久久黄色毛片| 色一情一乱一伦一区二区三区小说| 日本道中文字幕久久一区| 97视频免费看| 日本欧美午夜| 国产日韩丝袜一二三区| 91po国产在线精品免费观看| 亚洲午夜天堂|