open-audiovisual
搜尋 GitHub

AKAI Professional

AKAI MPK mini mk3

AKAI MPK mini mk3 是 AKAI Professional 的 MIDI 硬體控制器:8 個打擊墊、25 個琴鍵、8 顆旋鈕、2 個滾輪。

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

  • 原廠文件
  • 社群整理
  • 25 個未確認
類型
硬體裝置
廠牌
AKAI Professional
控制項
43 個控制項
訊息種類
彎音 · CC · 音符
MIDI 頻道
1, 10
LED 回饋
不會送出
訊號
midi/mpkmini3/…
埠名稱比對
/mpk\s*mini\s*(3|mk\s*3|mkiii)/i
MPK MINIPGM:MPCBank A/BCCProg ChgProg SelArpTapOct−Oct+FullRepeatBendModK1K2K3K4K5K6K7K8

在畫面上彈 AKAI MPK mini mk3 全螢幕 ↗ 原始 JSON ↗ 全部控制器

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

MIDI 實作表

AKAI MPK mini mk3 每個控制項送出什麼

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

AKAI MPK mini mk3 的 MIDI 實作表
控制項類型訊息頻道編號訊號LED 回饋已確認
Bend bend 滾輪 彎音 · 放開回中央 1 0–16383 · 中央 8192 midi/mpkmini3/bend — 是
Mod mod 滾輪 CC · 放開回中央 1 1 midi/mpkmini3/mod — 是
K1 k1 旋鈕 CC 1 70 midi/mpkmini3/k1 — 是
K2 k2 旋鈕 CC 1 71 midi/mpkmini3/k2 — 是
K3 k3 旋鈕 CC 1 72 midi/mpkmini3/k3 — 是
K4 k4 旋鈕 CC 1 73 midi/mpkmini3/k4 — 是
K5 k5 旋鈕 CC 1 74 midi/mpkmini3/k5 — 是
K6 k6 旋鈕 CC 1 75 midi/mpkmini3/k6 — 是
K7 k7 旋鈕 CC 1 76 midi/mpkmini3/k7 — 是
K8 k8 旋鈕 CC 1 77 midi/mpkmini3/k8 — 是
1 pad1 打擊墊 音符 · 力度 · +通道觸後 10 36 · C2 midi/mpkmini3/pad1 — 是
2 pad2 打擊墊 音符 · 力度 · +通道觸後 10 37 · C#2 midi/mpkmini3/pad2 — 是
3 pad3 打擊墊 音符 · 力度 · +通道觸後 10 38 · D2 midi/mpkmini3/pad3 — 是
4 pad4 打擊墊 音符 · 力度 · +通道觸後 10 39 · D#2 midi/mpkmini3/pad4 — 是
5 pad5 打擊墊 音符 · 力度 · +通道觸後 10 40 · E2 midi/mpkmini3/pad5 — 是
6 pad6 打擊墊 音符 · 力度 · +通道觸後 10 41 · F2 midi/mpkmini3/pad6 — 是
7 pad7 打擊墊 音符 · 力度 · +通道觸後 10 42 · F#2 midi/mpkmini3/pad7 — 是
8 pad8 打擊墊 音符 · 力度 · +通道觸後 10 43 · G2 midi/mpkmini3/pad8 — 是
Keys keys 琴鍵 音符 · 力度 1 48–72(C3–C5) midi/mpkmini3/keys/on · midi/mpkmini3/keys/off · midi/mpkmini3/n48…n72 — 未確認

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

個別控制項的說明

出處

說明

Program 1 ("PGM:MPC", loaded at power-on), pads in Note mode, Bank A. Bank B (notes 44–51) and the CC (16–31) / Prog Change (0–15) pad modes re-use the same 8 pads — a layer the faceplate cannot show, so they are not modelled (學習 rebinds; they still arrive as midi/ch/10/…). The knobs are endless but send absolute 0–127 (the unit keeps the value). The joystick is drawn as two strips: X = pitch bend (springs to centre), Y = CC 1 rising from 0 whichever way you push it ("Dual CC", springs back to 0). Pad pressure arrives as channel aftertouch on channel 10. Arp, Tap Tempo, Octave, Full Level, Note Repeat, Bank, CC, Prog Change and Prog Select act inside the unit and send nothing of their own. The pads light themselves; no LED feedback is sent.

認得的埠名稱

比對
/mpk\s*mini\s*(3|mk\s*3|mkiii)/i

訊號

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

用起來

把 AKAI MPK mini mk3 用在你的作品裡

  1. 一行嵌入

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

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

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

    html
    <iframe src="https://openaudiovisual.com/embed/controller/?profile=akai-mpk-mini-mk3&readout"
            width="720" height="432" style="border:0;max-width:100%" allow="midi"
            title="AKAI MPK mini mk3"></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-mpk-mini-mk3" 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-mpk-mini-mk3,畫面上的控制器就是這一台;真的 AKAI MPK mini mk3 接上時,會依埠名稱自動認出來。

javascript
document.head.prepend(Object.assign(document.createElement('script'), { src: 'https://openaudiovisual.com/p5/oav-p5.js?profile=akai-mpk-mini-mk3' }));
在草稿裡控制項訊息
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
pad11 pad1音符 36 · C2 · 頻道 10
pad22 pad2音符 37 · C#2 · 頻道 10
pad33 pad3音符 38 · D2 · 頻道 10
pad44 pad4音符 39 · D#2 · 頻道 10
pad55 pad5音符 40 · E2 · 頻道 10
pad66 pad6音符 41 · F2 · 頻道 10
pad77 pad7音符 42 · F#2 · 頻道 10
pad88 pad8音符 43 · G2 · 頻道 10
notePressed(note, velocity)48–72(C3–C5)琴鍵按下
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);
}

function notePressed(note, velocity) {   // a key goes down
  circle(random(width), random(height), velocity * 100);
}

無段旋鈕、按鈕、滾輪和觸控條沒有編號:用 midi.cc[編號] 讀(編號見上面的表),或寫 controlChange(cc, value, ch) 接。

p5.js 完整說明 →

找不到

沒有你那台?

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

GitHub

這台的資料有錯嗎?

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