open-audiovisual
搜尋 GitHub

AKAI Professional

AKAI LPD8 (mk2)

AKAI LPD8 (mk2) 是 AKAI Professional 的 MIDI 硬體控制器:8 個打擊墊、8 顆旋鈕。

它在 頻道 1、10 送出 音符、CC,設定檔引用了 4 份出處。 其中 8 個控制項標了未確認:數字是照目前出處的最佳判讀,按「學習」一次就能重新對應。

  • 原廠文件
  • 作者的 TouchDesigner 工具
  • 社群整理
  • 8 個未確認
類型
硬體裝置
廠牌
AKAI Professional
控制項
16 個控制項
訊息種類
音符 · CC
MIDI 頻道
1, 10
LED 回饋
不會送出
訊號
midi/lpd8/…
埠名稱比對
/lpd\s*8/i
AKAI LPD8PADSKNOBSK1K2K3K4K5K6K7K8

在畫面上彈 AKAI LPD8 (mk2) 全螢幕 ↗ 原始 JSON ↗ 全部控制器

拖曳旋鈕和推桿 · 點打擊墊和琴鍵 · 或接上真機按「接上」。除非你加了 MIDI 輸出,否則什麼都不會送出去。

MIDI 實作表

AKAI LPD8 (mk2) 每個控制項送出什麼

直接從設定檔產生,跟畫面上彈的是同一張表。頻道是 1–16,編號是真正的 MIDI 編號。

AKAI LPD8 (mk2) 的 MIDI 實作表
控制項類型訊息頻道編號訊號LED 回饋已確認
Pad 1 pad1 打擊墊 音符 · 力度 10 36 · C2 midi/lpd8/pad1 — 未確認
Pad 2 pad2 打擊墊 音符 · 力度 10 37 · C#2 midi/lpd8/pad2 — 未確認
Pad 3 pad3 打擊墊 音符 · 力度 10 38 · D2 midi/lpd8/pad3 — 未確認
Pad 4 pad4 打擊墊 音符 · 力度 10 39 · D#2 midi/lpd8/pad4 — 未確認
Pad 5 pad5 打擊墊 音符 · 力度 10 40 · E2 midi/lpd8/pad5 — 未確認
Pad 6 pad6 打擊墊 音符 · 力度 10 41 · F2 midi/lpd8/pad6 — 未確認
Pad 7 pad7 打擊墊 音符 · 力度 10 42 · F#2 midi/lpd8/pad7 — 未確認
Pad 8 pad8 打擊墊 音符 · 力度 10 43 · G2 midi/lpd8/pad8 — 未確認
K1 k1 旋鈕 CC 1 70 midi/lpd8/k1 — 是
K2 k2 旋鈕 CC 1 71 midi/lpd8/k2 — 是
K3 k3 旋鈕 CC 1 72 midi/lpd8/k3 — 是
K4 k4 旋鈕 CC 1 73 midi/lpd8/k4 — 是
K5 k5 旋鈕 CC 1 74 midi/lpd8/k5 — 是
K6 k6 旋鈕 CC 1 75 midi/lpd8/k6 — 是
K7 k7 旋鈕 CC 1 76 midi/lpd8/k7 — 是
K8 k8 旋鈕 CC 1 77 midi/lpd8/k8 — 是

這一台還沒有寫 LED 回饋,OAV 不會讓它的燈亮,但每個控制項照樣可以彈、照樣送出各自的訊息。

出處

這個設定檔從哪裡來

Che-Yu Wu's TouchDesigner tool: MIDI In (Device ID + Active toggle) → select ch10n* → Pad1–8, select ch1ctrl* → K1–K8, math 0..127 → 0..1, bound both ways to custom parameters (Pads page: 8 momentary pulses, Knobs page: 8 floats) and to an 800×200 panel (pads left, knobs right). TouchDesigner's MIDI In CHOP names channels 1-based (ch1ctrl75 = CC 74, ch10n37 = note 36); the numbers here are real MIDI numbers. AKAI_LPD8.tox

說明

Pad note numbers are the common program-1 layout (36–43) but not printed in the manual — pads are marked unverified; 學習 rebinds them in one tap each. The pads light themselves; no LED feedback is sent.

認得的埠名稱

比對
/lpd\s*8/i

訊號

