2015年6月29日 星期一

Creating a wireless MIDI connection between computers

since: 2015/06/29
update: 2015/06/29

reference:
1. Mac OS:Creating a wireless MIDI connection between computers
2. How to send Midi via Wifi on Mac - Tutorial on Vimeo

A. 功能定義:
     1. Master (主控)端:
         利用 Processing 程式, 將 MIDI 訊號藉由( 程式 / Ableton Live) 輸出給 Slave 端.

     2. Slave (隨從)端:
         輸入(接受) Master 端送來的 MIDI 訊號, 播放對應的音軌效果.

-----------------------------------------------------------------------------------------------

B. MIDI 網路設定:
    1. Master 端:
        a. 工具程式 > 音訊 MIDI 設定:

        b. 視窗 > 顯示 MIDI 錄音室
             > 雙擊 "網路"

        c. > 在左上方,  "我的區段", 按下 "+" 新增一個區段.
            > 於右上方, 勾選 "已啟用", 並將 "本機名稱" 與 "Bonjour 名稱" 設為:
                Wireless MIDI Master

            > 在左下方, 將 "可能連接本機的有": 設為 "所有參與者"

    2. Slave 端:
        類似 Master 的方式:
        > 在左上方,  "我的區段", 按下 "+" 新增一個區段.
        > 於右上方, 勾選 "已啟用", 並將 "本機名稱" 與 "Bonjour 名稱" 設為:
           Wireless MIDI Slave

        > 在左下方, 將 "可能連接本機的有": 設為 "所有參與者"

    3. 建立 Master 與 Slave 區段的連結:
        a. 於 Master 端:
            先點選 "Wireless MIDI Master" 區段,
            再點選目錄內的 "Wireless MIDI Slave",
            按下 "連線" 後, 可於右方的 "參與者" 看到 "Wireless MIDI Slave"

        b. 於 Slave 端:
            先點選 "Wireless MIDI Slave" 區段,
            再點選目錄內的 "Wireless MIDI Master",
            按下 "連線" 後, 可於右方的 "參與者" 看到 "Wireless MIDI Master"

-----------------------------------------------------------------------------------------------

C. Ableton Live 偏好設定:
    1. Master 端:
        將 Wireless MIDI Master 網路輸出的 Track, Sync, Remote 皆設成 On

        備註: 由於在此例 MIDI 訊號是由 Processing 程式送出, 因此關閉 Ableton Live ,
                  也可正常運作, 亦即不需要設定 Ableton Live (尚未驗證).

    2. Slave 端:
        將 Wireless MIDI Master 網路輸入的 Track, Sync, Remote 皆設成 On.

-----------------------------------------------------------------------------------------------

D. 音軌 Mapping:
     Slave 端:
     1. 拖拉一個 Drum Rack 到下方, 確認按鍵與位置的對應, 在此為:
          "A 鍵" 對應到 "C5" 位置.

     2. 將一個音效拖拉到剛剛 "C5" 的位置, 並按下 "A 鍵", 來確認是否有聽到聲音播放.

-----------------------------------------------------------------------------------------------

E. Processing 程式:
    1. MIDI Note Numbers Mappings

    說明: 由上表可查得 C5 對應到 Note Number 為: 84
    2. Master 端:
        開啟 Processing 轉寫程式如下:

import themidibus.*; //Import the MIDI library

MidiBus myBus; // The MidiBus

void setup() {
  size(400, 400);
  background(0);

  MidiBus.list();
  // Create a new MidiBus with no input device
  // and the "Wireless MIDI Master" as output device.

  myBus = new MidiBus(this, -1, "Wireless MIDI Master");
}

void draw() {
  int channel = 0; // 頻道: 0 ~ 15
  int pitch = 84; // 音調
  int velocity = 127; // 速度

  Note note = new Note(channel, pitch, velocity);
  myBus.sendNoteOn(note);
  delay(2000);
 
  myBus.sendNoteOff(note);

  int number = 0;
  int value = 120;
  ControlChange change = new ControlChange(channel, number, value);
  myBus.sendControllerChange(change); // Send a controllerChange
  delay(1000);
}

void delay(int time) {
  int current = millis();
  while (millis () < current+time) Thread.yield();
}



沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。