teenage engineering
teenage engineering OP-1 field
teenage engineering OP-1 field 是 teenage engineering 的 MIDI 硬體控制器:24 個琴鍵、4 顆無段旋鈕、33 顆按鈕。
它在 頻道 1 送出 CC、音符,設定檔引用了 2 份出處。 沒有任何控制項被標為未確認。
- 原廠文件
- 社群整理
- 類型
- 硬體裝置
- 廠牌
- teenage engineering
- 控制項
- 61 個控制項
- 訊息種類
- CC · 音符
- MIDI 頻道
- 1
- LED 回饋
- 不會送出
- 訊號
midi/op1field/…- 埠名稱比對
/\bop-?1\b/i
拖曳旋鈕和推桿 · 點打擊墊和琴鍵 · 或接上真機按「接上」。除非你加了 MIDI 輸出,否則什麼都不會送出去。
MIDI 實作表
teenage engineering OP-1 field 每個控制項送出什麼
直接從設定檔產生,跟畫面上彈的是同一張表。頻道是 1–16,編號是真正的 MIDI 編號。
| 控制項 | 類型 | 訊息 | 頻道 | 編號 | 訊號 | LED 回饋 | 已確認 |
|---|---|---|---|---|---|---|---|
enc1 |
無段旋鈕 | CC · 絕對值 | 1 | 1 | midi/op1field/enc1 |
— | 是 |
enc2 |
無段旋鈕 | CC · 絕對值 | 1 | 2 | midi/op1field/enc2 |
— | 是 |
enc3 |
無段旋鈕 | CC · 絕對值 | 1 | 3 | midi/op1field/enc3 |
— | 是 |
enc4 |
無段旋鈕 | CC · 絕對值 | 1 | 4 | midi/op1field/enc4 |
— | 是 |
push1 |
按鈕 | CC · 按住 | 1 | 66 | midi/op1field/push1 |
— | 是 |
push2 |
按鈕 | CC · 按住 | 1 | 67 | midi/op1field/push2 |
— | 是 |
push3 |
按鈕 | CC · 按住 | 1 | 68 | midi/op1field/push3 |
— | 是 |
push4 |
按鈕 | CC · 按住 | 1 | 69 | midi/op1field/push4 |
— | 是 |
? help |
按鈕 | CC · 按住 | 1 | 5 | midi/op1field/help |
— | 是 |
♩ metronome |
按鈕 | CC · 按住 | 1 | 6 | midi/op1field/metronome |
— | 是 |
↗ input |
按鈕 | CC · 按住 | 1 | 48 | midi/op1field/input |
— | 是 |
com |
按鈕 | CC · 按住 | 1 | 49 | midi/op1field/com |
— | 是 |
∿∿ synth |
按鈕 | CC · 按住 | 1 | 7 | midi/op1field/synth |
— | 是 |
◉ drum |
按鈕 | CC · 按住 | 1 | 8 | midi/op1field/drum |
— | 是 |
ꝏ tape |
按鈕 | CC · 按住 | 1 | 9 | midi/op1field/tape |
— | 是 |
ılı mixer |
按鈕 | CC · 按住 | 1 | 10 | midi/op1field/mixer |
— | 是 |
1 t1 |
按鈕 | CC · 按住 | 1 | 11 | midi/op1field/t1 |
— | 是 |
2 t2 |
按鈕 | CC · 按住 | 1 | 12 | midi/op1field/t2 |
— | 是 |
3 t3 |
按鈕 | CC · 按住 | 1 | 13 | midi/op1field/t3 |
— | 是 |
4 t4 |
按鈕 | CC · 按住 | 1 | 14 | midi/op1field/t4 |
— | 是 |
1 in k1 |
按鈕 | CC · 按住 | 1 | 50 | midi/op1field/k1 |
— | 是 |
2 out k2 |
按鈕 | CC · 按住 | 1 | 51 | midi/op1field/k2 |
— | 是 |
3 ↺ k3 |
按鈕 | CC · 按住 | 1 | 52 | midi/op1field/k3 |
— | 是 |
4 ꝏ k4 |
按鈕 | CC · 按住 | 1 | 21 | midi/op1field/k4 |
— | 是 |
5 я k5 |
按鈕 | CC · 按住 | 1 | 22 | midi/op1field/k5 |
— | 是 |
6 ⋯ k6 |
按鈕 | CC · 按住 | 1 | 23 | midi/op1field/k6 |
— | 是 |
7 m1 k7 |
按鈕 | CC · 按住 | 1 | 24 | midi/op1field/k7 |
— | 是 |
8 m2 k8 |
按鈕 | CC · 按住 | 1 | 25 | midi/op1field/k8 |
— | 是 |
⋰ seq |
按鈕 | CC · 按住 | 1 | 26 | midi/op1field/seq |
— | 是 |
⤒ lift |
按鈕 | CC · 按住 | 1 | 15 | midi/op1field/lift |
— | 是 |
⤓ drop |
按鈕 | CC · 按住 | 1 | 16 | midi/op1field/drop |
— | 是 |
✂ split |
按鈕 | CC · 按住 | 1 | 17 | midi/op1field/split |
— | 是 |
● rec |
按鈕 | CC · 按住 | 1 | 38 | midi/op1field/rec |
— | 是 |
▶ play |
按鈕 | CC · 按住 | 1 | 39 | midi/op1field/play |
— | 是 |
■ stop |
按鈕 | CC · 按住 | 1 | 40 | midi/op1field/stop |
— | 是 |
← left |
按鈕 | CC · 按住 | 1 | 41 | midi/op1field/left |
— | 是 |
→ right |
按鈕 | CC · 按住 | 1 | 42 | midi/op1field/right |
— | 是 |
Keys keys |
琴鍵 | 音符 · 力度 | 1 | 53–76(F3–E5) | midi/op1field/keys/on · midi/op1field/keys/off · midi/op1field/n53…n76 |
— | 是 |
這一台還沒有寫 LED 回饋,OAV 不會讓它的燈亮,但每個控制項照樣可以彈、照樣送出各自的訊息。
個別控制項的說明
enc1CC 1, tested on hardware: absolute 0–127 (the unit's CTRL page has encoders set to absolute). Set to relative, the original OP-1 is reported to send 1 per step right and 127 per step left: change relative to "twos".enc2CC 2, tested on hardware: absolute 0–127 (the unit's CTRL page has encoders set to absolute). Set to relative, the original OP-1 is reported to send 1 per step right and 127 per step left: change relative to "twos".enc3CC 3, tested on hardware: absolute 0–127 (the unit's CTRL page has encoders set to absolute). Set to relative, the original OP-1 is reported to send 1 per step right and 127 per step left: change relative to "twos".enc4CC 4, tested on hardware: absolute 0–127 (the unit's CTRL page has encoders set to absolute). Set to relative, the original OP-1 is reported to send 1 per step right and 127 per step left: change relative to "twos".push1Pressing the blue encoder, tested on hardware: CC 66, 127 while held, 0 on release. On release the unit also sends a one-off CC 59 127/0 pulse, not modelled.push2Pressing the ochre encoder, tested on hardware: CC 67, 127 while held, 0 on release. On release the unit also sends a one-off CC 60 127/0 pulse, not modelled.push3Pressing the gray encoder, tested on hardware: CC 68, 127 while held, 0 on release. On release the unit also sends a one-off CC 61 127/0 pulse, not modelled.push4Pressing the orange encoder, tested on hardware: CC 69, 127 while held, 0 on release. On release the unit also sends a one-off CC 62 127/0 pulse, not modelled.keysTested on hardware: the 24 keys run F3 (53) to E5 (76) at the default octave, velocity was 127 on every press in the test. Keys follow any note on the channel, so octave shifts just scroll the on-screen keys.
出處
- 原廠 OP-1 field user guide, fw 1.7 (teenage engineering)CTRL mode (shift + COM → T2) turns the unit into a controller; control MIDI channel settable 1–16; encoders send relative or absolute (unit setting); MIDI over USB and Bluetooth LE; the field's encoders are blue, ochre, gray and orange
- 社群 Support for Teenage Engineering OP-1 — Zynthian forum (non-official)community report for the original OP-1: encoders = CC 1–4 (blue, green, white, orange on the original — blue, ochre, gray, orange on the field — in the MIDI log's column order), relative 1 = right, 127 = left; encoder push = CC 64–67, 127 press / 0 release. On the tested OP-1 field the encoders matched (CC 1–4); its pushes send CC 66–69 instead
說明
Before anything is sent: COM → T1 sys → midi, set NOTES and OTHER to OUT (both were OFF on the unit this was tested on, and CTRL mode sent nothing until they were set). Then CTRL mode: shift + COM → T2. Tested over USB on an OP-1 field. Its MIDI port is named just "OP-1" (macOS, USB 2367:8102), so the port match cannot tell it from the original OP-1. Control channel 1 (settable 1–16 on the CTRL page; use the element's channel attribute if yours differs). Every control was pressed once on the tested unit: encoders CC 1–4 (absolute as tested; the CTRL page can switch them to relative), encoder pushes CC 66–69, T1–T4 CC 11–14, help 5, metronome 6, synth/drum/tape/mixer 7–10, lift/drop/scissors 15–17, keys 1–3 CC 50–52, keys 4–8 CC 21–25, sequencer 26, record/play/stop 38–40, input 48, COM 49, ← → 41–42 (with OCTAVE off) — all 127 press / 0 release. Hold shift on the CTRL page for its settings: MIDI CH, KNOBS (abs/rel) and OCTAVE. With OCTAVE on, the ← → arrows shift the keyboard an octave and send nothing; turn it off to use them as CC 41/42. Shift and the volume knob send nothing (both tested): they are drawn, not mapped. On screen, tap a knob's centre to press it and drag its ring to turn it. The faceplate follows the top view in TE's user guide. No LED feedback.
認得的埠名稱
- 比對
/\bop-?1\b/i
訊號
每個控制項都會發出 midi/op1field/<控制項>(0..1)和 /raw。打擊墊多一個 /hit,無段旋鈕多 /delta,琴鍵有 /on、/off 和 n<音高>。最後動到的那個控制項是 midi/op1field/last。
用起來
把 teenage engineering OP-1 field 用在你的作品裡
一行嵌入
不用 import map,也不用建置。可以改
layout,加上hardware="ask"就有「接上」按鈕。<script type="module" src="https://openaudiovisual.com/packages/midi/element.js"></script> <oav-controller profile="teenage-engineering-op-1-field" readout></oav-controller>或用 iframe
給只能貼 iframe 的地方。每個事件都以
postMessage傳回來。<iframe src="https://openaudiovisual.com/embed/controller/?profile=teenage-engineering-op-1-field&readout" width="720" height="281" style="border:0;max-width:100%" allow="midi" title="OP-1 field"></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>送進 Ableton、TouchDesigner、Resolume
你在畫面上彈的,會變成真正的 MIDI,從 macOS 的 IAC 匯流排或 Windows 的 loopMIDI 埠送出。步驟在圖鑑頁。
<!-- 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="teenage-engineering-op-1-field" 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=teenage-engineering-op-1-field,畫面上的控制器就是這一台;真的 teenage engineering OP-1 field 接上時,會依埠名稱自動認出來。
document.head.prepend(Object.assign(document.createElement('script'), { src: 'https://openaudiovisual.com/p5/oav-p5.js?profile=teenage-engineering-op-1-field' }));| 在草稿裡 | 控制項 | 訊息 |
|---|---|---|
notePressed(note, velocity) | 53–76(F3–E5) | 琴鍵按下 |
function draw() {
background(20);
}
function notePressed(note, velocity) { // a key goes down
circle(random(width), random(height), velocity * 100);
}無段旋鈕、按鈕、滾輪和觸控條沒有編號:用 midi.cc[編號] 讀(編號見上面的表),或寫 controlChange(cc, value, ch) 接。
找不到
沒有你那台?
開一張 issue,寫廠牌型號、手上有沒有這台、手冊的連結。也可以自己寫設定檔,它就是一個 JSON 檔。
GitHub
這台的資料有錯嗎?
這一頁的每個數字都來自一個 JSON 檔。如果跟你的機器或手冊對不上,告訴我們你查的是哪個韌體版本,我們就改檔案。