每個控制項都會發出 midi/lpd8/<控制項>(0..1)和 /raw。打擊墊多一個 /hit,無段旋鈕多 /delta,琴鍵有 /on、/off 和 n<音高>。最後動到的那個控制項是 midi/lpd8/last。

用起來

把 AKAI LPD8 (mk2) 用在你的作品裡

  1. 一行嵌入

    不用 import map,也不用建置。可以改 layout,加上 hardware="ask" 就有「接上」按鈕。

    html
    <script type="module" src="https://openaudiovisual.com/packages/midi/element.js"></script>
    <oav-controller profile="akai-lpd8" readout></oav-controller>
  2. 或用 iframe

    給只能貼 iframe 的地方。每個事件都以 postMessage 傳回來。

    html
    <iframe src="https://openaudiovisual.com/embed/controller/?profile=akai-lpd8&readout"
            width="720" height="216" style="border:0;max-width:100%" allow="midi"
            title="AKAI LPD8 (mk2)"></iframe>
    <script>
      // every control the visitor plays arrives here
      addEventListener('message', (e) => {
        if (e.data?.source !== 'openav' || e.data.type !== 'control') return;
        console.log(e.data.detail.signal, e.data.detail.value);
      });
    </script>
  3. 送進 Ableton、TouchDesigner、Resolume

    你在畫面上彈的,會變成真正的 MIDI,從 macOS 的 IAC 匯流排或 Windows 的 loopMIDI 埠送出。步驟在圖鑑頁。

    html
    <!-- what you play on this controller → the IAC bus (macOS) → Ableton, TouchDesigner, Resolume -->
    <script type="module" src="https://openaudiovisual.com/packages/midi/element.js"></script>
    <oav-controller profile="akai-lpd8" midi-out="IAC" readout></oav-controller>
    <!-- Windows: midi-out="loopMIDI" · let the visitor pick a port: midi-out="ask" -->

    macOS:音訊 MIDI 設定 → MIDI 工作室 → IAC 驅動程式 → 勾「裝置在線上」。Windows 11:內建的 Windows MIDI Services 有 loopback(我們沒有實測);舊版 Windows:安裝 loopMIDI、新增一個埠,用 midi-out="loopMIDI"。

在 p5.js 裡,只要一行

一行注入會依這份設定檔裡的順序(也就是上面表格的順序)替旋鈕、推桿和打擊墊編號。網址加上 ?profile=akai-lpd8,畫面上的控制器就是這一台;真的 AKAI LPD8 (mk2) 接上時,會依埠名稱自動認出來。

javascript
document.head.prepend(Object.assign(document.createElement('script'), { src: 'https://openaudiovisual.com/p5/oav-p5.js?profile=akai-lpd8' }));
在草稿裡控制項訊息
knob1K1 k1CC 70 · 頻道 1
knob2K2 k2CC 71 · 頻道 1
knob3K3 k3CC 72 · 頻道 1
knob4K4 k4CC 73 · 頻道 1
knob5K5 k5CC 74 · 頻道 1
knob6K6 k6CC 75 · 頻道 1
knob7K7 k7CC 76 · 頻道 1
knob8K8 k8CC 77 · 頻道 1
pad1Pad 1 pad1音符 36 · C2 · 頻道 10
pad2Pad 2 pad2音符 37 · C#2 · 頻道 10
pad3Pad 3 pad3音符 38 · D2 · 頻道 10
pad4Pad 4 pad4音符 39 · D#2 · 頻道 10
pad5Pad 5 pad5音符 40 · E2 · 頻道 10
pad6Pad 6 pad6音符 41 · F2 · 頻道 10
pad7Pad 7 pad7音符 42 · F#2 · 頻道 10
pad8Pad 8 pad8音符 43 · G2 · 頻道 10
p5.js 草稿
function draw() {
  background(knob1 * 255);   // K1 · CC 70
  circle(width / 2, height / 2, 50 + knob2 * 300);   // K2 · CC 71
}

function padPressed(n, velocity) {      // n = 1…8, as in the table
  circle(random(width), random(height), velocity * 100);
}

p5.js 完整說明 →

找不到

沒有你那台?

開一張 issue,寫廠牌型號、手上有沒有這台、手冊的連結。也可以自己寫設定檔,它就是一個 JSON 檔。

GitHub

這台的資料有錯嗎?

這一頁的每個數字都來自一個 JSON 檔。如果跟你的機器或手冊對不上,告訴我們你查的是哪個韌體版本,我們就改檔案。