資料介紹
描述
基于舊電子設備重新構想 MIDI 設備
我討厭扔掉仍然可以工作但不再受現代電器支持的舊電子產品。在找到一個我不再使用的舊 PS/2 端口滾珠電腦鼠標后,我產生了這個項目的想法。我是業余時間的音樂家,目前正在與我的金屬樂隊HELL SHEEP一起錄制 EP 。我正在使用 MIDI 控制器在專業工具上為我們的軌道創建合成器部分。許多人使用 MIDI 鍵盤在計算機上編寫 MIDI 部分。我不是鋼琴家,所以我一直在嘗試不同的 MIDI 編寫方法,包括使用國際象棋游戲和元胞自動機。試圖想出一種重新使用舊電腦鼠標的方法,我突然想到它可以用 Arduino 重新用作一個漂亮的 MIDI 控制器。
(對于那些不知道 MIDI 是什么的人,請觀看 Collin's Lab 的這段精彩視頻。)
Arduino MIDI 電腦鼠標控制器
我決定控制器將利用我擁有的舊電腦鼠標的所有功能。這意味著將單獨的 MIDI 命令映射到左鍵單擊、右鍵單擊、鼠標滾輪單擊、鼠標滾輪滾動以及 X 和 Y 軸上的鼠標移動。
我決定將 midi 音高映射到 X 軸位置,將 midi 音量(稱為“速度”)映射到 Y 軸位置。鼠標滾輪的位置,將決定一個連續控制器的值。在默認設置中,這是 CC1 - 調制輪值。
該設備的操作基于兩種模式,可以通過單擊鼠標滾輪在兩種模式之間切換。在Glissando模式下,設備一次只能播放一個 MIDI 音符。鼠標左鍵或右鍵單擊映射到同一個音符。向下單擊時移動鼠標會導致音符之間的無縫移動。在間隔模式下,鼠標左鍵和右鍵單擊映射到不同的音符,因此可以通過首先單擊一個鼠標按鈕,然后移動鼠標的 X 軸位置,然后單擊另一個鼠標按鈕來播放間隔。
用戶界面
我想為控制器提供一個直觀且完整的用戶界面,這樣用戶就不必依賴計算機顯示器來使用該設備。這意味著控制器可以與任何能夠通過 USB 讀取 MIDI 的設備一起使用。為此,我使用了 LED 雙色 8 * 8 矩陣和 128 * 64 單色 I2C 顯示器。
LED 矩陣提供鼠標 X 和 Y 軸位置的表示。X 軸上的燈光圖案基于 C 大調的 1 個八度音階。模式如下圖所示。它將在中音 C 上方從 -5 到 +4 個八度重復。
與 X 軸不同,Y 軸不“循環”,因此 127 個可能的音量值映射到矩陣上的 8 個位置。下圖展示了這一點:
在 Glissando 模式下,矩陣在按下音符之前呈綠色亮起以顯示鼠標的位置,在按下音符時呈紅色亮起。在間隔模式下,矩陣在按下鼠標左鍵的點呈紅色亮起,在按下鼠標右鍵的點呈橙色亮起,在鼠標的當前位置呈綠色亮起。
除了 LED 矩陣,還有一個 128*64 的 OLED 單色顯示屏,可以顯示當前的音符和音量,以及鼠標滾輪的位置和操作模式。該顯示的注釋圖像如下所示。
如何組裝設備
如下面的面包板布局圖所示,將您的組件連接到面包板上。使用 Arduino IDE 上的庫管理器安裝以下庫:
- MIDIUSB(用于通過 USB 發送 MIDI)
- Adafruit_GFX(用于 OLED 顯示器)
- Adafruit_SSD1306(與 OLED 顯示屏通信)
從 GitHub 安裝以下庫以與 PS/2 鼠標適配器通信。ps2鼠標。
從 GitHub 存儲庫下載代碼并將其上傳到您的 Arduino micro。
用鼠標制作音樂
連接電路并上傳代碼后,連接 ps/2 滾珠鼠標并檢查 UI 是否正常工作。如果是,則該設備現在已準備好用作 MIDI 控制器。如果您之前從未使用過 MIDI 控制器在您的 PC 上制作音樂,我建議您按照MIDI 設備文檔中的Windows 上的 Midi 聲音生成說明進行操作。
如果您以前使用過 MIDI,則該設備可以像任何其他 MIDI 控制器一樣使用。在下圖中,我展示了如何將設備與 Pro Tools 12 一起使用。
需要注意的一些事項:MIDI 通道固定在通道 1。如果要更改此設置,則必須更改代碼中的midiChannel常量。同樣,鼠標滾輪映射到 CC 1,這也可以在代碼中更改。
最后,如果您對代碼進行一些輕微的修改,您可以嘗試更改鼠標的靈敏度,或者 X 和 Y 位置或鼠標滾輪對應的 MIDI 參數。如果你做了一些修補并想出了一些很酷的東西,請在評論中分享!
致謝
這個項目得到了PS/2 鼠標庫和USBMIDI庫的極大幫助。在 YouTube 視頻中,我使用chipsounds 軟件合成器通過控制器創建音樂。
- Arduino:連續MIDI控制器/鍵盤
- 帶Ableton的Arduino MIDI控制器
- 基于Arduino Micro的鍵盤和鼠標控制庫
- Arduino 101藍牙MIDI開源分享
- Arduino MIDI控制器開源分享
- 帶有FL Studio的Arduino LED MIDI控制器
- 基于Arduino的MIDI音序器Cthulhinho 0次下載
- 基于Arduino UNO構建小型midi解碼器
- Cantor風琴轉換為VPO的MIDI控制器
- 兆易創新AN014 GD32微控制器在Arduino中的應用
- MIDIFART迷你袖珍MIDI控制器
- 基于Arduino的控制器
- 使用Arduino為微控制器打造能用舵機控制的游戲平臺 14次下載
- 一種復音MIDI鍵盤控制器的設計 35次下載
- 鼠標控制器參考設計
- PID控制器與PWM控制器的區別 3402次閱讀
- 將任何視頻游戲控制器變成USB鼠標 702次閱讀
- 將任何視頻游戲控制器變成USB鼠標 794次閱讀
- 如何使用Arduino Leonardo和MPU6050制作一個有線的手勢控制器 2966次閱讀
- dfrobot低功耗藍牙控制器簡介 1592次閱讀
- dfrobotRomeo BLE多合一控制器簡介 2557次閱讀
- dfrobotuHex微型低功耗控制器簡介 1515次閱讀
- dfrobotDFRduino Pro Mini控制器簡介 2200次閱讀
- dfrobotDFRduino Pro MiniV1.3控制器簡介 1398次閱讀
- dfrobotArduino Leonardo 控制器介紹 2425次閱讀
- dfrobotArduino兼容控制器介紹 1411次閱讀
- dfrobotCheapduino控制器介紹 1496次閱讀
- dfrobotDFRduino Nano 3.0控制器介紹 2753次閱讀
- dfrobotRomeo 三合一Arduino兼容控制器介紹 2580次閱讀
- arduino連接顯示屏方法詳解 4.7w次閱讀
下載排行
本周
- 1A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 2PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 3PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 4dsPIC33EDV64MC205電機控制開發板用戶指南
- 5.78MB | 8次下載 | 免費
- 5STC15系列常用寄存器匯總免費下載
- 1.60 MB | 7次下載 | 5 積分
- 6模擬電路仿真實現
- 2.94MB | 4次下載 | 免費
- 7PCB圖繪制實例操作
- 2.92MB | 2次下載 | 免費
- 8零死角玩轉STM32F103—指南者
- 26.78 MB | 1次下載 | 1 積分
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 141次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 137次下載 | 免費
- 4A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 5PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 6如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 7PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統EMC試驗方法及要求
- 1.97 MB | 8次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多