尚未收集仓库信息。
尚未检测到更新。GitHub 发布版本后会显示在这里。
Tools for Behringer X32 / Midas M32 consoles in Go: OSC console emulator, remote web GUI, show recording and replay.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Tools for Behringer X32 / Midas M32 digital consoles, in Go.
tabula-emu — a console emulator speaking the console's OSC protocol
(UDP 10023), to develop and test without a console. X32-Edit, M32-Edit and
other remote apps can connect to it. A read-only HTTP page shows what it
stores and every request it did not understand.tabula — a client that connects to a console or to the emulator and
serves a web GUI: mixer, channel details with headamps, routing, effects
with a graphic EQ and RTA, scenes and presets, every parameter, recording
and replay of shows (with the audio tracks of the console's USB card, see
recording). Read-only until you arm writes.See how the emulator simulates the console (audio flow, meters, RTA, effects, linked strips), the pages of the GUI and docs/PLAN.md for the roadmap.
tabula, the mixer of a show, with the names and colours of the console:
A channel, with its EQ curve and the RTA behind it, and a musician's in-ear mix on a phone:
tabula-emu, its debug page: the connected clients and their meter subscriptions, the requests it did not understand, and every parameter:
Early development. The parameter schema covers every node of a scene file and round-trips real scenes byte for byte.
Latest build of main (both programs, GUI included):
Linux x86-64 ·
Linux ARM64 ·
Linux ARM ·
macOS Apple silicon ·
macOS Intel ·
Windows.
Versioned releases: releases page.
Recording the audio tracks on macOS or Windows also needs
ffmpeg, next to tabula or on the PATH
(see Download).
go run ./cmd/tabula-emu -scene testdata/scenes/demo.scn -http :8032
Then point X32-Edit / M32-Edit at this machine's IP and open
http://localhost:8032 to see the state, the traffic and every request the
emulator did not handle. testdata/scenes/demo.scn is a real show with
made-up names. To have your own scenes in the console's scene slots, copy
them into var/library (git ignores var/) as scene-00.scn,
scene-01.scn… and add -library var/library. -usb testdata/usb puts a
USB stick in it, whose WAV files the console's player plays (silently).
To drive it (or a real console) from a browser:
make build # GUI (needs Node 22) + binaries in bin/
./bin/tabula -console 127.0.0.1 # or the console's IP; -http :8033 to reach it from a phone
and open http://localhost:8033. tabula starts read-only: arm writes (top right) to move faders on the console.
make build # cd web && npm ci && npm run build, then go build -o bin/ ./cmd/...
make test # go test ./... and the GUI tests (they run go run ./web/fixture: every page is rendered from the demo show)
make dev # emulator + tabula + Vite dev server with hot reload (http://localhost:5173)
The GUI lives in web/ (React, TypeScript, Vite) and is embedded in the
tabula binary; a plain go build without it serves a page saying so.
tabula -web-dir web/dist serves the GUI from that folder instead of the
one built in (a GUI just rebuilt, without rebuilding tabula).
Tabula is Latin for board or table — a mixing desk is a table de mixage.