open-audiovisual
搜尋 GitHub

Arturia

Arturia BeatStep

Arturia BeatStep 是 Arturia 的 MIDI 硬體控制器:16 個打擊墊、16 顆無段旋鈕。

它在 頻道 1 送出 CC、音符,設定檔引用了 3 份出處。 沒有任何控制項被標為未確認。

  • 原廠文件
  • 社群整理
類型
硬體裝置
廠牌
Arturia
控制項
32 個控制項
訊息種類
CC · 音符
MIDI 頻道
1
LED 回饋
不會送出
訊號
midi/beatstep/…
埠名稱比對
/beatstep(?!\s*pro)/i
LEVEL · RATE■▶CNTRL/SEQEXT SYNCRECALLSTORESHIFTCHAN12345678910111213141516

在畫面上彈 Arturia BeatStep 全螢幕 ↗ 原始 JSON ↗ 全部控制器

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

MIDI 實作表

Arturia BeatStep 每個控制項送出什麼

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

Arturia BeatStep 的 MIDI 實作表
控制項類型訊息頻道編號訊號LED 回饋已確認
1 e1 無段旋鈕 CC · 絕對值 1 7 midi/beatstep/e1 — 是
2 e2 無段旋鈕 CC · 絕對值 1 74 midi/beatstep/e2 — 是
3 e3 無段旋鈕 CC · 絕對值 1 71 midi/beatstep/e3 — 是
4 e4 無段旋鈕 CC · 絕對值 1 76 midi/beatstep/e4 — 是
5 e5 無段旋鈕 CC · 絕對值 1 77 midi/beatstep/e5 — 是
6 e6 無段旋鈕 CC · 絕對值 1 93 midi/beatstep/e6 — 是
7 e7 無段旋鈕 CC · 絕對值 1 73 midi/beatstep/e7 — 是
8 e8 無段旋鈕 CC · 絕對值 1 75 midi/beatstep/e8 — 是
9 e9 無段旋鈕 CC · 絕對值 1 114 midi/beatstep/e9 — 是
10 e10 無段旋鈕 CC · 絕對值 1 18 midi/beatstep/e10 — 是
11 e11 無段旋鈕 CC · 絕對值 1 19 midi/beatstep/e11 — 是
12 e12 無段旋鈕 CC · 絕對值 1 16 midi/beatstep/e12 — 是
13 e13 無段旋鈕 CC · 絕對值 1 17 midi/beatstep/e13 — 是
14 e14 無段旋鈕 CC · 絕對值 1 91 midi/beatstep/e14 — 是
15 e15 無段旋鈕 CC · 絕對值 1 79 midi/beatstep/e15 — 是
16 e16 無段旋鈕 CC · 絕對值 1 72 midi/beatstep/e16 — 是
1 pad1 打擊墊 音符 · 力度 1 44 · G#2 midi/beatstep/pad1 — 是
2 pad2 打擊墊 音符 · 力度 1 45 · A2 midi/beatstep/pad2 — 是
3 pad3 打擊墊 音符 · 力度 1 46 · A#2 midi/beatstep/pad3 — 是
4 pad4 打擊墊 音符 · 力度 1 47 · B2 midi/beatstep/pad4 — 是
5 pad5 打擊墊 音符 · 力度 1 48 · C3 midi/beatstep/pad5 — 是
6 pad6 打擊墊 音符 · 力度 1 49 · C#3 midi/beatstep/pad6 — 是
7 pad7 打擊墊 音符 · 力度 1 50 · D3 midi/beatstep/pad7 — 是
8 pad8 打擊墊 音符 · 力度 1 51 · D#3 midi/beatstep/pad8 — 是
9 pad9 打擊墊 音符 · 力度 1 36 · C2 midi/beatstep/pad9 — 是
10 pad10 打擊墊 音符 · 力度 1 37 · C#2 midi/beatstep/pad10 — 是
11 pad11 打擊墊 音符 · 力度 1 38 · D2 midi/beatstep/pad11 — 是
12 pad12 打擊墊 音符 · 力度 1 39 · D#2 midi/beatstep/pad12 — 是
13 pad13 打擊墊 音符 · 力度 1 40 · E2 midi/beatstep/pad13 — 是
14 pad14 打擊墊 音符 · 力度 1 41 · F2 midi/beatstep/pad14 — 是
15 pad15 打擊墊 音符 · 力度 1 42 · F#2 midi/beatstep/pad15 — 是
16 pad16 打擊墊 音符 · 力度 1 43 · G2 midi/beatstep/pad16 — 是

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

出處

說明

CNTRL mode (red pads) with the factory preset, Global channel 1. The big Level/Rate encoder is not modelled: the manual's default table does not list it (it "controls the master level by default"); if it also sends CC 7 it will move encoder 1 on screen. STOP / PLAY send MMC SysEx and are not modelled (SysEx stays off). SEQ mode plays the step sequencer on the sequencer channel instead — not modelled. The encoders are endless but send absolute values in the default preset. Pad pressure: poly aftertouch is followed automatically if the unit sends it. The original BeatStep only — the BeatStep Pro is a different device and is not matched.

認得的埠名稱

比對
/beatstep(?!\s*pro)/i
避開
/pro/i

訊號

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

用起來

把 Arturia BeatStep 用在你的作品裡

  1. 一行嵌入

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

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

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

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

javascript
document.head.prepend(Object.assign(document.createElement('script'), { src: 'https://openaudiovisual.com/p5/oav-p5.js?profile=arturia-beatstep' }));
在草稿裡控制項訊息
pad11 pad1音符 44 · G#2 · 頻道 1
pad22 pad2音符 45 · A2 · 頻道 1
pad33 pad3音符 46 · A#2 · 頻道 1
pad44 pad4音符 47 · B2 · 頻道 1
pad55 pad5音符 48 · C3 · 頻道 1
pad66 pad6音符 49 · C#3 · 頻道 1
pad77 pad7音符 50 · D3 · 頻道 1
pad88 pad8音符 51 · D#3 · 頻道 1
pad99 pad9音符 36 · C2 · 頻道 1
pad1010 pad10音符 37 · C#2 · 頻道 1
pad1111 pad11音符 38 · D2 · 頻道 1
pad1212 pad12音符 39 · D#2 · 頻道 1
pad1313 pad13音符 40 · E2 · 頻道 1
pad1414 pad14音符 41 · F2 · 頻道 1
pad1515 pad15音符 42 · F#2 · 頻道 1
pad1616 pad16音符 43 · G2 · 頻道 1
p5.js 草稿
function draw() {
  background(20);
}

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

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

p5.js 完整說明 →

找不到

沒有你那台?

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

GitHub

這台的資料有錯嗎?

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